regula-facesdk-webclient 8.1.448.dev0__tar.gz

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.
Files changed (130) hide show
  1. regula_facesdk_webclient-8.1.448.dev0/PKG-INFO +87 -0
  2. regula_facesdk_webclient-8.1.448.dev0/README.md +57 -0
  3. regula_facesdk_webclient-8.1.448.dev0/regula/__init__.py +0 -0
  4. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/__init__.py +0 -0
  5. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/__init__.py +15 -0
  6. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/__init__.py +5 -0
  7. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/__init__.py +3 -0
  8. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/group_api.py +11 -0
  9. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/match_api.py +20 -0
  10. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/person_api.py +20 -0
  11. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/sdk.py +30 -0
  12. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/search_api.py +13 -0
  13. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/common.py +7 -0
  14. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/__init__.py +6 -0
  15. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/detect_request.py +30 -0
  16. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/match_image.py +19 -0
  17. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/match_request.py +34 -0
  18. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/__init__.py +358 -0
  19. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/__init__.py +30 -0
  20. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/group_api.py +2095 -0
  21. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/healthcheck_api.py +547 -0
  22. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/liveness20_api.py +565 -0
  23. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/match_api.py +909 -0
  24. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/person_api.py +2705 -0
  25. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/search_api.py +340 -0
  26. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api_client.py +796 -0
  27. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api_response.py +21 -0
  28. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/configuration.py +572 -0
  29. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/exceptions.py +208 -0
  30. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/__init__.py +205 -0
  31. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_request.py +96 -0
  32. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_request_data.py +92 -0
  33. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_request_image.py +92 -0
  34. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_response.py +92 -0
  35. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/attribute_config.py +83 -0
  36. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/attributes_data.py +82 -0
  37. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/crop.py +88 -0
  38. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detail_item.py +136 -0
  39. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_attributes_details.py +84 -0
  40. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_details_meta.py +86 -0
  41. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_meta_data.py +84 -0
  42. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_request.py +94 -0
  43. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_request_data.py +90 -0
  44. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_response.py +89 -0
  45. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_response_results.py +86 -0
  46. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_result.py +98 -0
  47. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection.py +98 -0
  48. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_attributes.py +92 -0
  49. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_attributes_details_inner.py +132 -0
  50. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_face.py +90 -0
  51. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_quality.py +107 -0
  52. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/device_info.py +111 -0
  53. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_attribute.py +40 -0
  54. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_align_type.py +32 -0
  55. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_groups.py +35 -0
  56. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_groups_strings.py +35 -0
  57. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_status.py +30 -0
  58. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_quality_config_name.py +75 -0
  59. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_quality_scenarios.py +37 -0
  60. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_sdk_result.py +83 -0
  61. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_sdk_result_code.py +68 -0
  62. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/faces_response.py +100 -0
  63. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/faces_response_data.py +90 -0
  64. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/filter_op.py +29 -0
  65. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/filter_search_request.py +87 -0
  66. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group.py +89 -0
  67. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_data.py +85 -0
  68. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_page.py +94 -0
  69. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_page_items.py +90 -0
  70. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_response.py +84 -0
  71. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_to_create.py +86 -0
  72. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image.py +96 -0
  73. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_fields.py +100 -0
  74. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_fields_image.py +92 -0
  75. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_page.py +94 -0
  76. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_page_items.py +90 -0
  77. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_source.py +34 -0
  78. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/liveness_type.py +29 -0
  79. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_request.py +103 -0
  80. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_request_images_item.py +87 -0
  81. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_response.py +107 -0
  82. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_response_data.py +104 -0
  83. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_response_data_detections_item.py +95 -0
  84. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_image.py +89 -0
  85. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_image_detection.py +95 -0
  86. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_image_result.py +97 -0
  87. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_request.py +102 -0
  88. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_request_data.py +98 -0
  89. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_response.py +105 -0
  90. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_response_data.py +102 -0
  91. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/operation_log.py +88 -0
  92. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/output_image_params.py +89 -0
  93. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/page.py +84 -0
  94. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person.py +97 -0
  95. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_data.py +87 -0
  96. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_fields.py +91 -0
  97. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_items.py +90 -0
  98. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_to_update_fields.py +89 -0
  99. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_with_images.py +107 -0
  100. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_with_images_data.py +90 -0
  101. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/persons_page.py +94 -0
  102. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/process_param.py +103 -0
  103. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/process_param_attributes.py +90 -0
  104. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_config.py +86 -0
  105. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_detail.py +94 -0
  106. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_details_groups.py +90 -0
  107. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_request.py +93 -0
  108. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/recognize_image.py +100 -0
  109. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/recognize_image_data.py +84 -0
  110. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/resize_options.py +86 -0
  111. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_bad_params.py +86 -0
  112. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_detection.py +102 -0
  113. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_parameters.py +95 -0
  114. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_parameters_create_person.py +86 -0
  115. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_person.py +113 -0
  116. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_person_data.py +96 -0
  117. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_request.py +119 -0
  118. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_result.py +92 -0
  119. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/transaction_info.py +99 -0
  120. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/transaction_labels.py +84 -0
  121. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/update_group.py +85 -0
  122. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/py.typed +0 -0
  123. regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/rest.py +250 -0
  124. regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/PKG-INFO +87 -0
  125. regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/SOURCES.txt +128 -0
  126. regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/dependency_links.txt +1 -0
  127. regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/requires.txt +10 -0
  128. regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/top_level.txt +1 -0
  129. regula_facesdk_webclient-8.1.448.dev0/setup.cfg +4 -0
  130. regula_facesdk_webclient-8.1.448.dev0/setup.py +34 -0
