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.

Files changed (133) hide show
  1. regula/__init__.py +0 -0
  2. regula/facesdk/__init__.py +0 -0
  3. regula/facesdk/webclient/__init__.py +15 -0
  4. regula/facesdk/webclient/ext/__init__.py +5 -0
  5. regula/facesdk/webclient/ext/api/__init__.py +3 -0
  6. regula/facesdk/webclient/ext/api/group_api.py +36 -0
  7. regula/facesdk/webclient/ext/api/match_api.py +46 -0
  8. regula/facesdk/webclient/ext/api/person_api.py +46 -0
  9. regula/facesdk/webclient/ext/api/sdk.py +28 -0
  10. regula/facesdk/webclient/ext/api/search_api.py +17 -0
  11. regula/facesdk/webclient/ext/common.py +7 -0
  12. regula/facesdk/webclient/ext/models/__init__.py +6 -0
  13. regula/facesdk/webclient/ext/models/detect_request.py +32 -0
  14. regula/facesdk/webclient/ext/models/match_image.py +19 -0
  15. regula/facesdk/webclient/ext/models/match_request.py +34 -0
  16. regula/facesdk/webclient/gen/__init__.py +27 -0
  17. regula/facesdk/webclient/gen/api/__init__.py +3 -0
  18. regula/facesdk/webclient/gen/api/diagnostics_api.py +162 -0
  19. regula/facesdk/webclient/gen/api/group_api.py +1040 -0
  20. regula/facesdk/webclient/gen/api/healthcheck_api.py +283 -0
  21. regula/facesdk/webclient/gen/api/liveness_2_0_api.py +168 -0
  22. regula/facesdk/webclient/gen/api/liveness_api.py +424 -0
  23. regula/facesdk/webclient/gen/api/match_api.py +463 -0
  24. regula/facesdk/webclient/gen/api/person_api.py +1345 -0
  25. regula/facesdk/webclient/gen/api/search_api.py +177 -0
  26. regula/facesdk/webclient/gen/api_client.py +695 -0
  27. regula/facesdk/webclient/gen/apis/__init__.py +22 -0
  28. regula/facesdk/webclient/gen/configuration.py +446 -0
  29. regula/facesdk/webclient/gen/exceptions.py +159 -0
  30. regula/facesdk/webclient/gen/model/__init__.py +5 -0
  31. regula/facesdk/webclient/gen/model/add_image_to_person_request.py +205 -0
  32. regula/facesdk/webclient/gen/model/add_image_to_person_request_image.py +204 -0
  33. regula/facesdk/webclient/gen/model/add_image_to_person_response.py +262 -0
  34. regula/facesdk/webclient/gen/model/attribute_config.py +120 -0
  35. regula/facesdk/webclient/gen/model/attribute_config_list.py +92 -0
  36. regula/facesdk/webclient/gen/model/crop.py +208 -0
  37. regula/facesdk/webclient/gen/model/detect_request.py +204 -0
  38. regula/facesdk/webclient/gen/model/detect_request_attributes.py +120 -0
  39. regula/facesdk/webclient/gen/model/detect_response.py +147 -0
  40. regula/facesdk/webclient/gen/model/detect_response_all_of.py +120 -0
  41. regula/facesdk/webclient/gen/model/detect_result.py +231 -0
  42. regula/facesdk/webclient/gen/model/detection.py +258 -0
  43. regula/facesdk/webclient/gen/model/detection_attributes.py +148 -0
  44. regula/facesdk/webclient/gen/model/detection_face.py +260 -0
  45. regula/facesdk/webclient/gen/model/detection_quality.py +234 -0
  46. regula/facesdk/webclient/gen/model/device_info.py +231 -0
  47. regula/facesdk/webclient/gen/model/face_align_type_quality.py +109 -0
  48. regula/facesdk/webclient/gen/model/face_attribute.py +133 -0
  49. regula/facesdk/webclient/gen/model/face_image_quality_align_type.py +109 -0
  50. regula/facesdk/webclient/gen/model/face_image_quality_groups.py +118 -0
  51. regula/facesdk/webclient/gen/model/face_image_quality_groups_strings.py +118 -0
  52. regula/facesdk/webclient/gen/model/face_image_quality_status.py +103 -0
  53. regula/facesdk/webclient/gen/model/face_quality_config_name.py +238 -0
  54. regula/facesdk/webclient/gen/model/face_quality_scenarios.py +121 -0
  55. regula/facesdk/webclient/gen/model/face_quality_status.py +103 -0
  56. regula/facesdk/webclient/gen/model/face_rectangular.py +92 -0
  57. regula/facesdk/webclient/gen/model/face_sdk_result.py +121 -0
  58. regula/facesdk/webclient/gen/model/face_sdk_result_code.py +217 -0
  59. regula/facesdk/webclient/gen/model/faces_response.py +286 -0
  60. regula/facesdk/webclient/gen/model/faces_response_all_of.py +148 -0
  61. regula/facesdk/webclient/gen/model/filter_op.py +100 -0
  62. regula/facesdk/webclient/gen/model/filter_search_request.py +176 -0
  63. regula/facesdk/webclient/gen/model/group.py +206 -0
  64. regula/facesdk/webclient/gen/model/group_all_of.py +150 -0
  65. regula/facesdk/webclient/gen/model/group_page.py +178 -0
  66. regula/facesdk/webclient/gen/model/group_page_all_of.py +122 -0
  67. regula/facesdk/webclient/gen/model/group_response.py +150 -0
  68. regula/facesdk/webclient/gen/model/group_to_create.py +180 -0
  69. regula/facesdk/webclient/gen/model/image.py +290 -0
  70. regula/facesdk/webclient/gen/model/image_fields.py +258 -0
  71. regula/facesdk/webclient/gen/model/image_fields_image.py +204 -0
  72. regula/facesdk/webclient/gen/model/image_page.py +176 -0
  73. regula/facesdk/webclient/gen/model/image_page_all_of.py +120 -0
  74. regula/facesdk/webclient/gen/model/image_source.py +115 -0
  75. regula/facesdk/webclient/gen/model/liveness_transaction.py +334 -0
  76. regula/facesdk/webclient/gen/model/liveness_type.py +100 -0
  77. regula/facesdk/webclient/gen/model/match_and_search_request.py +178 -0
  78. regula/facesdk/webclient/gen/model/match_and_search_request_all_of.py +178 -0
  79. regula/facesdk/webclient/gen/model/match_and_search_request_all_of_images.py +148 -0
  80. regula/facesdk/webclient/gen/model/match_and_search_response.py +233 -0
  81. regula/facesdk/webclient/gen/model/match_and_search_response_all_of.py +206 -0
  82. regula/facesdk/webclient/gen/model/match_and_search_response_all_of_detections.py +176 -0
  83. regula/facesdk/webclient/gen/model/match_image.py +205 -0
  84. regula/facesdk/webclient/gen/model/match_image_detection.py +178 -0
  85. regula/facesdk/webclient/gen/model/match_image_result.py +316 -0
  86. regula/facesdk/webclient/gen/model/match_request.py +204 -0
  87. regula/facesdk/webclient/gen/model/match_request_output_image_params.py +148 -0
  88. regula/facesdk/webclient/gen/model/match_request_output_image_params_crop.py +212 -0
  89. regula/facesdk/webclient/gen/model/match_response.py +205 -0
  90. regula/facesdk/webclient/gen/model/match_response_all_of.py +178 -0
  91. regula/facesdk/webclient/gen/model/operation_log.py +206 -0
  92. regula/facesdk/webclient/gen/model/output_image_params.py +146 -0
  93. regula/facesdk/webclient/gen/model/page.py +150 -0
  94. regula/facesdk/webclient/gen/model/person.py +318 -0
  95. regula/facesdk/webclient/gen/model/person_all_of.py +206 -0
  96. regula/facesdk/webclient/gen/model/person_created_response.py +178 -0
  97. regula/facesdk/webclient/gen/model/person_fields.py +234 -0
  98. regula/facesdk/webclient/gen/model/person_to_update_fields.py +206 -0
  99. regula/facesdk/webclient/gen/model/person_with_images.py +346 -0
  100. regula/facesdk/webclient/gen/model/person_with_images_all_of.py +122 -0
  101. regula/facesdk/webclient/gen/model/persons_page.py +176 -0
  102. regula/facesdk/webclient/gen/model/persons_page_all_of.py +120 -0
  103. regula/facesdk/webclient/gen/model/process_param.py +226 -0
  104. regula/facesdk/webclient/gen/model/process_param_attributes.py +120 -0
  105. regula/facesdk/webclient/gen/model/quality_config.py +154 -0
  106. regula/facesdk/webclient/gen/model/quality_config_list.py +92 -0
  107. regula/facesdk/webclient/gen/model/quality_detail.py +234 -0
  108. regula/facesdk/webclient/gen/model/quality_details_groups.py +202 -0
  109. regula/facesdk/webclient/gen/model/quality_request.py +146 -0
  110. regula/facesdk/webclient/gen/model/recognize_image.py +346 -0
  111. regula/facesdk/webclient/gen/model/recognize_image_all_of.py +150 -0
  112. regula/facesdk/webclient/gen/model/resize_options.py +178 -0
  113. regula/facesdk/webclient/gen/model/rgb.py +92 -0
  114. regula/facesdk/webclient/gen/model/search_bad_params.py +172 -0
  115. regula/facesdk/webclient/gen/model/search_detection.py +398 -0
  116. regula/facesdk/webclient/gen/model/search_parameters.py +174 -0
  117. regula/facesdk/webclient/gen/model/search_parameters_create_person.py +177 -0
  118. regula/facesdk/webclient/gen/model/search_person.py +372 -0
  119. regula/facesdk/webclient/gen/model/search_person_all_of.py +148 -0
  120. regula/facesdk/webclient/gen/model/search_request.py +338 -0
  121. regula/facesdk/webclient/gen/model/search_request_all_of.py +178 -0
  122. regula/facesdk/webclient/gen/model/search_result.py +313 -0
  123. regula/facesdk/webclient/gen/model/search_result_all_of.py +122 -0
  124. regula/facesdk/webclient/gen/model/transaction_config.py +92 -0
  125. regula/facesdk/webclient/gen/model/transaction_info.py +344 -0
  126. regula/facesdk/webclient/gen/model/update_group.py +150 -0
  127. regula/facesdk/webclient/gen/model_utils.py +2037 -0
  128. regula/facesdk/webclient/gen/models/__init__.py +96 -0
  129. regula/facesdk/webclient/gen/rest.py +346 -0
  130. regula_facesdk_webclient-6.4.198.dev0.dist-info/METADATA +73 -0
  131. regula_facesdk_webclient-6.4.198.dev0.dist-info/RECORD +133 -0
  132. regula_facesdk_webclient-6.4.198.dev0.dist-info/WHEEL +5 -0
  133. 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
+ [![OpenAPI](https://img.shields.io/badge/OpenAPI-defs-8c0a56?style=flat-square)](https://github.com/regulaforensics/FaceSDK-web-openapi)
22
+ [![documentation](https://img.shields.io/badge/docs-en-f6858d?style=flat-square)](https://support.regulaforensics.com/hc/en-us/articles/115000916306-Documentation)
23
+ [![live](https://img.shields.io/badge/live-demo-0a8c42?style=flat-square)](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,,