Metadata-Version: 2.1
Name: identixone
Version: 0.1.2
Summary: A Python package for interacting with the Identix.one API
Home-page: https://github.com/identixone/identixone-python
Author: Identix One
Author-email: dev@identix.one
License: MIT license
Keywords: identixone,identix,face,recognition,cloud
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Requires-Dist: requests (>=2.0.0)

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.10.0**
* Current stable package version: **0.1.2**


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(token, version)

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 records with filters:

.. code:: python

    import datetime

    period_start = datetime.datetime(
        year=2019, month=1, day=13, hour=19, minute=20, second=1)
    period_end = period_start + datetime.timedelta(days=1)
    response = client.records.list(
        new=True, nm=False, junk=False, exact=False,
        ha=False, det=False, period_start=period_start,
        period_end=period_end)
    response.json()
    # {"result": "ok", "totalqty": 0, "records": [], "sources": []}

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.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.


