{ "info": { "author": "Nodeflux", "author_email": "ilham@nodeflux.io", "bugtrack_url": null, "classifiers": [ "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.4" ], "description": "\n# Nodeflux Cloud Client Library for Python\n\nThis repository is a Python client library for Nodeflux Cloud Analytics. It implements the APIs defined in [nodefluxapis](https://gitlab.com/nodefluxio/nodefluxapis).\n\n## Installation\n\n```\npip install nodeflux-cloud\n```\n\n## Example\n\n```python\n# image_analytic.py\n\nfrom nodeflux.cloud.clients import ImageAnalyticClient\nfrom nodeflux.cloud.requests import ImageAnalyticRequest, AnalyticTypes\n\nclient = ImageAnalyticClient()\n\nwith open('some-image.jpg', 'rb') as image_file:\n image_content = image_file.read()\n\nrequests = [\n ImageAnalyticRequest(\n image_content,\n [\n AnalyticTypes.FACE_DETECTION,\n AnalyticTypes.FACE_DEMOGRAPHY,\n AnalyticTypes.FACE_RECOGNITION,\n ],\n )\n]\n\nresponse = client.batch_image_analytic(requests)\n\nprint(response)\n```\n\nSetup your credentials and run the example:\n\n```bash\n$ export NODEFLUX_ACCESS_KEY={YOUR_ACCESS_KEY}\n$ export NODEFLUX_SECRET_KEY={YOUR_SECRET_KEY}\n$ python image_analytic.py\nresponses {\n face_detections {\n bounding_box {\n top: 0.24583333730697632\n left: 0.2984375059604645\n height: 0.6583333015441895\n width: 0.3749999701976776\n }\n confidence: 0.871170473098755\n }\n face_recognitions {\n candidates {\n face_id: 17136476860973057\n confidence: 9.6\n }\n }\n face_demographics {\n gender: FEMALE\n gender_confidence: 0.9403232932090759\n age: 19\n }\n}\n```\n\nMore examples can be found in the [example](example) directory.\n\n## Reference\n\n### ImageAnalyticClient\n\n| Method Name | Request Type | Response Type | Description |\n| --------------------- | ------------------------------------------------------- | --------------------------------------------------------- | ------------------------------------------ |\n| batch_image_analytic | List[[ImageAnalyticRequest](#ImageAnalyticRequest)] | [BatchImageAnalyticResponse](#BatchImageAnalyticResponse) | Run image analytics for a batch of images |\n| stream_image_analytic | Iterator[[ImageAnalyticRequest](#ImageAnalyticRequest)] | Iterator[[ImageAnalyticResponse](#ImageAnalyticResponse)] | Run image analytics for a stream of images |\n\n### ImageAnalyticRequest\n\nIndividual image request to be analyzed by Nodeflux Cloud.\n\n| Field | Type | Description |\n| ----------- | --------------------- | ------------------------------------------------- |\n| `image` | `bytes` | Image to be analyzed in the Nodeflux Cloud. |\n| `analytics` | `List[AnalyticTypes]` | A list of analytics to be performed to the image. |\n\n### AnalyticTypes\n\nEnums of analytic types supported by Nodeflux Cloud.\n\n| Enums | Description |\n| --------------------------- | ---------------------------------------------------------- |\n| `FACE_DETECTION` | Detect faces from an image. |\n| `FACE_DEMOGRAPHY` | Predict age and gender from faces in the image. |\n| `FACE_RECOGNITION` | Search for similar faces in the face recognition database. |\n| `VEHICLE_RECOGNITION` | Detect vehicles from an image. |\n| `LICENSE_PLATE_RECOGNITION` | Recognize license plate number of vehicles in an image. |\n\n### BatchImageAnalyticResponse\n\nResponse to a batch image analytic request.\n\n| Field | Type | Label | Description |\n| --------- | ----------------------------------------------- | -------- | ------------------------------------------------------------------ |\n| responses | [ImageAnalyticResponse](#ImageAnalyticResponse) | repeated | Individual responses to image analytics requests within the batch. |\n\n### ImageAnalyticResponse\n\nResponse to an image analytic request.\n\n| Field | Type | Label | Description |\n| -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ |\n| error | [google.rpc.Status](#google.rpc.Status) | | If set, represents the error message for the operation. Note that filled-in image analytics response are guaranteed to be correct, even when `error` is set. |\n| extensions | [google.protobuf.Any](#google.protobuf.Any) | repeated | If present, extension analytics has completed successfully. |\n| face_detections | [nodeflux.analytics.v1beta1.FaceDetection](https://gitlab.com/nodefluxio/nodefluxapis/blob/master/docs/analytics.md#facedetection) | repeated | If present, face detection has completed successfully. |\n| face_recognitions | [nodeflux.analytics.v1beta1.FaceRecognition](https://gitlab.com/nodefluxio/nodefluxapis/blob/master/docs/analytics.md#facerecognition) | repeated | If present, face recognition has completed successfully. |\n| face_demographics | [nodeflux.analytics.v1beta1.FaceDemography](https://gitlab.com/nodefluxio/nodefluxapis/blob/master/docs/analytics.md#facedemography) | repeated | If present, face demographics has completed successfully. |\n| vehicle_detections | [nodeflux.analytics.v1beta1.VehicleDetection](https://gitlab.com/nodefluxio/nodefluxapis/blob/master/docs/analytics.md#nodefluxanalyticsv1beta1vehicle_detectionproto) | repeated | If present, vehicle has completed successfully. |\n| license_plate_recognitions | [nodeflux.analytics.v1beta1.LicensePlateRecognition](https://gitlab.com/nodefluxio/nodefluxapis/blob/master/docs/analytics.md#licenseplaterecognition) | repeated | If present, license plate recognition has completed successfully. |\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://gitlab.com/nodefluxio/nodeflux-cloud-python", "keywords": "", "license": "MIT", "maintainer": "", "maintainer_email": "", "name": "nodeflux-cloud", "package_url": "https://pypi.org/project/nodeflux-cloud/", "platform": "", "project_url": "https://pypi.org/project/nodeflux-cloud/", "project_urls": { "Homepage": "https://gitlab.com/nodefluxio/nodeflux-cloud-python" }, "release_url": "https://pypi.org/project/nodeflux-cloud/0.2.2/", "requires_dist": [ "pyyaml", "googleapis-common-protos", "grpcio", "nodefluxapis (<0.3.0,>=0.2.0)" ], "requires_python": ">=3.4.0", "summary": "Nodeflux Cloud Client Library for Python.", "version": "0.2.2" }, "last_serial": 5566497, "releases": { "0.1.1": [ { "comment_text": "", "digests": { "md5": "438adab464994816259fb765df10cfea", "sha256": "9540aa6d09d8953d7a410fec48a9ce28ae9f99474be25ab492413308d500bebe" }, "downloads": -1, "filename": "nodeflux_cloud-0.1.1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "438adab464994816259fb765df10cfea", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 184018, "upload_time": "2019-03-14T06:54:34", "url": "https://files.pythonhosted.org/packages/6e/2f/a1cafac40f2dcba243e48f30fe0187cd89ba70c736c5ccebd76c07eaba67/nodeflux_cloud-0.1.1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "10072d6039b82af39cebca4036756332", "sha256": "8321aadb2a776834a24e01a295ca848b1afb8053488d1cc4372bb28a7196c48e" }, "downloads": -1, "filename": "nodeflux-cloud-0.1.1.tar.gz", "has_sig": false, "md5_digest": "10072d6039b82af39cebca4036756332", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 23658, "upload_time": "2019-03-14T06:54:37", "url": "https://files.pythonhosted.org/packages/83/a4/919968c0757dc543c93ee024fbbf5ea7dd072b1630f8ebfb81927624cfa7/nodeflux-cloud-0.1.1.tar.gz" } ], "0.1.2": [ { "comment_text": "", "digests": { "md5": "d76ac95bfd8bf8a1130cb3aff8277fa0", "sha256": "e7e63cca5d7d127cd7038ab1365f5ceafa29fddb20f3d1e547753d7958f3d5cf" }, "downloads": -1, "filename": "nodeflux_cloud-0.1.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "d76ac95bfd8bf8a1130cb3aff8277fa0", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 55910, "upload_time": "2019-04-16T09:27:55", "url": "https://files.pythonhosted.org/packages/2e/3a/9ffefc3b5501a10d1559bc2c21d5c33e9e9a7badf3f6fe0fa0ba3e557ade/nodeflux_cloud-0.1.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "ffb1570d19579a1eeba8f2a109195245", "sha256": "4be43fc734675def83aec0d207dfdb49df1651d68f61975e2a8808c8fca0cceb" }, "downloads": -1, "filename": "nodeflux-cloud-0.1.2.tar.gz", "has_sig": false, "md5_digest": "ffb1570d19579a1eeba8f2a109195245", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 27690, "upload_time": "2019-04-16T09:27:58", "url": "https://files.pythonhosted.org/packages/15/66/6f4d7aabb3ec934664d2ac7702dcd4b214563e7f4a7f1df8d9e561ffda21/nodeflux-cloud-0.1.2.tar.gz" } ], "0.2.0b1": [ { "comment_text": "", "digests": { "md5": "0ad836b72bf69bd49e2f13fd75f6f46f", "sha256": "c050ca50e98f198b7fddd3ab0e79aba5cc856687164c4c55b2898b1a79557827" }, "downloads": -1, "filename": "nodeflux_cloud-0.2.0b1-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "0ad836b72bf69bd49e2f13fd75f6f46f", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 173448, "upload_time": "2019-05-03T08:17:09", "url": "https://files.pythonhosted.org/packages/65/c2/9f3550784f561abb55355c929d8ba5c03052d5a2694c509c404264bc544f/nodeflux_cloud-0.2.0b1-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "b65f98e72c27f0ed8e6296f58be5ed6f", "sha256": "31dab252bb02d1c663ebf661ec07548d5b0ff3f2fdfafc1bf2488f87cf1d7b58" }, "downloads": -1, "filename": "nodeflux-cloud-0.2.0b1.tar.gz", "has_sig": false, "md5_digest": "b65f98e72c27f0ed8e6296f58be5ed6f", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 12924, "upload_time": "2019-05-03T08:17:11", "url": "https://files.pythonhosted.org/packages/ef/30/088036fcf60304fcd76fa3822748cea44e2b11e05a941a6b061ee430337f/nodeflux-cloud-0.2.0b1.tar.gz" } ], "0.2.2": [ { "comment_text": "", "digests": { "md5": "fca254967f5f65d4f061d57d263ecec6", "sha256": "a92db038645b1a70b4c1aaddffcd927757a67da27d9af7271c5ed037a3ba8748" }, "downloads": -1, "filename": "nodeflux_cloud-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fca254967f5f65d4f061d57d263ecec6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 21612, "upload_time": "2019-05-14T08:22:20", "url": "https://files.pythonhosted.org/packages/b2/a8/cda00e70e9ca11b1121a07503e52ae254b1c0dabdeaf4f41cd2a9a2d7d2e/nodeflux_cloud-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be3971846190876c16f0245f2782f6cd", "sha256": "3aa30fc8d763323132771c4f57df3efbe2921ba8905be05a35ff19d0b97bdfab" }, "downloads": -1, "filename": "nodeflux-cloud-0.2.2.tar.gz", "has_sig": false, "md5_digest": "be3971846190876c16f0245f2782f6cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 12893, "upload_time": "2019-05-14T08:22:22", "url": "https://files.pythonhosted.org/packages/15/c2/bc4916d933f5ee8e37ed4c51eb1416abfd269b8c63aa0f850f624ce8a774/nodeflux-cloud-0.2.2.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "fca254967f5f65d4f061d57d263ecec6", "sha256": "a92db038645b1a70b4c1aaddffcd927757a67da27d9af7271c5ed037a3ba8748" }, "downloads": -1, "filename": "nodeflux_cloud-0.2.2-py2.py3-none-any.whl", "has_sig": false, "md5_digest": "fca254967f5f65d4f061d57d263ecec6", "packagetype": "bdist_wheel", "python_version": "py2.py3", "requires_python": ">=3.4.0", "size": 21612, "upload_time": "2019-05-14T08:22:20", "url": "https://files.pythonhosted.org/packages/b2/a8/cda00e70e9ca11b1121a07503e52ae254b1c0dabdeaf4f41cd2a9a2d7d2e/nodeflux_cloud-0.2.2-py2.py3-none-any.whl" }, { "comment_text": "", "digests": { "md5": "be3971846190876c16f0245f2782f6cd", "sha256": "3aa30fc8d763323132771c4f57df3efbe2921ba8905be05a35ff19d0b97bdfab" }, "downloads": -1, "filename": "nodeflux-cloud-0.2.2.tar.gz", "has_sig": false, "md5_digest": "be3971846190876c16f0245f2782f6cd", "packagetype": "sdist", "python_version": "source", "requires_python": ">=3.4.0", "size": 12893, "upload_time": "2019-05-14T08:22:22", "url": "https://files.pythonhosted.org/packages/15/c2/bc4916d933f5ee8e37ed4c51eb1416abfd269b8c63aa0f850f624ce8a774/nodeflux-cloud-0.2.2.tar.gz" } ] }