Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .release.json
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
{
"source": {
"repo_url": "https://github.com/onfido/onfido-openapi-spec",
"short_sha": "4b15a26",
"long_sha": "4b15a26d432dcb9c3788cece0a46b5157b2e8b99",
"version": "v5.1.0"
"short_sha": "7e25a63",
"long_sha": "7e25a6309b60d2433a634d4dbde59f589b0468ec",
"version": "v5.2.0"
},
"release": "v5.1.0"
"release": "v5.2.0"
}
4 changes: 3 additions & 1 deletion onfido/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
""" # noqa: E501


__version__ = "5.1.0"
__version__ = "5.2.0"

# import apis into sdk package
from onfido.api.default_api import DefaultApi
Expand Down Expand Up @@ -242,6 +242,8 @@
from onfido.models.repeat_attempts_list import RepeatAttemptsList
from onfido.models.repeat_attempts_list_repeat_attempts_inner import RepeatAttemptsListRepeatAttemptsInner
from onfido.models.report import Report
from onfido.models.report_configuration import ReportConfiguration
from onfido.models.report_configuration_facial_similarity import ReportConfigurationFacialSimilarity
from onfido.models.report_document import ReportDocument
from onfido.models.report_name import ReportName
from onfido.models.report_result import ReportResult
Expand Down
2 changes: 1 addition & 1 deletion onfido/api_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -90,7 +90,7 @@ def __init__(
self.default_headers[header_name] = header_value
self.cookie = cookie
# Set default User-Agent.
self.user_agent = 'onfido-python/5.1.0'
self.user_agent = 'onfido-python/5.2.0'
self.client_side_validation = configuration.client_side_validation

def __enter__(self):
Expand Down
2 changes: 1 addition & 1 deletion onfido/configuration.py
Original file line number Diff line number Diff line change
Expand Up @@ -501,7 +501,7 @@ def to_debug_report(self) -> str:
"OS: {env}\n"\
"Python Version: {pyversion}\n"\
"Version of the API: v3.6\n"\
"SDK Package Version: 5.1.0".\
"SDK Package Version: 5.2.0".\
format(env=sys.platform, pyversion=sys.version)

def get_host_settings(self) -> List[HostSetting]:
Expand Down
2 changes: 2 additions & 0 deletions onfido/models/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,8 @@
from onfido.models.repeat_attempts_list import RepeatAttemptsList
from onfido.models.repeat_attempts_list_repeat_attempts_inner import RepeatAttemptsListRepeatAttemptsInner
from onfido.models.report import Report
from onfido.models.report_configuration import ReportConfiguration
from onfido.models.report_configuration_facial_similarity import ReportConfigurationFacialSimilarity
from onfido.models.report_document import ReportDocument
from onfido.models.report_name import ReportName
from onfido.models.report_result import ReportResult
Expand Down
10 changes: 8 additions & 2 deletions onfido/models/check_builder.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from onfido.models.report_configuration import ReportConfiguration
from onfido.models.report_name import ReportName
from onfido.models.us_driving_licence_builder import UsDrivingLicenceBuilder
from typing import Optional, Set
Expand All @@ -41,8 +42,9 @@ class CheckBuilder(BaseModel):
sub_result: Optional[StrictStr] = Field(default=None, description="Triggers responses for particular sub-results for sandbox Document reports.")
consider: Optional[List[ReportName]] = Field(default=None, description="Array of names of particular reports to return consider as their results. This is a feature available in sandbox testing")
us_driving_licence: Optional[UsDrivingLicenceBuilder] = None
report_configuration: Optional[ReportConfiguration] = None
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["webhook_ids", "applicant_id", "applicant_provides_data", "tags", "redirect_uri", "privacy_notices_read_consent_given", "report_names", "document_ids", "asynchronous", "suppress_form_emails", "sub_result", "consider", "us_driving_licence"]
__properties: ClassVar[List[str]] = ["webhook_ids", "applicant_id", "applicant_provides_data", "tags", "redirect_uri", "privacy_notices_read_consent_given", "report_names", "document_ids", "asynchronous", "suppress_form_emails", "sub_result", "consider", "us_driving_licence", "report_configuration"]

model_config = ConfigDict(
populate_by_name=True,
Expand Down Expand Up @@ -88,6 +90,9 @@ def to_dict(self) -> Dict[str, Any]:
# override the default output from pydantic by calling `to_dict()` of us_driving_licence
if self.us_driving_licence:
_dict['us_driving_licence'] = self.us_driving_licence.to_dict()
# override the default output from pydantic by calling `to_dict()` of report_configuration
if self.report_configuration:
_dict['report_configuration'] = self.report_configuration.to_dict()
# puts key-value pairs in additional_properties in the top level
if self.additional_properties is not None:
for _key, _value in self.additional_properties.items():
Expand Down Expand Up @@ -117,7 +122,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"suppress_form_emails": obj.get("suppress_form_emails"),
"sub_result": obj.get("sub_result"),
"consider": obj.get("consider"),
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None,
"report_configuration": ReportConfiguration.from_dict(obj["report_configuration"]) if obj.get("report_configuration") is not None else None
})
# store additional fields in additional_properties
for _key in obj.keys():
Expand Down
10 changes: 8 additions & 2 deletions onfido/models/check_request.py
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@

from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
from typing import Any, ClassVar, Dict, List, Optional
from onfido.models.report_configuration import ReportConfiguration
from onfido.models.report_name import ReportName
from onfido.models.us_driving_licence_builder import UsDrivingLicenceBuilder
from typing import Optional, Set
Expand All @@ -36,8 +37,9 @@ class CheckRequest(BaseModel):
sub_result: Optional[StrictStr] = Field(default=None, description="Triggers responses for particular sub-results for sandbox Document reports.")
consider: Optional[List[ReportName]] = Field(default=None, description="Array of names of particular reports to return consider as their results. This is a feature available in sandbox testing")
us_driving_licence: Optional[UsDrivingLicenceBuilder] = None
report_configuration: Optional[ReportConfiguration] = None
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["report_names", "document_ids", "applicant_provides_data", "asynchronous", "suppress_form_emails", "sub_result", "consider", "us_driving_licence"]
__properties: ClassVar[List[str]] = ["report_names", "document_ids", "applicant_provides_data", "asynchronous", "suppress_form_emails", "sub_result", "consider", "us_driving_licence", "report_configuration"]

model_config = ConfigDict(
populate_by_name=True,
Expand Down Expand Up @@ -83,6 +85,9 @@ def to_dict(self) -> Dict[str, Any]:
# override the default output from pydantic by calling `to_dict()` of us_driving_licence
if self.us_driving_licence:
_dict['us_driving_licence'] = self.us_driving_licence.to_dict()
# override the default output from pydantic by calling `to_dict()` of report_configuration
if self.report_configuration:
_dict['report_configuration'] = self.report_configuration.to_dict()
# puts key-value pairs in additional_properties in the top level
if self.additional_properties is not None:
for _key, _value in self.additional_properties.items():
Expand All @@ -107,7 +112,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"suppress_form_emails": obj.get("suppress_form_emails"),
"sub_result": obj.get("sub_result"),
"consider": obj.get("consider"),
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None,
"report_configuration": ReportConfiguration.from_dict(obj["report_configuration"]) if obj.get("report_configuration") is not None else None
})
# store additional fields in additional_properties
for _key in obj.keys():
Expand Down
119 changes: 119 additions & 0 deletions onfido/models/report_configuration.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,119 @@
# coding: utf-8

"""
Onfido API v3.6