@@ -0,0 +1,87 @@
1
+ Metadata-Version: 2.4
2
+ Name: regula_facesdk_webclient
3
+ Version: 8.1.448.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.9
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.8.2
14
+ Requires-Dist: urllib3<3.0.0,>=1.25.3
15
+ Requires-Dist: vistir<=0.6.1,>=0.4.0
16
+ Requires-Dist: idna==3.7
17
+ Requires-Dist: requests>=2.32.3
18
+ Requires-Dist: pydantic>=2
19
+ Requires-Dist: typing-extensions>=4.7.1
20
+ Requires-Dist: lazy-imports==1.0.1
21
+ Dynamic: author
22
+ Dynamic: author-email
23
+ Dynamic: description
24
+ Dynamic: description-content-type
25
+ Dynamic: home-page
26
+ Dynamic: keywords
27
+ Dynamic: requires-dist
28
+ Dynamic: requires-python
29
+ Dynamic: summary
30
+
31
+ # Regula Face SDK web API Python 3.9+ client
32
+
33
+ [![OpenAPI](https://img.shields.io/badge/OpenAPI-defs-8c0a56?style=flat-square)](https://github.com/regulaforensics/FaceSDK-web-openapi)
34
+ [![documentation](https://img.shields.io/badge/docs-en-f6858d?style=flat-square)](https://support.regulaforensics.com/hc/en-us/articles/115000916306-Documentation)
35
+ [![live](https://img.shields.io/badge/live-demo-0a8c42?style=flat-square)](https://faceapi.regulaforensics.com/)
36
+
37
+ ## ⚠️ Warning: Package Name Changed
38
+ ## Package name has been changed from `regula.facesdk.webclient` to `regula_facesdk_webclient`
39
+
40
+ Face recognition as easy as reading two bytes.
41
+
42
+ If you have any problems with or questions about this client, please contact us
43
+ through a [GitHub issue](https://github.com/regulaforensics/FaceSDK-web-python-client/issues).
44
+ 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;
45
+ We are always thrilled to receive pull requests, and do our best to process them as fast as we can.
46
+ See [dev guide](./dev.md)
47
+
48
+ ## Install package
49
+ `regula_facesdk_webclient` is on the Python Package Index (PyPI):
50
+
51
+ ```bash
52
+ pip install regula_facesdk_webclient
53
+ ```
54
+
55
+ Or using `pipenv`
56
+ ```bash
57
+ pipenv install regula_facesdk_webclient
58
+ ```
59
+
60
+ ## Example
61
+ Performing request:
62
+
63
+ ```python
64
+ from regula.facesdk.webclient import MatchImage, MatchRequest
65
+ from regula.facesdk.webclient.ext import FaceSdk, DetectRequest
66
+ from regula.facesdk.webclient.gen.model.image_source import ImageSource
67
+
68
+ with open("face1.jpg", "rb") as f:
69
+ face_1_bytes = f.read()
70
+
71
+ with open("face2.jpg", "rb") as f:
72
+ face_2_bytes = f.read()
73
+
74
+ with FaceSdk(host="http://0.0.0.0:41101") as sdk:
75
+ images = [
76
+ MatchImage(index=1, data=face_1_bytes, type=ImageSource.LIVE),
77
+ MatchImage(index=2, data=face_1_bytes, type=ImageSource.DOCUMENT_RFID),
78
+ MatchImage(index=3, data=face_2_bytes)
79
+ ]
80
+ match_request = MatchRequest(images=images)
81
+ match_response = sdk.match_api.match(match_request)
82
+
83
+ detect_request = DetectRequest(image=face_1_bytes)
84
+ detect_response = sdk.match_api.detect(detect_request)
85
+ ```
86
+
87
+ You can find more detailed guide and run this sample in [example](./example) folder.
@@ -0,0 +1,57 @@
1
+ # Regula Face SDK web API Python 3.9+ client
2
+
3
+ [![OpenAPI](https://img.shields.io/badge/OpenAPI-defs-8c0a56?style=flat-square)](https://github.com/regulaforensics/FaceSDK-web-openapi)
4
+ [![documentation](https://img.shields.io/badge/docs-en-f6858d?style=flat-square)](https://support.regulaforensics.com/hc/en-us/articles/115000916306-Documentation)
5
+ [![live](https://img.shields.io/badge/live-demo-0a8c42?style=flat-square)](https://faceapi.regulaforensics.com/)
6
+
7
+ ## ⚠️ Warning: Package Name Changed
8
+ ## Package name has been changed from `regula.facesdk.webclient` to `regula_facesdk_webclient`
9
+
10
+ Face recognition as easy as reading two bytes.
11
+
12
+ If you have any problems with or questions about this client, please contact us
13
+ through a [GitHub issue](https://github.com/regulaforensics/FaceSDK-web-python-client/issues).
14
+ 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;
15
+ We are always thrilled to receive pull requests, and do our best to process them as fast as we can.
16
+ See [dev guide](./dev.md)
17
+
18
+ ## Install package
19
+ `regula_facesdk_webclient` is on the Python Package Index (PyPI):
20
+
21
+ ```bash
22
+ pip install regula_facesdk_webclient
23
+ ```
24
+
25
+ Or using `pipenv`
26
+ ```bash
27
+ pipenv install regula_facesdk_webclient
28
+ ```
29
+
30
+ ## Example
31
+ Performing request:
32
+
33
+ ```python
34
+ from regula.facesdk.webclient import MatchImage, MatchRequest
35
+ from regula.facesdk.webclient.ext import FaceSdk, DetectRequest
36
+ from regula.facesdk.webclient.gen.model.image_source import ImageSource
37
+
38
+ with open("face1.jpg", "rb") as f:
39
+ face_1_bytes = f.read()
40
+
41
+ with open("face2.jpg", "rb") as f:
42
+ face_2_bytes = f.read()
43
+
44
+ with FaceSdk(host="http://0.0.0.0:41101") as sdk:
45
+ images = [
46
+ MatchImage(index=1, data=face_1_bytes, type=ImageSource.LIVE),
47
+ MatchImage(index=2, data=face_1_bytes, type=ImageSource.DOCUMENT_RFID),
48
+ MatchImage(index=3, data=face_2_bytes)
49
+ ]
50
+ match_request = MatchRequest(images=images)
51
+ match_response = sdk.match_api.match(match_request)
52
+
53
+ detect_request = DetectRequest(image=face_1_bytes)
54
+ detect_response = sdk.match_api.detect(detect_request)
55
+ ```
56
+
57
+ You can find more detailed guide and run this sample in [example](./example) folder.
@@ -0,0 +1,15 @@
1
+ # compatibility import
2
+ from regula.facesdk.webclient.ext import MatchImage, MatchRequest
3
+ from regula.facesdk.webclient.gen.models.face_sdk_result import FaceSDKResult
4
+ from regula.facesdk.webclient.gen.models.face_sdk_result_code import FaceSDKResultCode
5
+ from regula.facesdk.webclient.gen.models.match_image_detection import MatchImageDetection
6
+ from regula.facesdk.webclient.gen.models.match_image_result import MatchImageResult
7
+ from regula.facesdk.webclient.gen.models.match_response import MatchResponse
8
+
9
+ FaceRecognitionResult = FaceSDKResult
10
+ FaceRecognitionResultCode = FaceSDKResultCode
11
+ CompareImage = MatchImage
12
+ CompareImageDetection = MatchImageDetection
13
+ CompareImageResult = MatchImageResult
14
+ CompareRequest = MatchRequest
15
+ CompareResponse = MatchResponse
@@ -0,0 +1,5 @@
1
+ from regula.facesdk.webclient.ext.api import MatchApi, FaceSdk
2
+ from regula.facesdk.webclient.ext.common import Base64String
3
+ from regula.facesdk.webclient.ext.models import MatchRequest
4
+ from regula.facesdk.webclient.ext.models import MatchImage
5
+ from regula.facesdk.webclient.ext.models import DetectRequest
@@ -0,0 +1,3 @@
1
+ from regula.facesdk.webclient.ext.api.match_api import MatchApi
2
+ from regula.facesdk.webclient.ext.api.person_api import PersonApi
3
+ from regula.facesdk.webclient.ext.api.sdk import FaceSdk
@@ -0,0 +1,11 @@
1
+ from regula.facesdk.webclient.gen.api.group_api import GroupApi as GenGroupApi
2
+ from regula.facesdk.webclient.gen.models.group import Group
3
+ from regula.facesdk.webclient.gen.models.group_to_create import GroupToCreate
4
+
5
+
6
+ class GroupApi(GenGroupApi):
7
+ def create_group(self, group_name: str, metadata=None, **kwargs) -> Group:
8
+ if metadata is None:
9
+ metadata = {}
10
+ group_to_create = GroupToCreate(name=group_name, metadata=metadata)
11
+ return super().create_group(group_to_create, **kwargs)
@@ -0,0 +1,20 @@
1
+ from regula.facesdk.webclient.gen import Configuration, ApiClient
2
+ from regula.facesdk.webclient.gen.api import MatchApi as GenMatchApi
3
+
4
+
5
+ class MatchApi(GenMatchApi):
6
+ def __init__(self, host=None, debug=False, verify_ssl=False, api_client=None):
7
+ if api_client:
8
+ super().__init__(api_client)
9
+ else:
10
+ configuration = Configuration(host=host)
11
+ configuration.debug = debug
12
+ configuration.verify_ssl = verify_ssl
13
+
14
+ super().__init__(ApiClient(configuration=configuration))
15
+
16
+ def __enter__(self):
17
+ return self
18
+
19
+ def __exit__(self, exc_type, exc_value, traceback):
20
+ pass
@@ -0,0 +1,20 @@
1
+ import base64
2
+
3
+ from regula.facesdk.webclient.gen.models.add_image_to_person_request import AddImageToPersonRequest
4
+ from regula.facesdk.webclient.gen.models.add_image_to_person_request_image import AddImageToPersonRequestImage
5
+ from regula.facesdk.webclient.gen.models.add_image_to_person_response import AddImageToPersonResponse
6
+ from regula.facesdk.webclient.gen.api.person_api import PersonApi as GenPersonApi
7
+ from regula.facesdk.webclient.gen.models.person import Person
8
+ from regula.facesdk.webclient.gen.models.person_fields import PersonFields
9
+ from uuid import UUID
10
+
11
+ class PersonApi(GenPersonApi):
12
+ def add_image_to_person(self, person_id: UUID, content: bytes, content_type: str = None, **kwargs) -> AddImageToPersonResponse:
13
+ base_image = base64.b64encode(content).decode("UTF-8")
14
+ image = AddImageToPersonRequest(image=AddImageToPersonRequestImage(contentType=content_type, content=base_image))
15
+ return super().add_image_to_person(person_id, image, **kwargs)
16
+
17
+ def create_person(self, person_fields: PersonFields, **kwargs) -> Person:
18
+ if person_fields.metadata is None:
19
+ person_fields.metadata = {}
20
+ return super().create_person(person_fields, **kwargs)
@@ -0,0 +1,30 @@
1
+ from regula.facesdk.webclient.ext.api import MatchApi
2
+ from regula.facesdk.webclient.ext.api import PersonApi
3
+ from regula.facesdk.webclient.ext.api.group_api import GroupApi
4
+ from regula.facesdk.webclient.ext.api.search_api import SearchApi
5
+ from regula.facesdk.webclient.gen import ApiClient, Configuration, HealthcheckApi, Liveness20Api
6
+
7
+
8
+ class FaceSdk:
9
+ def __init__(self, host=None, debug=None, verify_ssl=True, api_client=None):
10
+ if api_client:
11
+ self.__api_client = api_client
12
+ else:
13
+ configuration = Configuration(host=host)
14
+ configuration.debug = debug
15
+ configuration.verify_ssl = verify_ssl
16
+
17
+ self.__api_client = ApiClient(configuration=configuration)
18
+
19
+ self.match_api = MatchApi(api_client=self.__api_client)
20
+ self.person_api = PersonApi(api_client=self.__api_client)
21
+ self.group_api = GroupApi(api_client=self.__api_client)
22
+ self.search_api = SearchApi(api_client=self.__api_client)
23
+ self.healthcheck = HealthcheckApi(api_client=self.__api_client)
24
+ self.liveness = Liveness20Api(api_client=self.__api_client)
25
+
26
+ def __enter__(self):
27
+ return self
28
+
29
+ def __exit__(self, exc_type, exc_value, traceback):
30
+ pass
@@ -0,0 +1,13 @@
1
+ import base64
2
+
3
+ from regula.facesdk.webclient.gen.api.search_api import SearchApi as GenSearchApi
4
+ from regula.facesdk.webclient.gen.models.search_request import SearchRequest
5
+ from regula.facesdk.webclient.gen.models.search_result import SearchResult
6
+
7
+
8
+ class SearchApi(GenSearchApi):
9
+ def search(self, search_request: SearchRequest, **kwargs) -> SearchResult:
10
+ image = search_request.image
11
+ if image is not None:
12
+ search_request.image.content = base64.b64encode(image.content).decode("utf-8") if image.content else None
13
+ return super().search(search_request, **kwargs)
@@ -0,0 +1,7 @@
1
+ import base64
2
+
3
+ Base64String = str
4
+
5
+
6
+ def bytes_to_base64(payload: bytes):
7
+ return base64.b64encode(payload).decode("utf-8")
@@ -0,0 +1,6 @@
1
+ from regula.facesdk.webclient.ext.models.match_request import MatchRequest
2
+ from regula.facesdk.webclient.ext.models.match_image import MatchImage
3
+ from regula.facesdk.webclient.ext.models.detect_request import DetectRequest
4
+
5
+ CompareRequest = MatchRequest
6
+ CompareImage = MatchImage
@@ -0,0 +1,30 @@
1
+ from typing import Union
2
+
3
+ from regula.facesdk.webclient.ext.common import Base64String, bytes_to_base64
4
+ from regula.facesdk.webclient.gen import ApiValueError
5
+ from regula.facesdk.webclient.gen.models.process_param import ProcessParam
6
+ from regula.facesdk.webclient.gen.models import DetectRequest as GetDetectRequest
7
+
8
+
9
+ class DetectRequest(GetDetectRequest):
10
+ def __init__(
11
+ self,
12
+ image: Union[Base64String, bytes],
13
+ process_param: ProcessParam = None,
14
+ tag=None,
15
+ env=None,
16
+ tenant=None
17
+ ):
18
+ if not image:
19
+ raise ApiValueError(f"image: expected <not empty> - obtained <{image}>", "image")
20
+
21
+ if isinstance(image, bytes):
22
+ image = bytes_to_base64(image)
23
+
24
+ super().__init__(
25
+ image=image,
26
+ tag=tag,
27
+ process_param=process_param,
28
+ env=env,
29
+ tenant=tenant
30
+ )
@@ -0,0 +1,19 @@
1
+ from typing import Union
2
+
3
+ from regula.facesdk.webclient.ext.common import Base64String, bytes_to_base64
4
+ from regula.facesdk.webclient.gen import ApiValueError
5
+ from regula.facesdk.webclient.gen.models.image_source import ImageSource
6
+ from regula.facesdk.webclient.gen.models import MatchImage as GenMatchImage
7
+
8
+
9
+ class MatchImage(GenMatchImage):
10
+ def __init__(self, index=None, type=None, data: Union[Base64String, bytes] = None, detect_all=None):
11
+ if not data:
12
+ raise ApiValueError(f"compare image {index} data: expected <not empty>")
13
+
14
+ if not type:
15
+ type = ImageSource.LIVE
16
+ if isinstance(data, bytes):
17
+ data = bytes_to_base64(data)
18
+
19
+ super().__init__(index=index, type=type, data=data, detectAll=detect_all)
@@ -0,0 +1,34 @@
1
+ from typing import List, Union
2
+
3
+ from regula.facesdk.webclient.ext.common import Base64String
4
+ from regula.facesdk.webclient.ext.models.match_image import MatchImage
5
+ from regula.facesdk.webclient.gen import ApiValueError
6
+ from regula.facesdk.webclient.gen.models import MatchRequest as GenMatchRequest
7
+
8
+
9
+ class MatchRequest(GenMatchRequest):
10
+ def __init__(
11
+ self,
12
+ images: List[Union[MatchImage, Base64String, bytes]],
13
+ output_image_params=None,
14
+ tag=None,
15
+ env=None,
16
+ tenant=None
17
+ ):
18
+ if not images:
19
+ raise ApiValueError(f"compare request images: expected size <more than 1>")
20
+
21
+ input_images = []
22
+ for index, item in enumerate(images):
23
+ if isinstance(item, MatchImage):
24
+ input_images.append(item)
25
+ else:
26
+ input_images.append(MatchImage(index, None, item))
27
+
28
+ super().__init__(
29
+ images=input_images,
30
+ output_image_params=output_image_params,
31
+ tag=tag,
32
+ env=env,
33
+ tenant=tenant
34
+ )