1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113
|
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
--------
* Lua packages for non-blocking I/O, fibers and HTTP
* MsgPack data format and MsgPack based client-server protocol
* Two data engines:
* 100% in-memory with optional persistence
* 2-level disk-based B-tree, to use with large data sets (powered by `Sophia`_)
* secondary key and index iterators support (can be non-unique and composite)
* multiple index types: HASH, BITSET, TREE
* 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`: http://tarantool.org
.. _`Tarantool at Github`: https://github.com/tarantool/tarantool
.. _`Tarantool User Guide`: http://tarantool.org/doc/book/index.html
.. _`Client-server protocol specification`: http://tarantool.org/doc/dev_guide/box-protocol.html
.. _`Sophia`: http://sophia.systems
.. _`BSD licensed`: http://www.gnu.org/licenses/license-list.html#ModifiedBSD
|