This package is a pure-python client library for Tarantool.
Documentation | Downloads | PyPI | GitHub | Issue tracker
The recommended way to install the tarantool
package is using pip
.
For Tarantool version < 1.6.0, get the 0.3.*
connector version:
$ pip install tarantool\<0.4
For a later Tarantool version, get the 0.5.*
connector version:
$ pip install tarantool\>0.4
You can also download zip archive, unpack it and run:
$ python setup.py install
You can also install the development version of the package using pip
.
For Tarantool version < 1.6.0, get the stable
branch:
$ pip install git+https://github.com/tarantool/tarantool-python.git@stable
For a later Tarantool version, use the master
branch:
$ pip install git+https://github.com/tarantool/tarantool-python.git@master
Tarantool is an in-memory NoSQL database with a Lua application server on board. It combines the network programming power of Node.JS with data persistency capabilities of Redis. It's open-source, licensed under BSD-2-Clause.
- 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 – in-memory storage engine with optional persistence
- vinyl – on-disk storage engine to use with larger data sets
- Secondary key and index iterator support (can be non-unique and composite)
- Multiple index types: HASH, BITSET, TREE, RTREE
- Asynchronous master-master replication
- Authentication and access control
This driver is synchronous, so connection mustn't be shared between threads/processes.
If you're looking for an asynchronous Python driver based on asyncio
,
consider using asynctnt . See also the feature comparison table.
On Linux:
$ python setup.py test
On Windows:
- Setup a Linux machine with Tarantool installed.
This machine will be referred to as
remote
in this instruction. - (On
remote
) Copytest/suites/lib/tarantool_python_ci.lua
to/etc/tarantool/instances.available
. - (On
remote
) Runtarantoolctl start tarantool_python_ci
. - Set the following environment variables:
*
REMOTE_TARANTOOL_HOST=...
, *REMOTE_TARANTOOL_CONSOLE_PORT=3302
. - Run
python setup.py test
.
BSD-2-Clause. See the LICENSE
file.