tarantool / tarantool-python

Python client library for Tarantool
https://www.tarantool.io
BSD 2-Clause "Simplified" License
98 stars 48 forks source link
connector python python3 synchronous tarantool

Python driver for Tarantool

.. image:: https://github.com/tarantool/tarantool-python/actions/workflows/testing.yml/badge.svg?branch=master :target: https://github.com/tarantool/tarantool-python/actions/workflows/testing.yml .. image:: https://github.com/tarantool/tarantool-python/actions/workflows/packing.yml/badge.svg?branch=master :target: https://github.com/tarantool/tarantool-python/actions/workflows/packing.yml

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

Download and install

With pip (recommended) ^^^^^^^^^^^^^^^^^^^^^^

The recommended way to install the tarantool package is using pip.

.. code-block:: bash

 $ pip3 install tarantool

With dnf ^^^^^^^^

You can install python3-tarantool RPM package if you use Fedora (34, 35, 36).

Add the repository

.. code-block:: bash

 $ curl -L https://tarantool.io/OtKysgx/release/2/installer.sh | bash

and then install the package

.. code-block:: bash

 $ dnf install -y python3-tarantool

With apt ^^^^^^^^

You can install python3-tarantool deb package if you use Debian (10, 11) or Ubuntu (20.04, 22.04).

Add the repository

.. code-block:: bash

 $ curl -L https://tarantool.io/OtKysgx/release/2/installer.sh | bash

and then install the package

.. code-block:: bash

 $ apt install -y python3-tarantool

ZIP archive ^^^^^^^^^^^

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

.. code-block:: bash

$ make install

Development version ^^^^^^^^^^^^^^^^^^^

You can also install the development version of the package using pip.

.. code-block:: bash

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

What is Tarantool?

Tarantool is an in-memory computing platform originally designed by VK and released under the terms of BSD license_.

Features

See More ^^^^^^^^

NOTE ^^^^

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.

Run tests ^^^^^^^^^

On Linux:

.. code-block:: bash

$ make test

On Windows:

Build docs ^^^^^^^^^^

To build documentation, first you must install its build requirements:

.. code-block:: bash

$ pip3 install -r docs/requirements.txt

Then run

.. code-block:: bash

$ make docs

You may host local documentation server with

.. code-block:: bash

$ python3 -m http.server --directory build/sphinx/html

Open localhost:8000 in your browser to read the docs.

.. Tarantool: .. Tarantool Database: .. Tarantool homepage: https://tarantool.io .. Tarantool on GitHub: https://github.com/tarantool/tarantool .. Tarantool documentation: https://www.tarantool.io/en/doc/latest/ .. VK: https://vk.company .. _Client-server protocol specification: https://www.tarantool.io/en/doc/latest/dev_guide/internals/box_protocol/ .. BSD: .. BSD license: .. BSD-2-Clause: https://opensource.org/licenses/BSD-2-Clause .. asynctnt: https://github.com/igorcoding/asynctnt .. _feature comparison table: https://www.tarantool.io/en/doc/latest/book/connectors/#python-feature-comparison

License ^^^^^^^

BSD-2-Clause. See the LICENSE file.