Python
tarantool-python
is the official Python connector for Tarantool. It is not supplied as part
of the Tarantool repository and must be installed separately.
For a quick start with tarantool-python
, refer to this guide: Подключение из Python.
There are also several community-driven Python connectors:
- asynctnt with asyncio support
- aiotarantool also with asyncio support, no active maintenance
- gtarantool with gevent support, no active maintenance
The table below contains a feature comparison for asynctnt
and tarantool-python
.
Last update: September 2023
Parameter | igorcoding/asynctnt | tarantool/tarantool-python |
---|---|---|
License | Apache License 2.0 | BSD-2 |
Is maintained | Yes | Yes |
Known Issues | None | None |
Documentation | Yes (github.io) | Yes (readthedocs and tarantool.io) |
Testing / CI / CD | GitHub Actions | GitHub Actions |
GitHub Stars | 73 | 92 |
Static Analysis | Yes (Flake8) | Yes (Flake8, Pylint) |
Packaging | pip | pip, deb, rpm |
Code coverage | Yes | Yes |
Support asynchronous mode | Yes, asyncio | No |
Batching support | No | Yes (with CRUD API) |
Schema reload | Yes (automatically, see auto_refetch_schema) | Yes (automatically) |
Space / index names | Yes | Yes |
Access tuple fields by names | Yes | No |
SQL support | Yes | Yes |
Interactive transactions | Yes | No (issue #163) |
Varbinary support | Yes (in MP_BIN fields) |
Yes |
Decimal support | Yes | Yes |
UUID support | Yes | Yes |
EXT_ERROR support | Yes | Yes |
Datetime support | Yes | Yes |
Interval support | No (issue #30) | Yes |
box.session.push() responses | Yes | Yes |
Session settings | No | No |
Graceful shutdown | No | No |
IPROTO_ID (feature discovery) | Yes | Yes |
CRUD support | No | Yes |
Transparent request retrying | No | No |
Transparent reconnecting | Autoreconnect | Yes (reconnect_max_attempts, reconnect_delay), checking of connection liveness |
Connection pool | No | Yes (with master discovery) |
Support of PEP 249 – Python Database API Specification v2.0 | No | Yes |
Encrypted connection (Enterprise Edition) | No (issue #22) | Yes |