This is a client for the Test.ai classifier RPC server, which allows direct use of the classifier via a Python API and also provides a helper method for use with Selenium.
Project description
Test.ai Classifier - Python Client
The code in this directory defines a client library for use with the gRPC-based Test.ai classifier server.
Installation & Setup
pip install testai_classifier
Usage
This package exposes a ClassifierClient
class:
from testai_classifier import ClassifierClient
You can use it to attempt to match images to a semantic label:
def classify():
client = ClassifierClient(HOST, PORT)
# assume cart_img and menu_img are byte streams as delivered by file.read()
# define a mapping between ids and image data
data = {'cart': cart_img, 'menu': menu_img}
# define which label we are looking to match
label = 'cart'
# attempt to match the images with the label
# confidence is from 0.0 to 1.0 -- any matches with lower than the specified
# confidence are not returned.
# allow_weaker_matches specifies whether to return matches that are above
# the confidence threshold but whose most confident match was a *different*
# label
res = client.classify_images(label, data, confidence=0.0, allow_weaker_matches=True)
# res looks like:
# {'cart': {'label': 'cart', 'confidence': 0.9, 'confidence_for_hint': 0.9},
# 'menu': {'label': 'menu', 'confidence': 0.9, 'confidence_for_hint': 0.2}}
# always close the client connection
client.close()
You can also use it in conjunction with a Selenium Python client driver object, to find elements in a web page based on the label:
def find_elements():
client = ClassifierClient(HOST, PORT)
driver.get("https://test.ai")
els = client.find_elements_matching_label(driver, "twitter")
els[0].click()
assert driver.current_url == "https://twitter.com/testdotai"
client.close()
Development
make install
- install deps (requires Pipenv)make protogen
- generate python client helpers from .proto filemake clean
- reset generated filesmake build
- run setup.py to generate publishable filesmake test
- run test suite (alsomake unit-test
andmake se-test
)make publish
- publish to pypi (alsomake publish-test
)
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file testai_classifier-1.1.0.tar.gz
.
File metadata
- Download URL: testai_classifier-1.1.0.tar.gz
- Upload date:
- Size: 5.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
e8813787be96f0fd3eaa8281d78674ffe646c78f10793090132070fb43f84436
|
|
MD5 |
30bee048f5feda023b9bdc9b77ee7154
|
|
BLAKE2b-256 |
9ec3765b8a01e396ea234c1c1fc6c68a39581bd4e7d3b5a8af1e67fcf7456129
|
File details
Details for the file testai_classifier-1.1.0-py3-none-any.whl
.
File metadata
- Download URL: testai_classifier-1.1.0-py3-none-any.whl
- Upload date:
- Size: 10.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.22.0 setuptools/42.0.2 requests-toolbelt/0.9.1 tqdm/4.39.0 CPython/3.7.5
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 |
26518487abbcbc757d81e564700fa055fc8b77afac8e00f5428769b29e34b713
|
|
MD5 |
3b436b950024f8492fb44c77af682935
|
|
BLAKE2b-256 |
87a407d541a38a2efe49bb4994d98816f8a1ad03ae865c8cbee282bed65632cd
|