regula-facesdk-webclient 6.4.198.dev0__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of regula-facesdk-webclient might be problematic. Click here for more details.
- regula/__init__.py +0 -0
- regula/facesdk/__init__.py +0 -0
- regula/facesdk/webclient/__init__.py +15 -0
- regula/facesdk/webclient/ext/__init__.py +5 -0
- regula/facesdk/webclient/ext/api/__init__.py +3 -0
- regula/facesdk/webclient/ext/api/group_api.py +36 -0
- regula/facesdk/webclient/ext/api/match_api.py +46 -0
- regula/facesdk/webclient/ext/api/person_api.py +46 -0
- regula/facesdk/webclient/ext/api/sdk.py +28 -0
- regula/facesdk/webclient/ext/api/search_api.py +17 -0
- regula/facesdk/webclient/ext/common.py +7 -0
- regula/facesdk/webclient/ext/models/__init__.py +6 -0
- regula/facesdk/webclient/ext/models/detect_request.py +32 -0
- regula/facesdk/webclient/ext/models/match_image.py +19 -0
- regula/facesdk/webclient/ext/models/match_request.py +34 -0
- regula/facesdk/webclient/gen/__init__.py +27 -0
- regula/facesdk/webclient/gen/api/__init__.py +3 -0
- regula/facesdk/webclient/gen/api/diagnostics_api.py +162 -0
- regula/facesdk/webclient/gen/api/group_api.py +1040 -0
- regula/facesdk/webclient/gen/api/healthcheck_api.py +283 -0
- regula/facesdk/webclient/gen/api/liveness_2_0_api.py +168 -0
- regula/facesdk/webclient/gen/api/liveness_api.py +424 -0
- regula/facesdk/webclient/gen/api/match_api.py +463 -0
- regula/facesdk/webclient/gen/api/person_api.py +1345 -0
- regula/facesdk/webclient/gen/api/search_api.py +177 -0
- regula/facesdk/webclient/gen/api_client.py +695 -0
- regula/facesdk/webclient/gen/apis/__init__.py +22 -0
- regula/facesdk/webclient/gen/configuration.py +446 -0
- regula/facesdk/webclient/gen/exceptions.py +159 -0
- regula/facesdk/webclient/gen/model/__init__.py +5 -0
- regula/facesdk/webclient/gen/model/add_image_to_person_request.py +205 -0
- regula/facesdk/webclient/gen/model/add_image_to_person_request_image.py +204 -0
- regula/facesdk/webclient/gen/model/add_image_to_person_response.py +262 -0
- regula/facesdk/webclient/gen/model/attribute_config.py +120 -0
- regula/facesdk/webclient/gen/model/attribute_config_list.py +92 -0
- regula/facesdk/webclient/gen/model/crop.py +208 -0
- regula/facesdk/webclient/gen/model/detect_request.py +204 -0
- regula/facesdk/webclient/gen/model/detect_request_attributes.py +120 -0
- regula/facesdk/webclient/gen/model/detect_response.py +147 -0
- regula/facesdk/webclient/gen/model/detect_response_all_of.py +120 -0
- regula/facesdk/webclient/gen/model/detect_result.py +231 -0
- regula/facesdk/webclient/gen/model/detection.py +258 -0
- regula/facesdk/webclient/gen/model/detection_attributes.py +148 -0
- regula/facesdk/webclient/gen/model/detection_face.py +260 -0
- regula/facesdk/webclient/gen/model/detection_quality.py +234 -0
- regula/facesdk/webclient/gen/model/device_info.py +231 -0
- regula/facesdk/webclient/gen/model/face_align_type_quality.py +109 -0
- regula/facesdk/webclient/gen/model/face_attribute.py +133 -0
- regula/facesdk/webclient/gen/model/face_image_quality_align_type.py +109 -0
- regula/facesdk/webclient/gen/model/face_image_quality_groups.py +118 -0
- regula/facesdk/webclient/gen/model/face_image_quality_groups_strings.py +118 -0
- regula/facesdk/webclient/gen/model/face_image_quality_status.py +103 -0
- regula/facesdk/webclient/gen/model/face_quality_config_name.py +238 -0
- regula/facesdk/webclient/gen/model/face_quality_scenarios.py +121 -0
- regula/facesdk/webclient/gen/model/face_quality_status.py +103 -0
- regula/facesdk/webclient/gen/model/face_rectangular.py +92 -0
- regula/facesdk/webclient/gen/model/face_sdk_result.py +121 -0
- regula/facesdk/webclient/gen/model/face_sdk_result_code.py +217 -0
- regula/facesdk/webclient/gen/model/faces_response.py +286 -0
- regula/facesdk/webclient/gen/model/faces_response_all_of.py +148 -0
- regula/facesdk/webclient/gen/model/filter_op.py +100 -0
- regula/facesdk/webclient/gen/model/filter_search_request.py +176 -0
- regula/facesdk/webclient/gen/model/group.py +206 -0
- regula/facesdk/webclient/gen/model/group_all_of.py +150 -0
- regula/facesdk/webclient/gen/model/group_page.py +178 -0
- regula/facesdk/webclient/gen/model/group_page_all_of.py +122 -0
- regula/facesdk/webclient/gen/model/group_response.py +150 -0
- regula/facesdk/webclient/gen/model/group_to_create.py +180 -0
- regula/facesdk/webclient/gen/model/image.py +290 -0
- regula/facesdk/webclient/gen/model/image_fields.py +258 -0
- regula/facesdk/webclient/gen/model/image_fields_image.py +204 -0
- regula/facesdk/webclient/gen/model/image_page.py +176 -0
- regula/facesdk/webclient/gen/model/image_page_all_of.py +120 -0
- regula/facesdk/webclient/gen/model/image_source.py +115 -0
- regula/facesdk/webclient/gen/model/liveness_transaction.py +334 -0
- regula/facesdk/webclient/gen/model/liveness_type.py +100 -0
- regula/facesdk/webclient/gen/model/match_and_search_request.py +178 -0
- regula/facesdk/webclient/gen/model/match_and_search_request_all_of.py +178 -0
- regula/facesdk/webclient/gen/model/match_and_search_request_all_of_images.py +148 -0
- regula/facesdk/webclient/gen/model/match_and_search_response.py +233 -0
- regula/facesdk/webclient/gen/model/match_and_search_response_all_of.py +206 -0
- regula/facesdk/webclient/gen/model/match_and_search_response_all_of_detections.py +176 -0
- regula/facesdk/webclient/gen/model/match_image.py +205 -0
- regula/facesdk/webclient/gen/model/match_image_detection.py +178 -0
- regula/facesdk/webclient/gen/model/match_image_result.py +316 -0
- regula/facesdk/webclient/gen/model/match_request.py +204 -0
- regula/facesdk/webclient/gen/model/match_request_output_image_params.py +148 -0
- regula/facesdk/webclient/gen/model/match_request_output_image_params_crop.py +212 -0
- regula/facesdk/webclient/gen/model/match_response.py +205 -0
- regula/facesdk/webclient/gen/model/match_response_all_of.py +178 -0
- regula/facesdk/webclient/gen/model/operation_log.py +206 -0
- regula/facesdk/webclient/gen/model/output_image_params.py +146 -0
- regula/facesdk/webclient/gen/model/page.py +150 -0
- regula/facesdk/webclient/gen/model/person.py +318 -0
- regula/facesdk/webclient/gen/model/person_all_of.py +206 -0
- regula/facesdk/webclient/gen/model/person_created_response.py +178 -0
- regula/facesdk/webclient/gen/model/person_fields.py +234 -0
- regula/facesdk/webclient/gen/model/person_to_update_fields.py +206 -0
- regula/facesdk/webclient/gen/model/person_with_images.py +346 -0
- regula/facesdk/webclient/gen/model/person_with_images_all_of.py +122 -0
- regula/facesdk/webclient/gen/model/persons_page.py +176 -0
- regula/facesdk/webclient/gen/model/persons_page_all_of.py +120 -0
- regula/facesdk/webclient/gen/model/process_param.py +226 -0
- regula/facesdk/webclient/gen/model/process_param_attributes.py +120 -0
- regula/facesdk/webclient/gen/model/quality_config.py +154 -0
- regula/facesdk/webclient/gen/model/quality_config_list.py +92 -0
- regula/facesdk/webclient/gen/model/quality_detail.py +234 -0
- regula/facesdk/webclient/gen/model/quality_details_groups.py +202 -0
- regula/facesdk/webclient/gen/model/quality_request.py +146 -0
- regula/facesdk/webclient/gen/model/recognize_image.py +346 -0
- regula/facesdk/webclient/gen/model/recognize_image_all_of.py +150 -0
- regula/facesdk/webclient/gen/model/resize_options.py +178 -0
- regula/facesdk/webclient/gen/model/rgb.py +92 -0
- regula/facesdk/webclient/gen/model/search_bad_params.py +172 -0
- regula/facesdk/webclient/gen/model/search_detection.py +398 -0
- regula/facesdk/webclient/gen/model/search_parameters.py +174 -0
- regula/facesdk/webclient/gen/model/search_parameters_create_person.py +177 -0
- regula/facesdk/webclient/gen/model/search_person.py +372 -0
- regula/facesdk/webclient/gen/model/search_person_all_of.py +148 -0
- regula/facesdk/webclient/gen/model/search_request.py +338 -0
- regula/facesdk/webclient/gen/model/search_request_all_of.py +178 -0
- regula/facesdk/webclient/gen/model/search_result.py +313 -0
- regula/facesdk/webclient/gen/model/search_result_all_of.py +122 -0
- regula/facesdk/webclient/gen/model/transaction_config.py +92 -0
- regula/facesdk/webclient/gen/model/transaction_info.py +344 -0
- regula/facesdk/webclient/gen/model/update_group.py +150 -0
- regula/facesdk/webclient/gen/model_utils.py +2037 -0
- regula/facesdk/webclient/gen/models/__init__.py +96 -0
- regula/facesdk/webclient/gen/rest.py +346 -0
- regula_facesdk_webclient-6.4.198.dev0.dist-info/METADATA +73 -0
- regula_facesdk_webclient-6.4.198.dev0.dist-info/RECORD +133 -0
- regula_facesdk_webclient-6.4.198.dev0.dist-info/WHEEL +5 -0
- regula_facesdk_webclient-6.4.198.dev0.dist-info/top_level.txt +1 -0
|
@@ -0,0 +1,96 @@
|
|
|
1
|
+
# flake8: noqa
|
|
2
|
+
|
|
3
|
+
# import all models into this package
|
|
4
|
+
# if you have many models here with many references from one model to another this may
|
|
5
|
+
# raise a RecursionError
|
|
6
|
+
# to avoid this, import only the models that you directly need like:
|
|
7
|
+
# from from regula.facesdk.webclient.gen.model.pet import Pet
|
|
8
|
+
# or import this package, but before doing it, use:
|
|
9
|
+
# import sys
|
|
10
|
+
# sys.setrecursionlimit(n)
|
|
11
|
+
|
|
12
|
+
from regula.facesdk.webclient.gen.model.add_image_to_person_request import AddImageToPersonRequest
|
|
13
|
+
from regula.facesdk.webclient.gen.model.add_image_to_person_request_image import AddImageToPersonRequestImage
|
|
14
|
+
from regula.facesdk.webclient.gen.model.add_image_to_person_response import AddImageToPersonResponse
|
|
15
|
+
from regula.facesdk.webclient.gen.model.attribute_config import AttributeConfig
|
|
16
|
+
from regula.facesdk.webclient.gen.model.attribute_config_list import AttributeConfigList
|
|
17
|
+
from regula.facesdk.webclient.gen.model.crop import Crop
|
|
18
|
+
from regula.facesdk.webclient.gen.model.detect_request import DetectRequest
|
|
19
|
+
from regula.facesdk.webclient.gen.model.detect_response import DetectResponse
|
|
20
|
+
from regula.facesdk.webclient.gen.model.detect_response_all_of import DetectResponseAllOf
|
|
21
|
+
from regula.facesdk.webclient.gen.model.detect_result import DetectResult
|
|
22
|
+
from regula.facesdk.webclient.gen.model.detection import Detection
|
|
23
|
+
from regula.facesdk.webclient.gen.model.detection_attributes import DetectionAttributes
|
|
24
|
+
from regula.facesdk.webclient.gen.model.detection_face import DetectionFace
|
|
25
|
+
from regula.facesdk.webclient.gen.model.detection_quality import DetectionQuality
|
|
26
|
+
from regula.facesdk.webclient.gen.model.device_info import DeviceInfo
|
|
27
|
+
from regula.facesdk.webclient.gen.model.face_attribute import FaceAttribute
|
|
28
|
+
from regula.facesdk.webclient.gen.model.face_image_quality_align_type import FaceImageQualityAlignType
|
|
29
|
+
from regula.facesdk.webclient.gen.model.face_image_quality_groups import FaceImageQualityGroups
|
|
30
|
+
from regula.facesdk.webclient.gen.model.face_image_quality_groups_strings import FaceImageQualityGroupsStrings
|
|
31
|
+
from regula.facesdk.webclient.gen.model.face_image_quality_status import FaceImageQualityStatus
|
|
32
|
+
from regula.facesdk.webclient.gen.model.face_quality_config_name import FaceQualityConfigName
|
|
33
|
+
from regula.facesdk.webclient.gen.model.face_quality_scenarios import FaceQualityScenarios
|
|
34
|
+
from regula.facesdk.webclient.gen.model.face_rectangular import FaceRectangular
|
|
35
|
+
from regula.facesdk.webclient.gen.model.face_sdk_result import FaceSDKResult
|
|
36
|
+
from regula.facesdk.webclient.gen.model.face_sdk_result_code import FaceSDKResultCode
|
|
37
|
+
from regula.facesdk.webclient.gen.model.faces_response import FacesResponse
|
|
38
|
+
from regula.facesdk.webclient.gen.model.faces_response_all_of import FacesResponseAllOf
|
|
39
|
+
from regula.facesdk.webclient.gen.model.filter_op import FilterOp
|
|
40
|
+
from regula.facesdk.webclient.gen.model.filter_search_request import FilterSearchRequest
|
|
41
|
+
from regula.facesdk.webclient.gen.model.group import Group
|
|
42
|
+
from regula.facesdk.webclient.gen.model.group_all_of import GroupAllOf
|
|
43
|
+
from regula.facesdk.webclient.gen.model.group_page import GroupPage
|
|
44
|
+
from regula.facesdk.webclient.gen.model.group_page_all_of import GroupPageAllOf
|
|
45
|
+
from regula.facesdk.webclient.gen.model.group_response import GroupResponse
|
|
46
|
+
from regula.facesdk.webclient.gen.model.group_to_create import GroupToCreate
|
|
47
|
+
from regula.facesdk.webclient.gen.model.image import Image
|
|
48
|
+
from regula.facesdk.webclient.gen.model.image_fields import ImageFields
|
|
49
|
+
from regula.facesdk.webclient.gen.model.image_page import ImagePage
|
|
50
|
+
from regula.facesdk.webclient.gen.model.image_page_all_of import ImagePageAllOf
|
|
51
|
+
from regula.facesdk.webclient.gen.model.image_source import ImageSource
|
|
52
|
+
from regula.facesdk.webclient.gen.model.liveness_type import LivenessType
|
|
53
|
+
from regula.facesdk.webclient.gen.model.match_and_search_request import MatchAndSearchRequest
|
|
54
|
+
from regula.facesdk.webclient.gen.model.match_and_search_request_all_of import MatchAndSearchRequestAllOf
|
|
55
|
+
from regula.facesdk.webclient.gen.model.match_and_search_request_all_of_images import MatchAndSearchRequestAllOfImages
|
|
56
|
+
from regula.facesdk.webclient.gen.model.match_and_search_response import MatchAndSearchResponse
|
|
57
|
+
from regula.facesdk.webclient.gen.model.match_and_search_response_all_of import MatchAndSearchResponseAllOf
|
|
58
|
+
from regula.facesdk.webclient.gen.model.match_and_search_response_all_of_detections import MatchAndSearchResponseAllOfDetections
|
|
59
|
+
from regula.facesdk.webclient.gen.model.match_image import MatchImage
|
|
60
|
+
from regula.facesdk.webclient.gen.model.match_image_detection import MatchImageDetection
|
|
61
|
+
from regula.facesdk.webclient.gen.model.match_image_result import MatchImageResult
|
|
62
|
+
from regula.facesdk.webclient.gen.model.match_request import MatchRequest
|
|
63
|
+
from regula.facesdk.webclient.gen.model.match_response import MatchResponse
|
|
64
|
+
from regula.facesdk.webclient.gen.model.match_response_all_of import MatchResponseAllOf
|
|
65
|
+
from regula.facesdk.webclient.gen.model.operation_log import OperationLog
|
|
66
|
+
from regula.facesdk.webclient.gen.model.output_image_params import OutputImageParams
|
|
67
|
+
from regula.facesdk.webclient.gen.model.page import Page
|
|
68
|
+
from regula.facesdk.webclient.gen.model.person import Person
|
|
69
|
+
from regula.facesdk.webclient.gen.model.person_all_of import PersonAllOf
|
|
70
|
+
from regula.facesdk.webclient.gen.model.person_fields import PersonFields
|
|
71
|
+
from regula.facesdk.webclient.gen.model.person_to_update_fields import PersonToUpdateFields
|
|
72
|
+
from regula.facesdk.webclient.gen.model.person_with_images import PersonWithImages
|
|
73
|
+
from regula.facesdk.webclient.gen.model.person_with_images_all_of import PersonWithImagesAllOf
|
|
74
|
+
from regula.facesdk.webclient.gen.model.persons_page import PersonsPage
|
|
75
|
+
from regula.facesdk.webclient.gen.model.persons_page_all_of import PersonsPageAllOf
|
|
76
|
+
from regula.facesdk.webclient.gen.model.process_param import ProcessParam
|
|
77
|
+
from regula.facesdk.webclient.gen.model.process_param_attributes import ProcessParamAttributes
|
|
78
|
+
from regula.facesdk.webclient.gen.model.quality_config import QualityConfig
|
|
79
|
+
from regula.facesdk.webclient.gen.model.quality_config_list import QualityConfigList
|
|
80
|
+
from regula.facesdk.webclient.gen.model.quality_detail import QualityDetail
|
|
81
|
+
from regula.facesdk.webclient.gen.model.quality_details_groups import QualityDetailsGroups
|
|
82
|
+
from regula.facesdk.webclient.gen.model.quality_request import QualityRequest
|
|
83
|
+
from regula.facesdk.webclient.gen.model.rgb import RGB
|
|
84
|
+
from regula.facesdk.webclient.gen.model.recognize_image import RecognizeImage
|
|
85
|
+
from regula.facesdk.webclient.gen.model.recognize_image_all_of import RecognizeImageAllOf
|
|
86
|
+
from regula.facesdk.webclient.gen.model.resize_options import ResizeOptions
|
|
87
|
+
from regula.facesdk.webclient.gen.model.search_bad_params import SearchBadParams
|
|
88
|
+
from regula.facesdk.webclient.gen.model.search_detection import SearchDetection
|
|
89
|
+
from regula.facesdk.webclient.gen.model.search_parameters import SearchParameters
|
|
90
|
+
from regula.facesdk.webclient.gen.model.search_parameters_create_person import SearchParametersCreatePerson
|
|
91
|
+
from regula.facesdk.webclient.gen.model.search_person import SearchPerson
|
|
92
|
+
from regula.facesdk.webclient.gen.model.search_person_all_of import SearchPersonAllOf
|
|
93
|
+
from regula.facesdk.webclient.gen.model.search_request import SearchRequest
|
|
94
|
+
from regula.facesdk.webclient.gen.model.search_result import SearchResult
|
|
95
|
+
from regula.facesdk.webclient.gen.model.transaction_info import TransactionInfo
|
|
96
|
+
from regula.facesdk.webclient.gen.model.update_group import UpdateGroup
|
|
@@ -0,0 +1,346 @@
|
|
|
1
|
+
"""
|
|
2
|
+
Regula Face SDK Web API
|
|
3
|
+
|
|
4
|
+
<a href=\"https://regulaforensics.com/products/face-recognition-sdk/ \" target=\"_blank\">Regula Face SDK</a> is a cross-platform biometric verification solution for a digital identity verification process and image quality assurance. The SDK enables convenient and reliable face capture on the client side (mobile, web, and desktop) and further processing on the client or server side. The Face SDK includes the following features: * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#face-detection\" target=\"_blank\">Face detection and image quality assessment</a> * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#face-comparison-11\" target=\"_blank\">Face match (1:1)</a> * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#face-identification-1n\" target=\"_blank\">Face search (1:N)</a> * <a href=\"https://docs.regulaforensics.com/develop/face-sdk/overview/introduction/#liveness-assessment\" target=\"_blank\">Liveness detection</a> Here is the <a href=\"https://github.com/regulaforensics/FaceSDK-web-openapi \" target=\"_blank\">OpenAPI specification on GitHub</a>. ### Clients * [JavaScript](https://github.com/regulaforensics/FaceSDK-web-js-client) client for the browser and node.js based on axios * [Java](https://github.com/regulaforensics/FaceSDK-web-java-client) client compatible with jvm and android * [Python](https://github.com/regulaforensics/FaceSDK-web-python-client) 3.5+ client * [C#](https://github.com/regulaforensics/FaceSDK-web-csharp-client) client for .NET & .NET Core # noqa: E501
|
|
5
|
+
|
|
6
|
+
The version of the OpenAPI document: 6.2.0
|
|
7
|
+
Generated by: https://openapi-generator.tech
|
|
8
|
+
"""
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
import io
|
|
12
|
+
import json
|
|
13
|
+
import logging
|
|
14
|
+
import re
|
|
15
|
+
import ssl
|
|
16
|
+
from urllib.parse import urlencode
|
|
17
|
+
from urllib.parse import urlparse
|
|
18
|
+
from urllib.request import proxy_bypass_environment
|
|
19
|
+
import urllib3
|
|
20
|
+
import ipaddress
|
|
21
|
+
|
|
22
|
+
from regula.facesdk.webclient.gen.exceptions import ApiException, UnauthorizedException, ForbiddenException, NotFoundException, ServiceException, ApiValueError
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
logger = logging.getLogger(__name__)
|
|
26
|
+
|
|
27
|
+
|
|
28
|
+
class RESTResponse(io.IOBase):
|
|
29
|
+
|
|
30
|
+
def __init__(self, resp):
|
|
31
|
+
self.urllib3_response = resp
|
|
32
|
+
self.status = resp.status
|
|
33
|
+
self.reason = resp.reason
|
|
34
|
+
self.data = resp.data
|
|
35
|
+
|
|
36
|
+
def getheaders(self):
|
|
37
|
+
"""Returns a dictionary of the response headers."""
|
|
38
|
+
return self.urllib3_response.getheaders()
|
|
39
|
+
|
|
40
|
+
def getheader(self, name, default=None):
|
|
41
|
+
"""Returns a given response header."""
|
|
42
|
+
return self.urllib3_response.getheader(name, default)
|
|
43
|
+
|
|
44
|
+
|
|
45
|
+
class RESTClientObject(object):
|
|
46
|
+
|
|
47
|
+
def __init__(self, configuration, pools_size=4, maxsize=None):
|
|
48
|
+
# urllib3.PoolManager will pass all kw parameters to connectionpool
|
|
49
|
+
# https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/poolmanager.py#L75 # noqa: E501
|
|
50
|
+
# https://github.com/shazow/urllib3/blob/f9409436f83aeb79fbaf090181cd81b784f1b8ce/urllib3/connectionpool.py#L680 # noqa: E501
|
|
51
|
+
# maxsize is the number of requests to host that are allowed in parallel # noqa: E501
|
|
52
|
+
# Custom SSL certificates and client certificates: http://urllib3.readthedocs.io/en/latest/advanced-usage.html # noqa: E501
|
|
53
|
+
|
|
54
|
+
# cert_reqs
|
|
55
|
+
if configuration.verify_ssl:
|
|
56
|
+
cert_reqs = ssl.CERT_REQUIRED
|
|
57
|
+
else:
|
|
58
|
+
cert_reqs = ssl.CERT_NONE
|
|
59
|
+
|
|
60
|
+
addition_pool_args = {}
|
|
61
|
+
if configuration.assert_hostname is not None:
|
|
62
|
+
addition_pool_args['assert_hostname'] = configuration.assert_hostname # noqa: E501
|
|
63
|
+
|
|
64
|
+
if configuration.retries is not None:
|
|
65
|
+
addition_pool_args['retries'] = configuration.retries
|
|
66
|
+
|
|
67
|
+
if configuration.socket_options is not None:
|
|
68
|
+
addition_pool_args['socket_options'] = configuration.socket_options
|
|
69
|
+
|
|
70
|
+
if maxsize is None:
|
|
71
|
+
if configuration.connection_pool_maxsize is not None:
|
|
72
|
+
maxsize = configuration.connection_pool_maxsize
|
|
73
|
+
else:
|
|
74
|
+
maxsize = 4
|
|
75
|
+
|
|
76
|
+
# https pool manager
|
|
77
|
+
if configuration.proxy and not should_bypass_proxies(configuration.host, no_proxy=configuration.no_proxy or ''):
|
|
78
|
+
self.pool_manager = urllib3.ProxyManager(
|
|
79
|
+
num_pools=pools_size,
|
|
80
|
+
maxsize=maxsize,
|
|
81
|
+
cert_reqs=cert_reqs,
|
|
82
|
+
ca_certs=configuration.ssl_ca_cert,
|
|
83
|
+
cert_file=configuration.cert_file,
|
|
84
|
+
key_file=configuration.key_file,
|
|
85
|
+
proxy_url=configuration.proxy,
|
|
86
|
+
proxy_headers=configuration.proxy_headers,
|
|
87
|
+
**addition_pool_args
|
|
88
|
+
)
|
|
89
|
+
else:
|
|
90
|
+
self.pool_manager = urllib3.PoolManager(
|
|
91
|
+
num_pools=pools_size,
|
|
92
|
+
maxsize=maxsize,
|
|
93
|
+
cert_reqs=cert_reqs,
|
|
94
|
+
ca_certs=configuration.ssl_ca_cert,
|
|
95
|
+
cert_file=configuration.cert_file,
|
|
96
|
+
key_file=configuration.key_file,
|
|
97
|
+
**addition_pool_args
|
|
98
|
+
)
|
|
99
|
+
|
|
100
|
+
def request(self, method, url, query_params=None, headers=None,
|
|
101
|
+
body=None, post_params=None, _preload_content=True,
|
|
102
|
+
_request_timeout=None):
|
|
103
|
+
"""Perform requests.
|
|
104
|
+
|
|
105
|
+
:param method: http request method
|
|
106
|
+
:param url: http request url
|
|
107
|
+
:param query_params: query parameters in the url
|
|
108
|
+
:param headers: http request headers
|
|
109
|
+
:param body: request json body, for `application/json`
|
|
110
|
+
:param post_params: request post parameters,
|
|
111
|
+
`application/x-www-form-urlencoded`
|
|
112
|
+
and `multipart/form-data`
|
|
113
|
+
:param _preload_content: if False, the urllib3.HTTPResponse object will
|
|
114
|
+
be returned without reading/decoding response
|
|
115
|
+
data. Default is True.
|
|
116
|
+
:param _request_timeout: timeout setting for this request. If one
|
|
117
|
+
number provided, it will be total request
|
|
118
|
+
timeout. It can also be a pair (tuple) of
|
|
119
|
+
(connection, read) timeouts.
|
|
120
|
+
"""
|
|
121
|
+
method = method.upper()
|
|
122
|
+
assert method in ['GET', 'HEAD', 'DELETE', 'POST', 'PUT',
|
|
123
|
+
'PATCH', 'OPTIONS']
|
|
124
|
+
|
|
125
|
+
if post_params and body:
|
|
126
|
+
raise ApiValueError(
|
|
127
|
+
"body parameter cannot be used with post_params parameter."
|
|
128
|
+
)
|
|
129
|
+
|
|
130
|
+
post_params = post_params or {}
|
|
131
|
+
headers = headers or {}
|
|
132
|
+
|
|
133
|
+
timeout = None
|
|
134
|
+
if _request_timeout:
|
|
135
|
+
if isinstance(_request_timeout, (int, float)): # noqa: E501,F821
|
|
136
|
+
timeout = urllib3.Timeout(total=_request_timeout)
|
|
137
|
+
elif (isinstance(_request_timeout, tuple) and
|
|
138
|
+
len(_request_timeout) == 2):
|
|
139
|
+
timeout = urllib3.Timeout(
|
|
140
|
+
connect=_request_timeout[0], read=_request_timeout[1])
|
|
141
|
+
|
|
142
|
+
try:
|
|
143
|
+
# For `POST`, `PUT`, `PATCH`, `OPTIONS`, `DELETE`
|
|
144
|
+
if method in ['POST', 'PUT', 'PATCH', 'OPTIONS', 'DELETE']:
|
|
145
|
+
# Only set a default Content-Type for POST, PUT, PATCH and OPTIONS requests
|
|
146
|
+
if (method != 'DELETE') and ('Content-Type' not in headers):
|
|
147
|
+
headers['Content-Type'] = 'application/json'
|
|
148
|
+
if query_params:
|
|
149
|
+
url += '?' + urlencode(query_params)
|
|
150
|
+
if ('Content-Type' not in headers) or (re.search('json', headers['Content-Type'], re.IGNORECASE)):
|
|
151
|
+
request_body = None
|
|
152
|
+
if body is not None:
|
|
153
|
+
request_body = json.dumps(body)
|
|
154
|
+
r = self.pool_manager.request(
|
|
155
|
+
method, url,
|
|
156
|
+
body=request_body,
|
|
157
|
+
preload_content=_preload_content,
|
|
158
|
+
timeout=timeout,
|
|
159
|
+
headers=headers)
|
|
160
|
+
elif headers['Content-Type'] == 'application/x-www-form-urlencoded': # noqa: E501
|
|
161
|
+
r = self.pool_manager.request(
|
|
162
|
+
method, url,
|
|
163
|
+
fields=post_params,
|
|
164
|
+
encode_multipart=False,
|
|
165
|
+
preload_content=_preload_content,
|
|
166
|
+
timeout=timeout,
|
|
167
|
+
headers=headers)
|
|
168
|
+
elif headers['Content-Type'] == 'multipart/form-data':
|
|
169
|
+
# must del headers['Content-Type'], or the correct
|
|
170
|
+
# Content-Type which generated by urllib3 will be
|
|
171
|
+
# overwritten.
|
|
172
|
+
del headers['Content-Type']
|
|
173
|
+
r = self.pool_manager.request(
|
|
174
|
+
method, url,
|
|
175
|
+
fields=post_params,
|
|
176
|
+
encode_multipart=True,
|
|
177
|
+
preload_content=_preload_content,
|
|
178
|
+
timeout=timeout,
|
|
179
|
+
headers=headers)
|
|
180
|
+
# Pass a `string` parameter directly in the body to support
|
|
181
|
+
# other content types than Json when `body` argument is
|
|
182
|
+
# provided in serialized form
|
|
183
|
+
elif isinstance(body, str) or isinstance(body, bytes):
|
|
184
|
+
request_body = body
|
|
185
|
+
r = self.pool_manager.request(
|
|
186
|
+
method, url,
|
|
187
|
+
body=request_body,
|
|
188
|
+
preload_content=_preload_content,
|
|
189
|
+
timeout=timeout,
|
|
190
|
+
headers=headers)
|
|
191
|
+
else:
|
|
192
|
+
# Cannot generate the request from given parameters
|
|
193
|
+
msg = """Cannot prepare a request message for provided
|
|
194
|
+
arguments. Please check that your arguments match
|
|
195
|
+
declared content type."""
|
|
196
|
+
raise ApiException(status=0, reason=msg)
|
|
197
|
+
# For `GET`, `HEAD`
|
|
198
|
+
else:
|
|
199
|
+
r = self.pool_manager.request(method, url,
|
|
200
|
+
fields=query_params,
|
|
201
|
+
preload_content=_preload_content,
|
|
202
|
+
timeout=timeout,
|
|
203
|
+
headers=headers)
|
|
204
|
+
except urllib3.exceptions.SSLError as e:
|
|
205
|
+
msg = "{0}\n{1}".format(type(e).__name__, str(e))
|
|
206
|
+
raise ApiException(status=0, reason=msg)
|
|
207
|
+
|
|
208
|
+
if _preload_content:
|
|
209
|
+
r = RESTResponse(r)
|
|
210
|
+
|
|
211
|
+
# log response body
|
|
212
|
+
logger.debug("response body: %s", r.data)
|
|
213
|
+
|
|
214
|
+
if not 200 <= r.status <= 299:
|
|
215
|
+
if r.status == 401:
|
|
216
|
+
raise UnauthorizedException(http_resp=r)
|
|
217
|
+
|
|
218
|
+
if r.status == 403:
|
|
219
|
+
raise ForbiddenException(http_resp=r)
|
|
220
|
+
|
|
221
|
+
if r.status == 404:
|
|
222
|
+
raise NotFoundException(http_resp=r)
|
|
223
|
+
|
|
224
|
+
if 500 <= r.status <= 599:
|
|
225
|
+
raise ServiceException(http_resp=r)
|
|
226
|
+
|
|
227
|
+
raise ApiException(http_resp=r)
|
|
228
|
+
|
|
229
|
+
return r
|
|
230
|
+
|
|
231
|
+
def GET(self, url, headers=None, query_params=None, _preload_content=True,
|
|
232
|
+
_request_timeout=None):
|
|
233
|
+
return self.request("GET", url,
|
|
234
|
+
headers=headers,
|
|
235
|
+
_preload_content=_preload_content,
|
|
236
|
+
_request_timeout=_request_timeout,
|
|
237
|
+
query_params=query_params)
|
|
238
|
+
|
|
239
|
+
def HEAD(self, url, headers=None, query_params=None, _preload_content=True,
|
|
240
|
+
_request_timeout=None):
|
|
241
|
+
return self.request("HEAD", url,
|
|
242
|
+
headers=headers,
|
|
243
|
+
_preload_content=_preload_content,
|
|
244
|
+
_request_timeout=_request_timeout,
|
|
245
|
+
query_params=query_params)
|
|
246
|
+
|
|
247
|
+
def OPTIONS(self, url, headers=None, query_params=None, post_params=None,
|
|
248
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
249
|
+
return self.request("OPTIONS", url,
|
|
250
|
+
headers=headers,
|
|
251
|
+
query_params=query_params,
|
|
252
|
+
post_params=post_params,
|
|
253
|
+
_preload_content=_preload_content,
|
|
254
|
+
_request_timeout=_request_timeout,
|
|
255
|
+
body=body)
|
|
256
|
+
|
|
257
|
+
def DELETE(self, url, headers=None, query_params=None, body=None,
|
|
258
|
+
_preload_content=True, _request_timeout=None):
|
|
259
|
+
return self.request("DELETE", url,
|
|
260
|
+
headers=headers,
|
|
261
|
+
query_params=query_params,
|
|
262
|
+
_preload_content=_preload_content,
|
|
263
|
+
_request_timeout=_request_timeout,
|
|
264
|
+
body=body)
|
|
265
|
+
|
|
266
|
+
def POST(self, url, headers=None, query_params=None, post_params=None,
|
|
267
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
268
|
+
return self.request("POST", url,
|
|
269
|
+
headers=headers,
|
|
270
|
+
query_params=query_params,
|
|
271
|
+
post_params=post_params,
|
|
272
|
+
_preload_content=_preload_content,
|
|
273
|
+
_request_timeout=_request_timeout,
|
|
274
|
+
body=body)
|
|
275
|
+
|
|
276
|
+
def PUT(self, url, headers=None, query_params=None, post_params=None,
|
|
277
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
278
|
+
return self.request("PUT", url,
|
|
279
|
+
headers=headers,
|
|
280
|
+
query_params=query_params,
|
|
281
|
+
post_params=post_params,
|
|
282
|
+
_preload_content=_preload_content,
|
|
283
|
+
_request_timeout=_request_timeout,
|
|
284
|
+
body=body)
|
|
285
|
+
|
|
286
|
+
def PATCH(self, url, headers=None, query_params=None, post_params=None,
|
|
287
|
+
body=None, _preload_content=True, _request_timeout=None):
|
|
288
|
+
return self.request("PATCH", url,
|
|
289
|
+
headers=headers,
|
|
290
|
+
query_params=query_params,
|
|
291
|
+
post_params=post_params,
|
|
292
|
+
_preload_content=_preload_content,
|
|
293
|
+
_request_timeout=_request_timeout,
|
|
294
|
+
body=body)
|
|
295
|
+
|
|
296
|
+
# end of class RESTClientObject
|
|
297
|
+
def is_ipv4(target):
|
|
298
|
+
""" Test if IPv4 address or not
|
|
299
|
+
"""
|
|
300
|
+
try:
|
|
301
|
+
chk = ipaddress.IPv4Address(target)
|
|
302
|
+
return True
|
|
303
|
+
except ipaddress.AddressValueError:
|
|
304
|
+
return False
|
|
305
|
+
|
|
306
|
+
def in_ipv4net(target, net):
|
|
307
|
+
""" Test if target belongs to given IPv4 network
|
|
308
|
+
"""
|
|
309
|
+
try:
|
|
310
|
+
nw = ipaddress.IPv4Network(net)
|
|
311
|
+
ip = ipaddress.IPv4Address(target)
|
|
312
|
+
if ip in nw:
|
|
313
|
+
return True
|
|
314
|
+
return False
|
|
315
|
+
except ipaddress.AddressValueError:
|
|
316
|
+
return False
|
|
317
|
+
except ipaddress.NetmaskValueError:
|
|
318
|
+
return False
|
|
319
|
+
|
|
320
|
+
def should_bypass_proxies(url, no_proxy=None):
|
|
321
|
+
""" Yet another requests.should_bypass_proxies
|
|
322
|
+
Test if proxies should not be used for a particular url.
|
|
323
|
+
"""
|
|
324
|
+
|
|
325
|
+
parsed = urlparse(url)
|
|
326
|
+
|
|
327
|
+
# special cases
|
|
328
|
+
if parsed.hostname in [None, '']:
|
|
329
|
+
return True
|
|
330
|
+
|
|
331
|
+
# special cases
|
|
332
|
+
if no_proxy in [None , '']:
|
|
333
|
+
return False
|
|
334
|
+
if no_proxy == '*':
|
|
335
|
+
return True
|
|
336
|
+
|
|
337
|
+
no_proxy = no_proxy.lower().replace(' ','');
|
|
338
|
+
entries = (
|
|
339
|
+
host for host in no_proxy.split(',') if host
|
|
340
|
+
)
|
|
341
|
+
|
|
342
|
+
if is_ipv4(parsed.hostname):
|
|
343
|
+
for item in entries:
|
|
344
|
+
if in_ipv4net(parsed.hostname, item):
|
|
345
|
+
return True
|
|
346
|
+
return proxy_bypass_environment(parsed.hostname, {'no': no_proxy} )
|
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: regula_facesdk_webclient
|
|
3
|
+
Version: 6.4.198.dev0
|
|
4
|
+
Summary: Regula's FaceSDK web python client
|
|
5
|
+
Home-page: https://regulaforensics.com
|
|
6
|
+
Author: Regula Forensics, Inc.
|
|
7
|
+
Author-email: support@regulaforensics.com
|
|
8
|
+
Keywords: face recognition,facesdk,regulaforensics,regula
|
|
9
|
+
Requires-Python: >=3.5
|
|
10
|
+
Description-Content-Type: text/markdown
|
|
11
|
+
Requires-Dist: certifi>=2024.07.04
|
|
12
|
+
Requires-Dist: six>=1.10
|
|
13
|
+
Requires-Dist: python-dateutil>=2.5.3
|
|
14
|
+
Requires-Dist: urllib3>=2.2.2
|
|
15
|
+
Requires-Dist: vistir<=0.6.1,>=0.4.0
|
|
16
|
+
Requires-Dist: idna==3.7
|
|
17
|
+
Requires-Dist: requests>=2.32.3
|
|
18
|
+
|
|
19
|
+
# Regula Face SDK web API Python 3.5+ client
|
|
20
|
+
|
|
21
|
+
[](https://github.com/regulaforensics/FaceSDK-web-openapi)
|
|
22
|
+
[](https://support.regulaforensics.com/hc/en-us/articles/115000916306-Documentation)
|
|
23
|
+
[](https://faceapi.regulaforensics.com/)
|
|
24
|
+
|
|
25
|
+
## ⚠️ Warning: Package Name Changed
|
|
26
|
+
## Package name has been changed from `regula.facesdk.webclient` to `regula_facesdk_webclient`
|
|
27
|
+
|
|
28
|
+
Face recognition as easy as reading two bytes.
|
|
29
|
+
|
|
30
|
+
If you have any problems with or questions about this client, please contact us
|
|
31
|
+
through a [GitHub issue](https://github.com/regulaforensics/FaceSDK-web-python-client/issues).
|
|
32
|
+
You are invited to contribute [new features, fixes, or updates](https://github.com/regulaforensics/FaceSDK-web-python-client/issues?q=is%3Aissue+is%3Aopen+label%3A%22help+wanted%22), large or small;
|
|
33
|
+
We are always thrilled to receive pull requests, and do our best to process them as fast as we can.
|
|
34
|
+
See [dev guide](./dev.md)
|
|
35
|
+
|
|
36
|
+
## Install package
|
|
37
|
+
`regula_facesdk_webclient` is on the Python Package Index (PyPI):
|
|
38
|
+
|
|
39
|
+
```bash
|
|
40
|
+
pip install regula_facesdk_webclient
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
Or using `pipenv`
|
|
44
|
+
```bash
|
|
45
|
+
pipenv install regula_facesdk_webclient
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
## Example
|
|
49
|
+
Performing request:
|
|
50
|
+
|
|
51
|
+
```python
|
|
52
|
+
from regula_facesdk_webclient import *
|
|
53
|
+
|
|
54
|
+
with open("face1.jpg", "rb") as f:
|
|
55
|
+
face_1_bytes = f.read()
|
|
56
|
+
|
|
57
|
+
with open("face2.jpg", "rb") as f:
|
|
58
|
+
face_2_bytes = f.read()
|
|
59
|
+
|
|
60
|
+
with MatchingApi(host="http://0.0.0.0:41101/api") as api:
|
|
61
|
+
images = [
|
|
62
|
+
MatchImage(index=1, data=face_1_bytes, type=ImageSource.LIVE),
|
|
63
|
+
MatchImage(index=2, data=face_1_bytes, type=ImageSource.DOCUMENT_RFID),
|
|
64
|
+
MatchImage(index=3, data=face_2_bytes)
|
|
65
|
+
]
|
|
66
|
+
match_request = MatchRequest(images=images)
|
|
67
|
+
match_response = api.match(match_request)
|
|
68
|
+
|
|
69
|
+
detect_request = DetectRequest(face_1_bytes)
|
|
70
|
+
detect_response = api.detect(detect_request)
|
|
71
|
+
```
|
|
72
|
+
|
|
73
|
+
You can find more detailed guide and run this sample in [example](./example) folder.
|
|
@@ -0,0 +1,133 @@
|
|
|
1
|
+
regula/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
2
|
+
regula/facesdk/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
3
|
+
regula/facesdk/webclient/__init__.py,sha256=XPXwNo7pfhfo5mWwcf3XOVNEl26y8ThLcbtaj-5Zqgc,755
|
|
4
|
+
regula/facesdk/webclient/ext/__init__.py,sha256=Oe-XQEuAwDdw7CHUngYztpLjlrYWWki3dHIzG1b5HVQ,306
|
|
5
|
+
regula/facesdk/webclient/ext/common.py,sha256=CivAX7mWEXGghdmZg63q_2suKWz6QN_MyOuZLdf_1c4,126
|
|
6
|
+
regula/facesdk/webclient/ext/api/__init__.py,sha256=QIRwODYedltCAWMYSNhMdm1m2MTpOh-nSIXSJuSn1nI,187
|
|
7
|
+
regula/facesdk/webclient/ext/api/group_api.py,sha256=hrksEGce3IKuz_bMhSN-EGeTDFfNDxeyzS9zf0a9_co,1703
|
|
8
|
+
regula/facesdk/webclient/ext/api/match_api.py,sha256=XCJZrISHr2QvF9rH6qH947IpjFmxI6KTzpduD6h9w_U,2019
|
|
9
|
+
regula/facesdk/webclient/ext/api/person_api.py,sha256=GsS4hxbMYvCoFM0uhCvUW-y_yE-MH5e5KM83UfL0AIU,2240
|
|
10
|
+
regula/facesdk/webclient/ext/api/sdk.py,sha256=7j4uF8P3lIhlCUjERLyMlS7mjBz9EBGkVZ2c7C4kyg4,1092
|
|
11
|
+
regula/facesdk/webclient/ext/api/search_api.py,sha256=7lJErzCN6OJog06cMBhFF_uSgyNbxEX3MvKur1R22ZQ,736
|
|
12
|
+
regula/facesdk/webclient/ext/models/__init__.py,sha256=0edbXIracTJaNbp03U48tDzN8bd3ZqHwSX4PIJJhZ7Y,280
|
|
13
|
+
regula/facesdk/webclient/ext/models/detect_request.py,sha256=4u3mxW1tWcTDotl66smnlZQeSKcaem9kzpr9hvYHBFc,1045
|
|
14
|
+
regula/facesdk/webclient/ext/models/match_image.py,sha256=3wU7SdVfOoqXDkrxCuFdzHni4z5vajwmMJ1Q9ncfQRk,773
|
|
15
|
+
regula/facesdk/webclient/ext/models/match_request.py,sha256=KwZoq0Iejaoxw2l6wp9plkxIIp5vXF2ldfdruOT_kSA,1202
|
|
16
|
+
regula/facesdk/webclient/gen/__init__.py,sha256=hWds1mvAM2ruilqPXcwyRCJpblEjbozRTzj43y1DWAw,2400
|
|
17
|
+
regula/facesdk/webclient/gen/api_client.py,sha256=ztEqaIfei1BFf_MPAP6iVCCzSc6mzIM6em7OayhEd9c,28844
|
|
18
|
+
regula/facesdk/webclient/gen/configuration.py,sha256=Kzfg1JFFP2r8ieTy_BGE_21C0X6TuuHZJmB8q8W1TF0,17800
|
|
19
|
+
regula/facesdk/webclient/gen/exceptions.py,sha256=tCcwZlgOfxyQOrBGvD9GaF7oqjdMCuqIR01xL8Uqt_M,6610
|
|
20
|
+
regula/facesdk/webclient/gen/model_utils.py,sha256=pVljPNWf2UQIsJy_xXyu1TaNmW4cKW3xn4v90gGgu-o,83638
|
|
21
|
+
regula/facesdk/webclient/gen/rest.py,sha256=JWrlJhcnw2Zh33hp2B315A45KfYm-FR3ELQbqgqYQ8Q,15748
|
|
22
|
+
regula/facesdk/webclient/gen/api/__init__.py,sha256=gxXDi5dbs4PxLIxLE5XTwUqZzdnaL6YVfNX19gh04Bs,230
|
|
23
|
+
regula/facesdk/webclient/gen/api/diagnostics_api.py,sha256=qnpQ8Kmyc_6csPryYHw9MAkMtZQnt-dZhVDu1INrV6k,7766
|
|
24
|
+
regula/facesdk/webclient/gen/api/group_api.py,sha256=Bs0eH54kJxqxsosiaokgT2hSsvF7IzvFPNXFUwWSgAY,47125
|
|
25
|
+
regula/facesdk/webclient/gen/api/healthcheck_api.py,sha256=9RxfI3g1xGwtUtZVBdX5dMVJ6sYerwJRgqZzXrYNmyE,12485
|
|
26
|
+
regula/facesdk/webclient/gen/api/liveness_2_0_api.py,sha256=ph3J2jUyqgP3y0jYa9MIcTYARm_d1VSmKNreB01rSZs,11319
|
|
27
|
+
regula/facesdk/webclient/gen/api/liveness_api.py,sha256=maiSEZGIGU15uhkww38TgzmMsBA1UGjnq6L-kWkBSD4,18968
|
|
28
|
+
regula/facesdk/webclient/gen/api/match_api.py,sha256=4_A5KZRtVqLtwnTfnYStC52FVYAN26CpX33plns_tbQ,25537
|
|
29
|
+
regula/facesdk/webclient/gen/api/person_api.py,sha256=d07JDnIWX5VrJA0uF52fAExznjqCS7UlzwfOYUav5jc,61950
|
|
30
|
+
regula/facesdk/webclient/gen/api/search_api.py,sha256=8OB8xxfp-WCO86F-evhwD80iPxxQIp73pxwlmep3mwM,8563
|
|
31
|
+
regula/facesdk/webclient/gen/apis/__init__.py,sha256=jALPJEtfrPwELIGM_COy2usC36g-5vBgKS4Wq1npFnQ,821
|
|
32
|
+
regula/facesdk/webclient/gen/model/__init__.py,sha256=N49d9K35V_Hd5lOHWcMeVRl0Iy_-L-03rZgfKXwlESM,348
|
|
33
|
+
regula/facesdk/webclient/gen/model/add_image_to_person_request.py,sha256=Th8XRNPYSWCn9I0s1JGeEgPvvZPAE4y1gnQrtsdZcMk,7448
|
|
34
|
+
regula/facesdk/webclient/gen/model/add_image_to_person_request_image.py,sha256=i7rt91_vaui62lMNSjtWWfBJbUSE15aQ0n3mpRPRS5o,7721
|
|
35
|
+
regula/facesdk/webclient/gen/model/add_image_to_person_response.py,sha256=MocMzXfCloiY-PW7fab8B0j2JpgdiRizyeObCzu9DM8,9291
|
|
36
|
+
regula/facesdk/webclient/gen/model/attribute_config.py,sha256=f-rX7StrEIECadcUkPFl4rCKiJtOOckS-A74ACDHJ50,4852
|
|
37
|
+
regula/facesdk/webclient/gen/model/attribute_config_list.py,sha256=Iygxd7ML5QbZye3J0ZxUBTJHXsiQhnaYBnQ_iPZpRFM,4242
|
|
38
|
+
regula/facesdk/webclient/gen/model/crop.py,sha256=9vJ4SXqFHZ7rKJCXUxdS24T8EM5RsQ2ul9X0_xHzui0,7888
|
|
39
|
+
regula/facesdk/webclient/gen/model/detect_request.py,sha256=8bN7aAUVq78l_XoqrHtcdGO0CMa4luOoiozYGFWiJWQ,7303
|
|
40
|
+
regula/facesdk/webclient/gen/model/detect_request_attributes.py,sha256=g1PwgkmcIbof8bIocGL0Qf20R25yNFv97vOR50EU8zo,3803
|
|
41
|
+
regula/facesdk/webclient/gen/model/detect_response.py,sha256=-lMF_eHRobI3vJes0eg8-Bw0Ecm5SFPqvSAAeUF6yOo,5690
|
|
42
|
+
regula/facesdk/webclient/gen/model/detect_response_all_of.py,sha256=H-KZcjb4JYtJe-U8QXE2jZXHuVcNr00XYr7nqhL34I0,4944
|
|
43
|
+
regula/facesdk/webclient/gen/model/detect_result.py,sha256=eowuownVtTT_fsJwqYl0ejGolXphpZyQA5l5DtMhFl8,8247
|
|
44
|
+
regula/facesdk/webclient/gen/model/detection.py,sha256=spmEPAwKED_53u92f-YJjieuZ4BxTrgAXw1abG6kPvc,8931
|
|
45
|
+
regula/facesdk/webclient/gen/model/detection_attributes.py,sha256=tYghoDqhQG13QWrTDKatqwBU4Jht1n2RfUH89AQkm8c,6032
|
|
46
|
+
regula/facesdk/webclient/gen/model/detection_face.py,sha256=hTIkCYwRRuDU1ww8Dtne4WZQf18C2noxuoCMZ4qjx1o,9131
|
|
47
|
+
regula/facesdk/webclient/gen/model/detection_quality.py,sha256=_n8VgXjE2I_L_amxaRCTJydH0WeSO5Bwt5p3WgbaEbw,8855
|
|
48
|
+
regula/facesdk/webclient/gen/model/device_info.py,sha256=mjCeZa2IkqlYwP6RQ31nLH07-mJUdGaSW_RyTsaswmc,8337
|
|
49
|
+
regula/facesdk/webclient/gen/model/face_align_type_quality.py,sha256=cCA0RKeNEWNdswIMTYwoyLwLfBz4CrqAIWOxfwaOLds,3328
|
|
50
|
+
regula/facesdk/webclient/gen/model/face_attribute.py,sha256=gLunxhF_O7eKdx5QJeU-WB_pR4FVvXKKFR_HL_-doOI,4865
|
|
51
|
+
regula/facesdk/webclient/gen/model/face_image_quality_align_type.py,sha256=CROQhigvsKPYM9swAPcRdGZROWtB0D9yNPgy9AqdZes,4515
|
|
52
|
+
regula/facesdk/webclient/gen/model/face_image_quality_groups.py,sha256=BnQ4m3xrSGKtnp9ZoTJ2eJ9Pz4aqm4Yf5X4iYtGBiFQ,4765
|
|
53
|
+
regula/facesdk/webclient/gen/model/face_image_quality_groups_strings.py,sha256=6rZa5YBtKk4KeDvErcvwBfHx2Cnv3CHvF9TO0eJcY84,4889
|
|
54
|
+
regula/facesdk/webclient/gen/model/face_image_quality_status.py,sha256=oFy3e4rhX9TiE4yaAdjhDEVKhheNiVCcNbPV12XWdVA,4497
|
|
55
|
+
regula/facesdk/webclient/gen/model/face_quality_config_name.py,sha256=sb_9xx7x7vUyyRV-hu1jkEzTaDTU47cnKPiC5oOb9II,7296
|
|
56
|
+
regula/facesdk/webclient/gen/model/face_quality_scenarios.py,sha256=biXRq6B4p4LEcfo3FLikvydj61HOjYzbFGoWfXcWNoM,4791
|
|
57
|
+
regula/facesdk/webclient/gen/model/face_quality_status.py,sha256=Jwu6hHMR7mHw_QpaosrYeNMyJg1HWEtIzUGTXABcdX4,3310
|
|
58
|
+
regula/facesdk/webclient/gen/model/face_rectangular.py,sha256=uh1xOVuqPwBCEsxRQyQcgl1JaZoDHYzDO7RaJ-XGzCU,4226
|
|
59
|
+
regula/facesdk/webclient/gen/model/face_sdk_result.py,sha256=Bg-wHCq1g_MRT0E5AkvQdR4YD4SyGlZ9CCyZpuc8Oys,5002
|
|
60
|
+
regula/facesdk/webclient/gen/model/face_sdk_result_code.py,sha256=sWyxBR9avMJbrcoShEhM_UYtyeEhn_sVMdywLPIkhxg,7243
|
|
61
|
+
regula/facesdk/webclient/gen/model/faces_response.py,sha256=A12nyXS8z5Rtobg657rMOToPw9XSDzm-rgjFQ2N9t1o,9735
|
|
62
|
+
regula/facesdk/webclient/gen/model/faces_response_all_of.py,sha256=RcqQwYSXb9Rfnz1gJ4j7AFTN3zQwT_N-y6wWsWY3J5c,5855
|
|
63
|
+
regula/facesdk/webclient/gen/model/filter_op.py,sha256=JyaoAGQHVBZNSplYvZbstsUCJui8jJJd_B4cSY_96jY,4298
|
|
64
|
+
regula/facesdk/webclient/gen/model/filter_search_request.py,sha256=gNXq7XdUKvl5-HgBuK96xsAMMTSe_5Kb9KDdo-YrGOU,6357
|
|
65
|
+
regula/facesdk/webclient/gen/model/group.py,sha256=JU7ooB9H3gHZbWveCKx7Zd4nc-d9roVHcY0SSiow1EQ,7169
|
|
66
|
+
regula/facesdk/webclient/gen/model/group_all_of.py,sha256=MhfFyecfu44fJBBpVVaFBmnZY5aALmmBc2KfiCkOdc0,5589
|
|
67
|
+
regula/facesdk/webclient/gen/model/group_page.py,sha256=cOV7jAidSnNu34k4fzIQW9PqnBMwyQAOTrNoZf511h8,6413
|
|
68
|
+
regula/facesdk/webclient/gen/model/group_page_all_of.py,sha256=13yKK8gqtAEaYROPI69HPK4gEI0JdULiLK78XQxnEQ0,4991
|
|
69
|
+
regula/facesdk/webclient/gen/model/group_response.py,sha256=m_cTACQ3Bs14w5iwP_D7RpBHxFzX5MQjp5XCqIhb70o,5924
|
|
70
|
+
regula/facesdk/webclient/gen/model/group_to_create.py,sha256=wy_oM6es86X08GsCXKbQPVuGsAQswB6P58rIecl2zjs,6891
|
|
71
|
+
regula/facesdk/webclient/gen/model/image.py,sha256=_FFLr0Pc6OmXJyM-nbhs5Ii1_1hate6rWUOXQmgE-Jg,9538
|
|
72
|
+
regula/facesdk/webclient/gen/model/image_fields.py,sha256=GUTxim2tgOmGOuj_yUA_6mYsdZTdtK12vGPQWA516vU,9009
|
|
73
|
+
regula/facesdk/webclient/gen/model/image_fields_image.py,sha256=WB40A9HS-rHW4yqR1y-ngD06vX5W9IFHaU-2vWMxFt4,6382
|
|
74
|
+
regula/facesdk/webclient/gen/model/image_page.py,sha256=e2jJwQMD7SmQd4ZqxhmBrX6y-Tv57oTzRke91CBtQs8,6269
|
|
75
|
+
regula/facesdk/webclient/gen/model/image_page_all_of.py,sha256=3zznUGybwZsfMuCbdyxCH0beGddRRJKBkUxpCHhJxsg,4847
|
|
76
|
+
regula/facesdk/webclient/gen/model/image_source.py,sha256=-dL6a4ct1Sg80Y94IKgGHKwDbnBNzgQsB_SjhBrxInk,4559
|
|
77
|
+
regula/facesdk/webclient/gen/model/liveness_transaction.py,sha256=nD4lnD7YbziL9wM3E_VPGvCubDdSllCsxQ8LPtKXyBI,9945
|
|
78
|
+
regula/facesdk/webclient/gen/model/liveness_type.py,sha256=sVFVIsUe3EbFINE0CrcF4SMv9q2XPCmmNhCChsS-Ils,4327
|
|
79
|
+
regula/facesdk/webclient/gen/model/match_and_search_request.py,sha256=XOD3YSz7JSmqQI8w1gyTnGrrir9x7cih5ZWX-ZS8_mU,6716
|
|
80
|
+
regula/facesdk/webclient/gen/model/match_and_search_request_all_of.py,sha256=iCFw4Ak_98WS1Z6d0cMrzUvNe_1Z6Erim-8zHBy1Mrg,6796
|
|
81
|
+
regula/facesdk/webclient/gen/model/match_and_search_request_all_of_images.py,sha256=ZfhmeGXhWF0VTGfGxaKJ34ma8VgB7hjZlsVgZQNY-zU,5795
|
|
82
|
+
regula/facesdk/webclient/gen/model/match_and_search_response.py,sha256=Ur93C5StGgYBZE-3eePj4zFUb037TsGG7URofiWA_Co,8831
|
|
83
|
+
regula/facesdk/webclient/gen/model/match_and_search_response_all_of.py,sha256=gOqSqEJE0lHs1ylVuZT0tqgi5yhGpRZ3-n2dOYuw53c,8113
|
|
84
|
+
regula/facesdk/webclient/gen/model/match_and_search_response_all_of_detections.py,sha256=PaQ-abgozhwXOBLB8-wjoghuRJqcPb7u2veAswNTFsc,7109
|
|
85
|
+
regula/facesdk/webclient/gen/model/match_image.py,sha256=QceKCIzvPrsLXhswCZR_y0WpMaxx_WVNy3q5jGq2Lbc,7550
|
|
86
|
+
regula/facesdk/webclient/gen/model/match_image_detection.py,sha256=UzY8q0Lv7NVZn3HUy-5nRv5kj3cXCbYnfHRMJVoqmeQ,7138
|
|
87
|
+
regula/facesdk/webclient/gen/model/match_image_result.py,sha256=p09RjH0-zAWS9WaJQCR6fkqCnOuSl2h6D2cjQhxSKro,11931
|
|
88
|
+
regula/facesdk/webclient/gen/model/match_request.py,sha256=eQ2eqzul3NZSb-XSWB4X26X3CB9RawvEMu45OSWqYx8,7763
|
|
89
|
+
regula/facesdk/webclient/gen/model/match_request_output_image_params.py,sha256=nxgWKOAk24TgYACh2MySGM6FAGqpF4De1pQwfidknNU,6185
|
|
90
|
+
regula/facesdk/webclient/gen/model/match_request_output_image_params_crop.py,sha256=Am0USCOX2VKlzm_d-hu4D11y9Hof8fXZ17OGCLbdR2k,9093
|
|
91
|
+
regula/facesdk/webclient/gen/model/match_response.py,sha256=TswVUWxhVUmOGEVF4wN5dAU2Z2vnMD6Jcx54ZqO1Qh4,7676
|
|
92
|
+
regula/facesdk/webclient/gen/model/match_response_all_of.py,sha256=ZxcQvCgIjUdCR4C3SiFirpSNdJINkVDN_jcjMr3FzlM,6974
|
|
93
|
+
regula/facesdk/webclient/gen/model/operation_log.py,sha256=R3tEqzcXPBMun_MT1TcN1DDMgb8aruq43mMXPtjeedM,7325
|
|
94
|
+
regula/facesdk/webclient/gen/model/output_image_params.py,sha256=5gUb9j9UYw8ks18rZqURlIRHM5YoZQNPkVfGK_gv6g8,5694
|
|
95
|
+
regula/facesdk/webclient/gen/model/page.py,sha256=fu8Y8s2Z1DIiqsPTHPuU_m7oYFQbymT2Fns9W9A-CBo,5606
|
|
96
|
+
regula/facesdk/webclient/gen/model/person.py,sha256=Y57juTSjOpoWDKiClNvSe2Ubb-BxbEora5OPyml5DOk,10820
|
|
97
|
+
regula/facesdk/webclient/gen/model/person_all_of.py,sha256=GeZ_MnqhQOD071OoGbofeAsr4lZLlTrw8FEvTiBW4SQ,7248
|
|
98
|
+
regula/facesdk/webclient/gen/model/person_created_response.py,sha256=PeNxyIx2fCNlwSw87HNOyIx5WiMgiD5ovncrpSY_PD8,5711
|
|
99
|
+
regula/facesdk/webclient/gen/model/person_fields.py,sha256=xdARHJKjYMf5YWW0up53D856E3jj-3WiOM6yJPgxz8I,8924
|
|
100
|
+
regula/facesdk/webclient/gen/model/person_to_update_fields.py,sha256=UU3L39t4BaR2ySai0rsZa922WQrqyxP2ElJQxWt7gzQ,8210
|
|
101
|
+
regula/facesdk/webclient/gen/model/person_with_images.py,sha256=NlYRKCGyMaB44zhOrCqZ3N9SF9_L5ifJbeMZLiw-zaA,11939
|
|
102
|
+
regula/facesdk/webclient/gen/model/person_with_images_all_of.py,sha256=fMhyyKFalcmxv-5cSrI-eVELWgISBrjxKderwgdeRs8,5031
|
|
103
|
+
regula/facesdk/webclient/gen/model/persons_page.py,sha256=xWR9Nc8GN8CgQvTEr56PCW_oThu5K_ngI165zWI-i6M,6304
|
|
104
|
+
regula/facesdk/webclient/gen/model/persons_page_all_of.py,sha256=szgqOY5ehNfQak-YoC12lTGCxHwjknukROFycpaGOuw,4866
|
|
105
|
+
regula/facesdk/webclient/gen/model/process_param.py,sha256=gq1xr5uRESLYiMBTEwLatDvWtBEc8D3By7ic7_ICI04,8419
|
|
106
|
+
regula/facesdk/webclient/gen/model/process_param_attributes.py,sha256=e3B9B9TC6uIVpHzzRZo6T3hrQKzRNmCzAEQDXMi2GDo,4968
|
|
107
|
+
regula/facesdk/webclient/gen/model/quality_config.py,sha256=ElzVbYH3pxuydxT9zDJZ9i4rXXrVBaT_r3a100Pj69E,6380
|
|
108
|
+
regula/facesdk/webclient/gen/model/quality_config_list.py,sha256=SRREZgGclQRQ9uCP2WQNsXS1-N9EK4ojmhbleQlyt-M,4234
|
|
109
|
+
regula/facesdk/webclient/gen/model/quality_detail.py,sha256=XNAzzASnDpf07bNBh7V9FY8F-nwev0PYwGV06Dxh9gw,8326
|
|
110
|
+
regula/facesdk/webclient/gen/model/quality_details_groups.py,sha256=wVEye-dleHS72jtpD8PmINdXHEfiiiIgDVPd5IrqzWo,7594
|
|
111
|
+
regula/facesdk/webclient/gen/model/quality_request.py,sha256=9amUfVEFlmeh9kTZA09LVyyupCVG-ymp__bY0gVwfGY,5864
|
|
112
|
+
regula/facesdk/webclient/gen/model/recognize_image.py,sha256=DL1s_FpT9RJDuQja_M25jKvdu-qrC--umifoL7TNy1c,11522
|
|
113
|
+
regula/facesdk/webclient/gen/model/recognize_image_all_of.py,sha256=-FSmFQlMzm2nNQmMQESBpcQneb4OjEidRPxqsUqGt1k,5980
|
|
114
|
+
regula/facesdk/webclient/gen/model/resize_options.py,sha256=sA_iquSj4mELpQLbJYQ92QkTIyen9k0U_-9_QnntkRo,6401
|
|
115
|
+
regula/facesdk/webclient/gen/model/rgb.py,sha256=jPm35E8tBHz60igNscvxp_JxgGCtTe8JvGwdaXym_pM,4178
|
|
116
|
+
regula/facesdk/webclient/gen/model/search_bad_params.py,sha256=Ym9QZYcVXrcQ9_E0Gj_dkox9gWZW6JOsyIBgYrxpbXo,6177
|
|
117
|
+
regula/facesdk/webclient/gen/model/search_detection.py,sha256=ipdWJyEt4s2btUz6QlrcnZ6u0QXzE3VeGio6847OBMI,12306
|
|
118
|
+
regula/facesdk/webclient/gen/model/search_parameters.py,sha256=DeXIFju9yHymJwbYklaUxTHmCRfs0POPz3zMRORwYMI,6637
|
|
119
|
+
regula/facesdk/webclient/gen/model/search_parameters_create_person.py,sha256=m5iCcEeHKpOq1IsljgaO9Mw9MolclrYqnVg_iXN5_IA,6876
|
|
120
|
+
regula/facesdk/webclient/gen/model/search_person.py,sha256=uDJKuEgm3D2qQhkFcZmfTCClpTXbhQHXswKACZFpgrg,12514
|
|
121
|
+
regula/facesdk/webclient/gen/model/search_person_all_of.py,sha256=4IwmafZ24b0HY2_dLc0TXW1FxPTJqMS00DsZdVZVYjo,5754
|
|
122
|
+
regula/facesdk/webclient/gen/model/search_request.py,sha256=DHGdV8PYzQFQMNSEL9Y-lRIKS0ERcF0qOAl-J0h5fWY,11434
|
|
123
|
+
regula/facesdk/webclient/gen/model/search_request_all_of.py,sha256=d7BwYtTgTnjdjgt67ySwSaRdlGDHkmRdQa_Qj5hQ_xo,5497
|
|
124
|
+
regula/facesdk/webclient/gen/model/search_result.py,sha256=JrvirT-bmsRKUQqu7dgxLGB-67wD-PhmcyIMD3K5AsI,10600
|
|
125
|
+
regula/facesdk/webclient/gen/model/search_result_all_of.py,sha256=b0aT2U4Ii97sG9oS4H-xAYts3e5dpwGKMBsLsey0hRU,3339
|
|
126
|
+
regula/facesdk/webclient/gen/model/transaction_config.py,sha256=lpbiYPiiStKRCq2cebXl8gmC7yfBrOkaeoOAmh7piDs,3067
|
|
127
|
+
regula/facesdk/webclient/gen/model/transaction_info.py,sha256=KW561uj8N_V0K2T_PfZM35Rrr115V7W6R-8rL8T89j0,12295
|
|
128
|
+
regula/facesdk/webclient/gen/model/update_group.py,sha256=zjZC45uUi4zxsd7-x3ew0UTjgYWNEzZwK_9fG1SLE9I,5789
|
|
129
|
+
regula/facesdk/webclient/gen/models/__init__.py,sha256=Ihl1_q8QebOwU3UEvc-LxCrLwq6KJ6tPP070miKmeXg,7381
|
|
130
|
+
regula_facesdk_webclient-6.4.198.dev0.dist-info/METADATA,sha256=OUB4hC8tBQ2-MMufNNJQi6Q6bngmhTpyjfPEohDcF5w,2699
|
|
131
|
+
regula_facesdk_webclient-6.4.198.dev0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
|
|
132
|
+
regula_facesdk_webclient-6.4.198.dev0.dist-info/top_level.txt,sha256=SFSSVn4j8QDivd3307s97NtpIJ8zOjiWZloAxZIClJY,7
|
|
133
|
+
regula_facesdk_webclient-6.4.198.dev0.dist-info/RECORD,,
|