identixone 0.1.6.3
A Python package for interacting with the Identix.one API
License: MIT license
Keywords: identixone,identix,face,recognition,cloud

identixone-python
=================

.. image:: https://img.shields.io/pypi/v/identixone.svg
   :target: https://pypi.python.org/pypi/identixone
.. image:: https://secure.travis-ci.org/identixone/identixone-python.png?branch=master
   :target: https://travis-ci.org/identixone/identixone-python
.. image:: https://readthedocs.org/projects/identixone-python/badge/?version=latest
   :target: https://identixone-python.readthedocs.io/en/latest/?badge=latest
   :alt: Documentation Status
.. image:: https://pyup.io/repos/github/identixone/identixone-python/shield.svg
   :target: https://pyup.io/repos/github/identixone/identixone-python/
   :alt: Updates

A Python package for interacting with the Identix.one API

* Free software: MIT license
* Package documentation: https://identixone-python.readthedocs.io/
* API documentation: https://kb.identix.one/
* API changelog: https://kb.identix.one/#/apichangelog
* Current supported most recent API version: **1.14.2**
* Current stable package version: **0.1.6.3**


Installation
------------

Install from PyPi using
`pip <http://www.pip-installer.org/en/latest/>`__, a package manager for
Python.

::

   pip install identixone

Don't have pip installed? Try installing it, by running this from the
command line:

::

   $ curl https://raw.github.com/pypa/pip/master/contrib/get-pip.py | python

Or, you can `download the source code
(ZIP) <https://github.com/identixone/identixone-python/zipball/master>`__ for
``identixone-python``, and then run:

::

   python setup.py install

You may need to run the above commands with ``sudo``.


API Credentials
~~~~~~~~~~~~~~~

Get your free API token for development at https://identix.one


Getting Started
---------------

First of all, specify your API token and API version in `Client`:

.. code:: python

    from identixone.api import Client

    version = 1
    token = 'XXX'
    client = Client(token, version)

You can also configure `Client` using environment variables with prefix `IDENTIXONE_` and uppercase key (e.g. TOKEN, VERSION):

.. code:: python

    from identixone.api import Client

    os.environ['IDENTIXONE_TOKEN'] = 'XXX'
    os.environ['IDENTIXONE_VERSION'] = '1'
    client = Client()

Now just make calls using `client` instance as if you were interacting with HTTP API.

For example, create source:


.. code:: python

    response = client.sources.create(name='source_name')
    response.json()
    # {"id": 1, "name": "source_name", "pps_timestamp": False, ... }

Or list some entries with filters:

.. code:: python

    import datetime

    date_from = datetime.datetime(year=2019, month=1, day=13, hour=19,
                                     minute=20, second=1)
    date_to = datetime.datetime(year=2019, month=1, day=22, hour=19,
                                   minute=20, second=1)
    r = client.entries.list(date_from=date_from, date_to=date_to)
    print(r.json())
    # {"count": 1, "next": "url", "previous": "url", "results": [{ ... }]}

Or even compare two faces how similar they are:

.. code:: python

    from identixone.base.choices import Conf

    response = client.utility.compare(
        photo1, photo2,
        liveness_photo1=False, liveness_photo2=False,
        conf=Conf.JUNK)
    response.json()
    # {"similar": True, "conf": "ha", "liveness_photo1": False, "liveness_photo2": True}

Full examples are inside `examples.py` file in the root of this repo.

To explore all of the API endpoints visit https://kb.identix.one/

Credits
-------

This package was created with Cookiecutter_ and the `audreyr/cookiecutter-pypackage`_ project template.

.. _Cookiecutter: https://github.com/audreyr/cookiecutter
.. _`audreyr/cookiecutter-pypackage`: https://github.com/audreyr/cookiecutter-pypackage


History
=================

0.1.6.3 (2019-09-10)
--------------------

* Added persons lists module

0.1.5 (2019-07-01)
------------------

* Returned entries module
* Removed records module

0.1.4 (2019-06-20)
------------------

* Removed Python 3.4 support
* Library updated to the new (1.12) API version
* Removed entries module
* Fixed places where default values were different than default API values.
* Fixed several API calls where default values should not be provided.

0.1.3 (2019-04-05)
------------------

* Fixed several API calls where default values should not be provided.
* Fixed places where default values were different than default API values.

0.1.2 (2019-04-01)
------------------

* API Changelog is now constantly updated here: https://kb.identix.one/#/apichangelog
* Updated documentation to show how to configure client with env variables
* Records endpoints are now deprecated
* Added new Entries and Entries Stats endpoints for RESTful manipulation with data (meant to replace and enhance records functionality)
* Added new Person Entries endpoint: create new person by providing id of NM entry
* Added examples of newly added endpoints

0.1.1 (2019-03-16)
------------------

* Updated docstrings for main functions
* New type of exception ImproperlyConfigured that replaces more general error in several places
* Added conf choices where applicable
* Added missing methods to bulk delete tokens with filtration (permanent/temporary/both)
* Added new source option `store_images_for_confs`, introduced in 1.9.0 API
* Added choices `NotificationHTTPMethod` of notifications http_method parameter for convenience
* Utility compare function now has default conf which equals HA. It reflects now default API behaviour
* Removed CHANGES.md because it is redundant. All changes are going to be reflected here, there's no need to duplicate info.
* Fixed a bug with env variables (fixed one typo & inability to override vars by setting env variables instead of providing them as parameters to init of Client)
* Fixed: previously you could provide your own http_client to the Client instance, but it required instance with already supplied token (so you basically needed to provide token in two places). Now you provide only class in http_client and initialization in Client will create instance with provided token for you.

0.1.0 (2019-02-18)
------------------

* First release on PyPI.