googleapis / python-vision

This library has moved to https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-vision
Apache License 2.0
161 stars 85 forks source link

:NOTE: This github repository is archived. The repository contents and history have moved to google-cloud-python_.

.. _google-cloud-python: https://github.com/googleapis/google-cloud-python/tree/main/packages/google-cloud-vision

Python Client for Google Cloud Vision

|GA| |pypi| |versions|

The Google Cloud Vision_ API enables developers to understand the content of an image by encapsulating powerful machine learning models in an easy to use REST API. It quickly classifies images into thousands of categories (e.g., "sailboat", "lion", "Eiffel Tower"), detects individual objects and faces within images, and finds and reads printed words contained within images. You can build metadata on your image catalog, moderate offensive content, or enable new marketing scenarios through image sentiment analysis. Analyze images uploaded in the request or integrate with your image storage on Google Cloud Storage.

.. |GA| image:: https://img.shields.io/badge/support-GA-gold.svg :target: https://github.com/googleapis/google-cloud-python/blob/main/README.rst#general-availability .. |pypi| image:: https://img.shields.io/pypi/v/google-cloud-vision.svg :target: https://pypi.org/project/google-cloud-vision/ .. |versions| image:: https://img.shields.io/pypi/pyversions/google-cloud-vision.svg :target: https://pypi.org/project/google-cloud-vision/ .. _Vision: https://cloud.google.com/vision/

.. _Google Cloud Vision: https://cloud.google.com/vision/ .. _Client Library Documentation: https://cloud.google.com/python/docs/reference/vision/latest .. _Product Documentation: https://cloud.google.com/vision/reference/rest/

Quick Start

In order to use this library, you first need to go through the following steps:

  1. Select or create a Cloud Platform project._
  2. Enable billing for your project._
  3. Enable the Google Cloud Vision API._
  4. Setup Authentication._

.. _Select or create a Cloud Platform project.: https://console.cloud.google.com/project .. _Enable billing for your project.: https://cloud.google.com/billing/docs/how-to/modify-project#enable_billing_for_a_project .. _Enable the Google Cloud Vision API.: https://cloud.google.com/vision .. _Setup Authentication.: https://googleapis.dev/python/google-api-core/latest/auth.html

Installation


Install this library in a `virtualenv`_ using pip. `virtualenv`_ is a tool to
create isolated Python environments. The basic problem it addresses is one of
dependencies and versions, and indirectly permissions.

With `virtualenv`_, it's possible to install this library without needing system
install permissions, and without clashing with the installed system
dependencies.

.. _`virtualenv`: https://virtualenv.pypa.io/en/latest/

Supported Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^
Python >= 3.6

Deprecated Python Versions
^^^^^^^^^^^^^^^^^^^^^^^^^^
Python == 2.7.

The last version of this library compatible with Python 2.7 is google-cloud-vision==1.0.0.

RaspberryPi ARM devices 
^^^^^^^^^^^^^^^^^^^^^^^
Note: Raspberry Pi ARMv6 is not supported.

Mac/Linux
^^^^^^^^^

.. code-block:: console

    pip install virtualenv
    virtualenv <your-env>
    source <your-env>/bin/activate
    <your-env>/bin/pip install google-cloud-vision

Windows
^^^^^^^

.. code-block:: console

    pip install virtualenv
    virtualenv <your-env>
    <your-env>\Scripts\activate
    <your-env>\Scripts\pip.exe install google-cloud-vision

Example Usage

.. code-block:: python

from google.cloud import vision

client = vision.ImageAnnotatorClient() response = client.annotate_image({ 'image': {'source': {'imageuri': 'gs://my-test-bucket/image.jpg'}}, 'features': [{'type': vision.Feature.Type.FACE_DETECTION}] })

Known Limitations


Pylint Does Not Work Out Of The Box
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Pylint throws errors by default when checking code that uses feature methods on the 
``ImageAnnotatorClient`` class, such as ``label_detection()`` or ``text_detection()``.

As a workaround, member checking on all methods of the ``ImageAnnotatorClient`` can be
disabled using Pylint's ``generated-members`` option. To do this on a line-by-line basis,
add a comment like ``# pylint: disable=no-member`` to suppress this error. To do this
for a whole project, you can add the following lines to a ``.pylintrc`` file in your project::

  [TYPECHECK]

  generated-members=<<REGULAR EXPRESSION>>

Substitute a regular expression of your choosing that matches all lines for which you want to
disable this error check. For example, if you choose a convention of naming your
``ImageAnnotatorClient`` variables ``image_annotator_client``, then your regex could be
``image_annotator_client.*`` or something similar.

Next Steps