Skip to content

Commit 15e696b

Browse files
Merge pull request #87 from onfido/release-upgrade
Refresh onfido-python after onfido-openapi-spec update (7e25a63)
2 parents feade1a + 74b43b1 commit 15e696b

14 files changed

Lines changed: 271 additions & 16 deletions

.release.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
11
{
22
"source": {
33
"repo_url": "https://github.com/onfido/onfido-openapi-spec",
4-
"short_sha": "4b15a26",
5-
"long_sha": "4b15a26d432dcb9c3788cece0a46b5157b2e8b99",
6-
"version": "v5.1.0"
4+
"short_sha": "7e25a63",
5+
"long_sha": "7e25a6309b60d2433a634d4dbde59f589b0468ec",
6+
"version": "v5.2.0"
77
},
8-
"release": "v5.1.0"
8+
"release": "v5.2.0"
99
}

onfido/__init__.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
""" # noqa: E501
1515

1616

17-
__version__ = "5.1.0"
17+
__version__ = "5.2.0"
1818

1919
# import apis into sdk package
2020
from onfido.api.default_api import DefaultApi
@@ -242,6 +242,8 @@
242242
from onfido.models.repeat_attempts_list import RepeatAttemptsList
243243
from onfido.models.repeat_attempts_list_repeat_attempts_inner import RepeatAttemptsListRepeatAttemptsInner
244244
from onfido.models.report import Report
245+
from onfido.models.report_configuration import ReportConfiguration
246+
from onfido.models.report_configuration_facial_similarity import ReportConfigurationFacialSimilarity
245247
from onfido.models.report_document import ReportDocument
246248
from onfido.models.report_name import ReportName
247249
from onfido.models.report_result import ReportResult

onfido/api_client.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -90,7 +90,7 @@ def __init__(
9090
self.default_headers[header_name] = header_value
9191
self.cookie = cookie
9292
# Set default User-Agent.
93-
self.user_agent = 'onfido-python/5.1.0'
93+
self.user_agent = 'onfido-python/5.2.0'
9494
self.client_side_validation = configuration.client_side_validation
9595

9696
def __enter__(self):

onfido/configuration.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -501,7 +501,7 @@ def to_debug_report(self) -> str:
501501
"OS: {env}\n"\
502502
"Python Version: {pyversion}\n"\
503503
"Version of the API: v3.6\n"\
504-
"SDK Package Version: 5.1.0".\
504+
"SDK Package Version: 5.2.0".\
505505
format(env=sys.platform, pyversion=sys.version)
506506

507507
def get_host_settings(self) -> List[HostSetting]:

onfido/models/__init__.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -225,6 +225,8 @@
225225
from onfido.models.repeat_attempts_list import RepeatAttemptsList
226226
from onfido.models.repeat_attempts_list_repeat_attempts_inner import RepeatAttemptsListRepeatAttemptsInner
227227
from onfido.models.report import Report
228+
from onfido.models.report_configuration import ReportConfiguration
229+
from onfido.models.report_configuration_facial_similarity import ReportConfigurationFacialSimilarity
228230
from onfido.models.report_document import ReportDocument
229231
from onfido.models.report_name import ReportName
230232
from onfido.models.report_result import ReportResult

onfido/models/check_builder.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
2121
from typing import Any, ClassVar, Dict, List, Optional
22+
from onfido.models.report_configuration import ReportConfiguration
2223
from onfido.models.report_name import ReportName
2324
from onfido.models.us_driving_licence_builder import UsDrivingLicenceBuilder
2425
from typing import Optional, Set
@@ -41,8 +42,9 @@ class CheckBuilder(BaseModel):
4142
sub_result: Optional[StrictStr] = Field(default=None, description="Triggers responses for particular sub-results for sandbox Document reports.")
4243
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")
4344
us_driving_licence: Optional[UsDrivingLicenceBuilder] = None
45+
report_configuration: Optional[ReportConfiguration] = None
4446
additional_properties: Dict[str, Any] = {}
45-
__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"]
47+
__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"]
4648

4749
model_config = ConfigDict(
4850
populate_by_name=True,
@@ -88,6 +90,9 @@ def to_dict(self) -> Dict[str, Any]:
8890
# override the default output from pydantic by calling `to_dict()` of us_driving_licence
8991
if self.us_driving_licence:
9092
_dict['us_driving_licence'] = self.us_driving_licence.to_dict()
93+
# override the default output from pydantic by calling `to_dict()` of report_configuration
94+
if self.report_configuration:
95+
_dict['report_configuration'] = self.report_configuration.to_dict()
9196
# puts key-value pairs in additional_properties in the top level
9297
if self.additional_properties is not None:
9398
for _key, _value in self.additional_properties.items():
@@ -117,7 +122,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
117122
"suppress_form_emails": obj.get("suppress_form_emails"),
118123
"sub_result": obj.get("sub_result"),
119124
"consider": obj.get("consider"),
120-
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None
125+
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None,
126+
"report_configuration": ReportConfiguration.from_dict(obj["report_configuration"]) if obj.get("report_configuration") is not None else None
121127
})
122128
# store additional fields in additional_properties
123129
for _key in obj.keys():

onfido/models/check_request.py

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,7 @@
1919

2020
from pydantic import BaseModel, ConfigDict, Field, StrictBool, StrictStr
2121
from typing import Any, ClassVar, Dict, List, Optional
22+
from onfido.models.report_configuration import ReportConfiguration
2223
from onfido.models.report_name import ReportName
2324
from onfido.models.us_driving_licence_builder import UsDrivingLicenceBuilder
2425
from typing import Optional, Set
@@ -36,8 +37,9 @@ class CheckRequest(BaseModel):
3637
sub_result: Optional[StrictStr] = Field(default=None, description="Triggers responses for particular sub-results for sandbox Document reports.")
3738
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")
3839
us_driving_licence: Optional[UsDrivingLicenceBuilder] = None
40+
report_configuration: Optional[ReportConfiguration] = None
3941
additional_properties: Dict[str, Any] = {}
40-
__properties: ClassVar[List[str]] = ["report_names", "document_ids", "applicant_provides_data", "asynchronous", "suppress_form_emails", "sub_result", "consider", "us_driving_licence"]
42+
__properties: ClassVar[List[str]] = ["report_names", "document_ids", "applicant_provides_data", "asynchronous", "suppress_form_emails", "sub_result", "consider", "us_driving_licence", "report_configuration"]
4143

4244
model_config = ConfigDict(
4345
populate_by_name=True,
@@ -83,6 +85,9 @@ def to_dict(self) -> Dict[str, Any]:
8385
# override the default output from pydantic by calling `to_dict()` of us_driving_licence
8486
if self.us_driving_licence:
8587
_dict['us_driving_licence'] = self.us_driving_licence.to_dict()
88+
# override the default output from pydantic by calling `to_dict()` of report_configuration
89+
if self.report_configuration:
90+
_dict['report_configuration'] = self.report_configuration.to_dict()
8691
# puts key-value pairs in additional_properties in the top level
8792
if self.additional_properties is not None:
8893
for _key, _value in self.additional_properties.items():
@@ -107,7 +112,8 @@ def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
107112
"suppress_form_emails": obj.get("suppress_form_emails"),
108113
"sub_result": obj.get("sub_result"),
109114
"consider": obj.get("consider"),
110-
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None
115+
"us_driving_licence": UsDrivingLicenceBuilder.from_dict(obj["us_driving_licence"]) if obj.get("us_driving_licence") is not None else None,
116+
"report_configuration": ReportConfiguration.from_dict(obj["report_configuration"]) if obj.get("report_configuration") is not None else None
111117
})
112118
# store additional fields in additional_properties
113119
for _key in obj.keys():
Lines changed: 119 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,119 @@
1+
# coding: utf-8
2+
3+
"""
4+
Onfido API v3.6
5+
6+
The Onfido API (v3.6)
7+
8+
The version of the OpenAPI document: v3.6
9+
Generated by OpenAPI Generator (https://openapi-generator.tech)
10+
11+
Do not edit the class manually.
12+
""" # noqa: E501
13+
14+
15+
from __future__ import annotations
16+
import pprint
17+
import re # noqa: F401
18+
import json
19+
20+
from pydantic import BaseModel, ConfigDict
21+
from typing import Any, ClassVar, Dict, List, Optional
22+
from onfido.models.report_configuration_facial_similarity import ReportConfigurationFacialSimilarity
23+
from typing import Optional, Set
24+
from typing_extensions import Self
25+
26+
class ReportConfiguration(BaseModel):
27+
"""
28+
Defines configuration options for facial similarity checks used to distinguish between onboarding and reverification scenarios.
29+
""" # noqa: E501
30+
facial_similarity_photo: Optional[ReportConfigurationFacialSimilarity] = None
31+
facial_similarity_photo_fully_auto: Optional[ReportConfigurationFacialSimilarity] = None
32+
facial_similarity_video: Optional[ReportConfigurationFacialSimilarity] = None
33+
facial_similarity_motion: Optional[ReportConfigurationFacialSimilarity] = None
34+
additional_properties: Dict[str, Any] = {}
35+
__properties: ClassVar[List[str]] = ["facial_similarity_photo", "facial_similarity_photo_fully_auto", "facial_similarity_video", "facial_similarity_motion"]
36+
37+
model_config = ConfigDict(
38+
populate_by_name=True,
39+
validate_assignment=True,
40+
protected_namespaces=(),
41+
)
42+
43+
44+
def to_str(self) -> str:
45+
"""Returns the string representation of the model using alias"""
46+
return pprint.pformat(self.model_dump(by_alias=True))
47+
48+
def to_json(self) -> str:
49+
"""Returns the JSON representation of the model using alias"""
50+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
51+
return json.dumps(self.to_dict())
52+
53+
@classmethod
54+
def from_json(cls, json_str: str) -> Optional[Self]:
55+
"""Create an instance of ReportConfiguration from a JSON string"""
56+
return cls.from_dict(json.loads(json_str))
57+
58+
def to_dict(self) -> Dict[str, Any]:
59+
"""Return the dictionary representation of the model using alias.
60+
61+
This has the following differences from calling pydantic's
62+
`self.model_dump(by_alias=True)`:
63+
64+
* `None` is only added to the output dict for nullable fields that
65+
were set at model initialization. Other fields with value `None`
66+
are ignored.
67+
* Fields in `self.additional_properties` are added to the output dict.
68+
"""
69+
excluded_fields: Set[str] = set([
70+
"additional_properties",
71+
])
72+
73+
_dict = self.model_dump(
74+
by_alias=True,
75+
exclude=excluded_fields,
76+
exclude_none=True,
77+
)
78+
# override the default output from pydantic by calling `to_dict()` of facial_similarity_photo
79+
if self.facial_similarity_photo:
80+
_dict['facial_similarity_photo'] = self.facial_similarity_photo.to_dict()
81+
# override the default output from pydantic by calling `to_dict()` of facial_similarity_photo_fully_auto
82+
if self.facial_similarity_photo_fully_auto:
83+
_dict['facial_similarity_photo_fully_auto'] = self.facial_similarity_photo_fully_auto.to_dict()
84+
# override the default output from pydantic by calling `to_dict()` of facial_similarity_video
85+
if self.facial_similarity_video:
86+
_dict['facial_similarity_video'] = self.facial_similarity_video.to_dict()
87+
# override the default output from pydantic by calling `to_dict()` of facial_similarity_motion
88+
if self.facial_similarity_motion:
89+
_dict['facial_similarity_motion'] = self.facial_similarity_motion.to_dict()
90+
# puts key-value pairs in additional_properties in the top level
91+
if self.additional_properties is not None:
92+
for _key, _value in self.additional_properties.items():
93+
_dict[_key] = _value
94+
95+
return _dict
96+
97+
@classmethod
98+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
99+
"""Create an instance of ReportConfiguration from a dict"""
100+
if obj is None:
101+
return None
102+
103+
if not isinstance(obj, dict):
104+
return cls.model_validate(obj)
105+
106+
_obj = cls.model_validate({
107+
"facial_similarity_photo": ReportConfigurationFacialSimilarity.from_dict(obj["facial_similarity_photo"]) if obj.get("facial_similarity_photo") is not None else None,
108+
"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,
109+
"facial_similarity_video": ReportConfigurationFacialSimilarity.from_dict(obj["facial_similarity_video"]) if obj.get("facial_similarity_video") is not None else None,
110+
"facial_similarity_motion": ReportConfigurationFacialSimilarity.from_dict(obj["facial_similarity_motion"]) if obj.get("facial_similarity_motion") is not None else None
111+
})
112+
# store additional fields in additional_properties
113+
for _key in obj.keys():
114+
if _key not in cls.__properties:
115+
_obj.additional_properties[_key] = obj.get(_key)
116+
117+
return _obj
118+
119+
Lines changed: 110 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,110 @@
1+
# coding: utf-8
2+
3+
"""
4+
Onfido API v3.6
5+
6+
The Onfido API (v3.6)
7+
8+
The version of the OpenAPI document: v3.6
9+
Generated by OpenAPI Generator (https://openapi-generator.tech)
10+
11+
Do not edit the class manually.
12+
""" # noqa: E501
13+
14+
15+
from __future__ import annotations
16+
import pprint
17+
import re # noqa: F401
18+
import json
19+
20+
from pydantic import BaseModel, ConfigDict, Field, StrictStr, field_validator
21+
from typing import Any, ClassVar, Dict, List, Optional
22+
from typing import Optional, Set
23+
from typing_extensions import Self
24+
25+
class ReportConfigurationFacialSimilarity(BaseModel):
26+
"""
27+
ReportConfigurationFacialSimilarity
28+
""" # noqa: E501
29+
use_case: Optional[StrictStr] = Field(default=None, description="You should set it to \"reverification\" on a post-onboarding scenario (e.g. ongoing authentication). ")
30+
additional_properties: Dict[str, Any] = {}
31+
__properties: ClassVar[List[str]] = ["use_case"]
32+
33+
@field_validator('use_case')
34+
def use_case_validate_enum(cls, value):
35+
"""Validates the enum"""
36+
if value is None:
37+
return value
38+
39+
if value not in set(['onboarding', 'reverification', 'unknown_default_open_api']):
40+
raise ValueError("must be one of enum values ('onboarding', 'reverification', 'unknown_default_open_api')")
41+
return value
42+
43+
model_config = ConfigDict(
44+
populate_by_name=True,
45+
validate_assignment=True,
46+
protected_namespaces=(),
47+
)
48+
49+
50+
def to_str(self) -> str:
51+
"""Returns the string representation of the model using alias"""
52+
return pprint.pformat(self.model_dump(by_alias=True))
53+
54+
def to_json(self) -> str:
55+
"""Returns the JSON representation of the model using alias"""
56+
# TODO: pydantic v2: use .model_dump_json(by_alias=True, exclude_unset=True) instead
57+
return json.dumps(self.to_dict())
58+
59+
@classmethod
60+
def from_json(cls, json_str: str) -> Optional[Self]:
61+
"""Create an instance of ReportConfigurationFacialSimilarity from a JSON string"""
62+
return cls.from_dict(json.loads(json_str))
63+
64+
def to_dict(self) -> Dict[str, Any]:
65+
"""Return the dictionary representation of the model using alias.
66+
67+
This has the following differences from calling pydantic's
68+
`self.model_dump(by_alias=True)`:
69+
70+
* `None` is only added to the output dict for nullable fields that
71+
were set at model initialization. Other fields with value `None`
72+
are ignored.
73+
* Fields in `self.additional_properties` are added to the output dict.
74+
"""
75+
excluded_fields: Set[str] = set([
76+
"additional_properties",
77+
])
78+
79+
_dict = self.model_dump(
80+
by_alias=True,
81+
exclude=excluded_fields,
82+
exclude_none=True,
83+
)
84+
# puts key-value pairs in additional_properties in the top level
85+
if self.additional_properties is not None:
86+
for _key, _value in self.additional_properties.items():
87+
_dict[_key] = _value
88+
89+
return _dict
90+
91+
@classmethod
92+
def from_dict(cls, obj: Optional[Dict[str, Any]]) -> Optional[Self]:
93+
"""Create an instance of ReportConfigurationFacialSimilarity from a dict"""
94+
if obj is None:
95+
return None
96+
97+
if not isinstance(obj, dict):
98+
return cls.model_validate(obj)
99+
100+
_obj = cls.model_validate({
101+
"use_case": obj.get("use_case")
102+
})
103+
# store additional fields in additional_properties
104+
for _key in obj.keys():
105+
if _key not in cls.__properties:
106+
_obj.additional_properties[_key] = obj.get(_key)
107+
108+
return _obj
109+
110+

poetry.lock

Lines changed: 6 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)