diff --git a/doc/book/connectors/python.rst b/doc/book/connectors/python.rst index 664e59d980..35f87f903f 100644 --- a/doc/book/connectors/python.rst +++ b/doc/book/connectors/python.rst @@ -36,18 +36,15 @@ all went well. If the tuple already exists, the program will throw The example program only shows one request and does not show all that's necessary for good practice. For that, please see `tarantool-python `__ project at GitHub. -For an example of using Python API with -`queue managers for Tarantool `__, see -`queue-python `__ project at GitHub. Also there are several community-driven Python connectors: * `asynctnt `__ with asyncio support -* `aiotarantool `__ also 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, gtarantool and -tarantool-python. aiotarantool is absent there because it is quite outdated and +The table below contains a feature comparison for asynctnt and +tarantool-python. aiotarantool and gtarantool are absent there because they are quite outdated and unmaintained. .. _python-feature-comparison: @@ -55,7 +52,7 @@ unmaintained. Feature comparison ------------------ -Last update: November 2022 +Last update: September 2023 .. list-table:: :header-rows: 1 @@ -63,170 +60,134 @@ Last update: November 2022 * - Parameter - `igorcoding/asynctnt `__ - - `shveenkov/gtarantool `__ - `tarantool/tarantool-python `__ * - License - Apache License 2.0 - - LGPL - BSD-2 * - Is maintained - Yes - - No (last updated in 2016) - Yes * - Known Issues - None - None - - None * - Documentation - Yes (`github.io `__) - - No - Yes (`readthedocs `__ and :ref:`tarantool.io `) * - Testing / CI / CD - GitHub Actions - - No (tests exist) - GitHub Actions * - GitHub Stars - - 68 - - 17 - - 85 + - 73 + - 92 * - Static Analysis - Yes (Flake8) - - No - - No + - Yes (Flake8, Pylint) * - Packaging - `pip `__ - - `pip `__ - `pip, deb, rpm `__ * - Code coverage - Yes - - No - Yes * - Support asynchronous mode - Yes, `asyncio `__ - - Yes (`gevent - `__, - example: `test_gevent.py - `__) - No * - Batching support - No - - No - - No (`issue #55 `__) + - Yes (with CRUD API) * - Schema reload - Yes (automatically, see `auto_refetch_schema `__) - Yes (automatically) - - Yes (automatically) * - Space / index names - Yes - Yes - - Yes * - Access tuple fields by names - Yes - No - - No * - :ref:`SQL support ` - Yes - - No - Yes * - :ref:`Interactive transactions ` - Yes - - No - No (`issue #163 `__) * - :ref:`Varbinary support ` - Yes (in ``MP_BIN`` fields) - - No - Yes * - :ref:`Decimal support ` - Yes - - No - Yes * - :ref:`UUID support ` - Yes - - No - Yes * - :ref:`EXT_ERROR support ` - Yes - - No - Yes * - :ref:`Datetime support ` - Yes - - No - Yes * - :ref:`Interval support ` - No (`issue #30 `__) - - No - Yes * - :ref:`box.session.push() responses ` - Yes - - No - Yes * - :ref:`Session settings ` - No - No - - No * - `Graceful shutdown `__ - No - No - - No * - `IPROTO_ID (feature discovery) `__ - Yes - - No - Yes * - `CRUD support `__ - No - - No - - No (`issue #205 `__) + - Yes * - Transparent request retrying - No - No - - No * - Transparent reconnecting - Autoreconnect - - Yes (reconnect_max_attempts, reconnect_delay) - Yes (reconnect_max_attempts, reconnect_delay), checking of connection liveness * - Connection pool - - No - No - Yes (with master discovery) * - Support of `PEP 249 -- Python Database API Specification v2.0 `__ - - No - No - `Yes `__ * - `Encrypted connection (Tarantool Enterprise) `__ - No (`issue #22 `__) - - No - Yes