Metadata-Version: 2.0
Name: visionary
Version: 1.2.0
Summary: Client library for Google Cloud Vision API
Home-page: https://github.com/shafaua/visionary
Author: Igor Gumenyuk
Author-email: UNKNOWN
License: Apache 2.0
Platform: UNKNOWN
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Natural Language :: English
Classifier: License :: OSI Approved :: Apache Software License
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
Requires-Dist: requests (<3.0.0)

Visionary
=========

Python client library for Google Cloud Vision API

https://cloud.google.com/vision

Install
-------

Library can be installed with pip: `pip install visionary`


Usage
-----

Usage examples:

.. code-block:: python

    from visionary import GoogleCloudVision, LabelDetection, LogoDetection

    API_KEY = "dummy_api_key"
    client = GoogleCloudVision(API_KEY)

    # Ask for logo detection, 10 results max
    response = client.annotate("dummy.jpg", LogoDetection())

    # Ask for label detection, 3 results max
    response = client.annotate("dummy.jpg", LabelDetection(3))

Detection params can be set explicitly:

.. code-block:: python

    # 5 results max for logo detection and only one result for label detection
    response = client.annotate("dummy.jpg", LogoDetection(5), LabelDetection(1))

First param can be file object:

.. code-block:: python

    uploaded_file = open("dummy.jpg")
    ...
    # somewhere later
    response = client.annotate(uploaded_file)

Or URL:    

.. code-block:: python

    response = client.annotate("http://google.com/dummy.jpg")

Client supports multiple images in single `annotate` call

.. code-block:: python

    response = client.annotate(
        ("dummy.jpg"),
        ("http://google.com/dummy.jpg"),
        ("dummy.jpg", LogoDetection(1)),
    )

Dealing with response:

.. code-block:: python

    if response.ok:
        for resp in response.responses:
            for i in resp.logo_annotations:
                print(i.description)
    else:
        print(response.error['code'], response.error['message'], response.error['status'])