The Onfido API (v3.6)

The version of the OpenAPI document: v3.6
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501


from __future__ import annotations
import pprint
import re # noqa: F401
import json

from pydantic import BaseModel, ConfigDict
from typing import Any, ClassVar, Dict, List, Optional
from onfido.models.report_configuration_facial_similarity import ReportConfigurationFacialSimilarity
from typing import Optional, Set
from typing_extensions import Self

class ReportConfiguration(BaseModel):
"""
Defines configuration options for facial similarity checks used to distinguish between onboarding and reverification scenarios.
""" # noqa: E501
facial_similarity_photo: Optional[ReportConfigurationFacialSimilarity] = None
facial_similarity_photo_fully_auto: Optional[ReportConfigurationFacialSimilarity] = None
facial_similarity_video: Optional[ReportConfigurationFacialSimilarity] = None
facial_similarity_motion: Optional[ReportConfigurationFacialSimilarity] = None
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["facial_similarity_photo", "facial_similarity_photo_fully_auto", "facial_similarity_video", "facial_similarity_motion"]

model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)


def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ReportConfiguration from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:

* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
* Fields in `self.additional_properties` are added to the output dict.
"""
excluded_fields: Set[str] = set([
"additional_properties",
])

_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# override the default output from pydantic by calling `to_dict()` of facial_similarity_photo
if self.facial_similarity_photo:
_dict['facial_similarity_photo'] = self.facial_similarity_photo.to_dict()
# override the default output from pydantic by calling `to_dict()` of facial_similarity_photo_fully_auto
if self.facial_similarity_photo_fully_auto:
_dict['facial_similarity_photo_fully_auto'] = self.facial_similarity_photo_fully_auto.to_dict()
# override the default output from pydantic by calling `to_dict()` of facial_similarity_video
if self.facial_similarity_video:
_dict['facial_similarity_video'] = self.facial_similarity_video.to_dict()
# override the default output from pydantic by calling `to_dict()` of facial_similarity_motion
if self.facial_similarity_motion:
_dict['facial_similarity_motion'] = self.facial_similarity_motion.to_dict()
# puts key-value pairs in additional_properties in the top level
if self.additional_properties is not None:
for _key, _value in self.additional_properties.items():
_dict[_key] = _value

return _dict

@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ReportConfiguration from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate({
"facial_similarity_photo": ReportConfigurationFacialSimilarity.from_dict(obj["facial_similarity_photo"]) if obj.get("facial_similarity_photo") is not None else None,
"facial_similarity_photo_fully_auto": ReportConfigurationFacialSimilarity.from_dict(obj["facial_similarity_photo_fully_auto"]) if obj.get("facial_similarity_photo_fully_auto") is not None else None,
"facial_similarity_video": ReportConfigurationFacialSimilarity.from_dict(obj["facial_similarity_video"]) if obj.get("facial_similarity_video") is not None else None,
"facial_similarity_motion": ReportConfigurationFacialSimilarity.from_dict(obj["facial_similarity_motion"]) if obj.get("facial_similarity_motion") is not None else None
})
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
_obj.additional_properties[_key] = obj.get(_key)

return _obj


110 changes: 110 additions & 0 deletions onfido/models/report_configuration_facial_similarity.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
# coding: utf-8

"""
Onfido API v3.6

