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.
- regula_facesdk_webclient-8.1.448.dev0/PKG-INFO +87 -0
- regula_facesdk_webclient-8.1.448.dev0/README.md +57 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/__init__.py +0 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/__init__.py +0 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/__init__.py +15 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/__init__.py +5 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/__init__.py +3 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/group_api.py +11 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/match_api.py +20 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/person_api.py +20 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/sdk.py +30 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/api/search_api.py +13 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/common.py +7 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/__init__.py +6 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/detect_request.py +30 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/match_image.py +19 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/ext/models/match_request.py +34 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/__init__.py +358 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/__init__.py +30 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/group_api.py +2095 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/healthcheck_api.py +547 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/liveness20_api.py +565 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/match_api.py +909 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/person_api.py +2705 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api/search_api.py +340 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api_client.py +796 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/api_response.py +21 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/configuration.py +572 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/exceptions.py +208 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/__init__.py +205 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_request.py +96 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_request_data.py +92 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_request_image.py +92 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/add_image_to_person_response.py +92 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/attribute_config.py +83 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/attributes_data.py +82 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/crop.py +88 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detail_item.py +136 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_attributes_details.py +84 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_details_meta.py +86 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_meta_data.py +84 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_request.py +94 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_request_data.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_response.py +89 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_response_results.py +86 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detect_result.py +98 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection.py +98 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_attributes.py +92 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_attributes_details_inner.py +132 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_face.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/detection_quality.py +107 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/device_info.py +111 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_attribute.py +40 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_align_type.py +32 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_groups.py +35 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_groups_strings.py +35 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_image_quality_status.py +30 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_quality_config_name.py +75 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_quality_scenarios.py +37 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_sdk_result.py +83 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/face_sdk_result_code.py +68 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/faces_response.py +100 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/faces_response_data.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/filter_op.py +29 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/filter_search_request.py +87 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group.py +89 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_data.py +85 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_page.py +94 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_page_items.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_response.py +84 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/group_to_create.py +86 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image.py +96 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_fields.py +100 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_fields_image.py +92 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_page.py +94 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_page_items.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/image_source.py +34 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/liveness_type.py +29 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_request.py +103 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_request_images_item.py +87 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_response.py +107 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_response_data.py +104 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_and_search_response_data_detections_item.py +95 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_image.py +89 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_image_detection.py +95 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_image_result.py +97 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_request.py +102 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_request_data.py +98 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_response.py +105 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/match_response_data.py +102 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/operation_log.py +88 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/output_image_params.py +89 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/page.py +84 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person.py +97 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_data.py +87 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_fields.py +91 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_items.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_to_update_fields.py +89 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_with_images.py +107 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/person_with_images_data.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/persons_page.py +94 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/process_param.py +103 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/process_param_attributes.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_config.py +86 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_detail.py +94 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_details_groups.py +90 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/quality_request.py +93 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/recognize_image.py +100 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/recognize_image_data.py +84 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/resize_options.py +86 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_bad_params.py +86 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_detection.py +102 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_parameters.py +95 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_parameters_create_person.py +86 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_person.py +113 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_person_data.py +96 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_request.py +119 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/search_result.py +92 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/transaction_info.py +99 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/transaction_labels.py +84 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/models/update_group.py +85 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/py.typed +0 -0
- regula_facesdk_webclient-8.1.448.dev0/regula/facesdk/webclient/gen/rest.py +250 -0
- regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/PKG-INFO +87 -0
- regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/SOURCES.txt +128 -0
- regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/dependency_links.txt +1 -0
- regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/requires.txt +10 -0
- regula_facesdk_webclient-8.1.448.dev0/regula_facesdk_webclient.egg-info/top_level.txt +1 -0
- regula_facesdk_webclient-8.1.448.dev0/setup.cfg +4 -0
- 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
|
+
[](https://github.com/regulaforensics/FaceSDK-web-openapi)
|
|
34
|
+
[](https://support.regulaforensics.com/hc/en-us/articles/115000916306-Documentation)
|
|
35
|
+
[](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
|
+
[](https://github.com/regulaforensics/FaceSDK-web-openapi)
|
|
4
|
+
[](https://support.regulaforensics.com/hc/en-us/articles/115000916306-Documentation)
|
|
5
|
+
[](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.
|
|
File without changes
|
|
File without changes
|
|
@@ -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,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,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
|
+
)
|