Metadata-Version: 2.1
Name: tarantool
Version: 0.7.1
Summary: Python client library for Tarantool 1.6 Database
Home-page: https://github.com/tarantool/tarantool-python
Author: Konstantin Cherkasoff
Author-email: k.cherkasoff@gmail.com
License: BSD
Platform: all
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: BSD License
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Topic :: Database :: Front-Ends
Description-Content-Type: text/x-rst

Python driver for Tarantool 1.6
===============================

This package is a pure-python client library for `Tarantool`_.

`Documentation`_  |  `Downloads`_  |  `PyPI`_  |  `GitHub`_  | `Issue tracker`_

.. _`Documentation`: http://tarantool-python.readthedocs.org/en/latest/
.. _`Downloads`: http://pypi.python.org/pypi/tarantool#downloads
.. _`PyPI`: http://pypi.python.org/pypi/tarantool
.. _`GitHub`: https://github.com/tarantool/tarantool-python
.. _`Issue tracker`: https://github.com/tarantool/tarantool-python/issues

.. image:: https://travis-ci.org/tarantool/tarantool-python.svg?branch=master
    :target: https://travis-ci.org/tarantool/tarantool-python

.. image:: https://ci.appveyor.com/api/projects/status/github/tarantool/tarantool-python?branch=master
    :target: https://ci.appveyor.com/project/tarantool/tarantool-python

Download and Install
--------------------

The recommended way to install ``tarantool`` package is using PIP
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For Tarantool version < 1.6.0 you must get ``0.3.*`` connector version::

    $ pip install tarantool\<0.4

For later Tarantool use version ``0.5.*`` connector version::

    $ pip install tarantool\>0.4

You can also download zip archive, unpack it and run
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

.. code-block:: console

    $ python setup.py install

To install development version of the package using pip
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

For Tarantool version < 1.6.0 you must get ``stable`` branch::

    $ pip install git+https://github.com/tarantool/tarantool-python.git@stable

For later Tarantool use ``master`` branch::

    $ pip install git+https://github.com/tarantool/tarantool-python.git@master

--------------------------------------------------------------------------------

What is Tarantool?
------------------

`Tarantool`_ is a NoSQL database running inside a Lua program. It combines the
network programming power of Node.JS with data persistency capabilities of
Redis. It's open source, `BSD licensed`_.

Features
--------

    * ANSI SQL, including views, joins, referential and check constraints
    * Lua packages for non-blocking I/O, fibers and HTTP
    * MsgPack data format and MsgPack based client-server protocol
    * Two data engines:
        * memtx - the in-memory storage engine with optional persistence
        * vinyl - the on-disk storage engine to use with large data sets
    * secondary key and index iterators support (can be non-unique and composite)
    * multiple index types: HASH, BITSET, TREE, RTREE
    * asynchronous master-master replication
    * authentication and access control

See More
^^^^^^^^

 * `Tarantool Homepage`_
 * `Tarantool at Github`_
 * `Tarantool User Guide`_
 * `Client-server Protocol Specification`_

NOTE
^^^^

This driver is synchronous, so connection mustn't be shared between threads/processes.

Run tests
^^^^^^^^^

On Linux:

.. code-block:: console

   $ python setup.py test

On Windows:

* Setup a Linux machine with installed tarantool (called ``remote`` later).
* (on ``remote``) Copy ``unit/suites/lib/tarantool_python_ci.lua`` to
  ``/etc/tarantool/instances.available``.
* (on ``remote``) Run ``tarantoolctl start tarantool_python_ci``.
* Set the following environment variables:
  * ``REMOTE_TARANTOOL_HOST=...``,
  * ``REMOTE_TARANTOOL_CONSOLE_PORT=3302``.
* Run ``python setup.py test``.

.. _`Tarantool`:
.. _`Tarantool Database`:
.. _`Tarantool Homepage`: https://tarantool.io
.. _`Tarantool at Github`: https://github.com/tarantool/tarantool
.. _`Tarantool User Guide`: https://www.tarantool.io/en/doc/latest/
.. _`Client-server protocol specification`: https://www.tarantool.io/en/doc/latest/dev_guide/internals/box_protocol/
.. _`BSD licensed`: http://www.gnu.org/licenses/license-list.html#ModifiedBSD