The Onfido API (v3.6)

The version of the OpenAPI document: v3.6
Generated by OpenAPI Generator (https://openapi-generator.tech)

Do not edit the class manually.
""" # noqa: E501


from __future__ import annotations
import pprint
import re # noqa: F401
import json

from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
from typing import Any, ClassVar, Dict, List, Optional
from typing import Optional, Set
from typing_extensions import Self

class ReportConfigurationFacialSimilarity(BaseModel):
"""
ReportConfigurationFacialSimilarity
""" # noqa: E501
use_case: Optional[StrictStr] = Field(default=None, description="You should set it to \"reverification\" on a post-onboarding scenario (e.g. ongoing authentication). ")
additional_properties: Dict[str, Any] = {}
__properties: ClassVar[List[str]] = ["use_case"]

@field_validator('use_case')
def use_case_validate_enum(cls, value):
"""Validates the enum"""
if value is None:
return value

if value not in set(['onboarding', 'reverification', 'unknown_default_open_api']):
raise ValueError("must be one of enum values ('onboarding', 'reverification', 'unknown_default_open_api')")
return value

model_config = ConfigDict(
populate_by_name=True,
validate_assignment=True,
protected_namespaces=(),
)


def to_str(self) -> str:
"""Returns the string representation of the model using alias"""
return pprint.pformat(self.model_dump(by_alias=True))

def to_json(self) -> str:
"""Returns the JSON representation of the model using alias"""
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
return json.dumps(self.to_dict())

@classmethod
def from_json(cls, json_str: str) -> Optional[Self]:
"""Create an instance of ReportConfigurationFacialSimilarity from a JSON string"""
return cls.from_dict(json.loads(json_str))

def to_dict(self) -> Dict[str, Any]:
"""Return the dictionary representation of the model using alias.

This has the following differences from calling pydantic's
`self.model_dump(by_alias=True)`:

* `None` is only added to the output dict for nullable fields that
were set at model initialization. Other fields with value `None`
are ignored.
* Fields in `self.additional_properties` are added to the output dict.
"""
excluded_fields: Set[str] = set([
"additional_properties",
])

_dict = self.model_dump(
by_alias=True,
exclude=excluded_fields,
exclude_none=True,
)
# puts key-value pairs in additional_properties in the top level
if self.additional_properties is not None:
for _key, _value in self.additional_properties.items():
_dict[_key] = _value

return _dict

@classmethod
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
"""Create an instance of ReportConfigurationFacialSimilarity from a dict"""
if obj is None:
return None

if not isinstance(obj, dict):
return cls.model_validate(obj)

_obj = cls.model_validate({
"use_case": obj.get("use_case")
})
# store additional fields in additional_properties
for _key in obj.keys():
if _key not in cls.__properties:
_obj.additional_properties[_key] = obj.get(_key)

return _obj


9 changes: 6 additions & 3 deletions poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tool.poetry]
name = "onfido-python"
version = "5.1.0"
version = "5.2.0"
description = "Python library for the Onfido API"
authors = ["OpenAPI Generator Community <team@openapitools.org>"]
license = "MIT"
Expand Down
Loading