From 8875d3779aa49a13a554242e18d20cf76f778ce2 Mon Sep 17 00:00:00 2001 From: Sergey Bronnikov Date: Wed, 26 Jan 2022 10:32:25 +0300 Subject: [PATCH] [2pt] Add a table with feature comparison of Python connectors (#2482) * Add a table with feature comparison of Python connectors Written by Sergey Bronnikov, reviewed by Valeria Beresneva and Alexander Turenko Translated by Maria Kovalevskaya, translation reviewed by Patience Daur Co-authored-by: Sergey Bronnikov Co-authored-by: Valeria Beresneva Co-authored-by: Maria Kovalevskaya Co-authored-by: Patience Daur Co-authored-by: Alexander Turenko --- doc/book/connectors/__python.rst | 178 +++++++++++- locale/ru/LC_MESSAGES/book/connectors.po | 344 ++++++++++++++++++++++- 2 files changed, 514 insertions(+), 8 deletions(-) diff --git a/doc/book/connectors/__python.rst b/doc/book/connectors/__python.rst index 13ec24ad85..feff7e3565 100644 --- a/doc/book/connectors/__python.rst +++ b/doc/book/connectors/__python.rst @@ -43,4 +43,180 @@ Also there are several community-driven Python connectors: * `asynctnt `__ with asyncio support * `aiotarantool `__ also with asyncio support -* `gtarantool `__ with gevent 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 +unmaintained. + +Feature comparison +------------------ + +Last update: February 2022 + +.. list-table:: + :header-rows: 1 + :stub-columns: 1 + + * - Parameter + - `igorcoding/asynctnt `__ + - `shveenkov/gtarantool `__ + - `tarantool/tarantool-python `__ + + * - License + - Apache License 2.0 + - LGPL + - BSD-2 + + * - Is maintained + - Yes + - No (last updated in 2018) + - Yes + + * - Known Issues + - `issue #18 `__ (no running event loop) + - None + - `issue #105 `__ (unpack of binary data) + + * - Documentation + - Yes (`github.io `__) + - No + - Yes (`tarantool.io + `__ + and `readthedocs + `__ + (`obsolete + `__)) + + * - Testing / CI / CD + - GitHub Actions + - No (tests exist) + - AppVeyor (only Windows) + + * - GitHub Stars + - 51 + - 17 + - 78 + + * - Static Analysis + - Yes (Flake8) + - No + - No + + * - Packaging + - `pip `__ + - `pip `__ + - `deb, rpm, pip `__ + + * - Code coverage + - Yes + - No + - Yes + + * - Support asynchronous mode + - Yes, `asyncio `__ + - Yes (`gevent + `__, + example: `test_gevent.py + `__) + - No + + * - Batching support + - No + - No + - No (`issue #55 `__) + + * - 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 + + * - `SQL support `__ + - Yes (tests/test_op_sql.py) + - No + - Yes (tarantool/connection.py) + + * - `Interactive transactions `__ + - No + - No + - No (`issue #163 `__) + + * - `Varbinary support `__ + - No + - No + - Yes (`issue #105 `__) + + * - `UUID support `__ + - No + - No + - No + + * - `Decimal support `__ + - Almost (v2 branch) + - No + - No + + * - `EXT_ERROR support `__ + - No + - No + - No + + * - `Datetime support `__ + - No + - No + - No + + * - `box.session.push() responses `__ + - Yes (see push_subscribe option and docs/pushes.rst) + - No + - No + + * - `Session settings `__ + - No + - No + - No + + * - `Graceful shutdown `__ + - No + - No + - No + + * - `IPROTO_ID (feature discovering) `__ + - No + - No + - No + + * - Support `CRUD `__ + - No + - No + - No + + * - 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 (round robin failover) + + * - Support of `PEP 249 -- Python Database API Specification v2.0 `__ + - No + - No + - `Yes `__ diff --git a/locale/ru/LC_MESSAGES/book/connectors.po b/locale/ru/LC_MESSAGES/book/connectors.po index 271626b68f..ff8c96186f 100644 --- a/locale/ru/LC_MESSAGES/book/connectors.po +++ b/locale/ru/LC_MESSAGES/book/connectors.po @@ -697,11 +697,344 @@ msgstr "" "поддержкой asyncio" msgid "" -"`gtarantool `__ with gevent support" -" **no active maintenance**" +"`gtarantool `__ with gevent " +"support, **no active maintenance**" msgstr "" -"`gtarantool `_ с поддержкой gevent " -"(**не обновляется**)" +"`gtarantool `__ с поддержкой " +"gevent, **не обновляется**" + +msgid "" +"The table below contains a feature comparison for asynctnt, gtarantool and " +"tarantool-python. aiotarantool is absent there because it is quite outdated " +"and unmaintained." +msgstr "" +"В этой таблице сравниваются функции коннекторов asynctnt, gtarantool и " +"tarantool-python. aiotarantool здесь отсутствует, так как он устарел и " +"больше не поддерживается." + +msgid "Feature comparison" +msgstr "Сравнение функций" + +msgid "Last update: February 2022" +msgstr "Последнее обновление: февраль 2022" + +msgid "Parameter" +msgstr "Параметры" + +msgid "`igorcoding/asynctnt `__" +msgstr "`igorcoding/asynctnt `__" + +msgid "`shveenkov/gtarantool `__" +msgstr "`shveenkov/gtarantool `__" + +msgid "" +"`tarantool/tarantool-python `__" +msgstr "" +"`tarantool/tarantool-python `__" + +msgid "License" +msgstr "Лицензия" + +msgid "Apache License 2.0" +msgstr "Apache License 2.0" + +msgid "LGPL" +msgstr "LGPL" + +msgid "BSD-2" +msgstr "BSD-2" + +msgid "Is maintained" +msgstr "Поддерживается" + +msgid "Yes" +msgstr "Да" + +msgid "No (last updated in 2018)" +msgstr "Нет (последнее обновление в 2018)" + +msgid "Known Issues" +msgstr "Известные проблемы" + +msgid "" +"`issue #18 `__ (no running" +" event loop)" +msgstr "" +"`тикет #18 `__ (нет " +"событийного цикла)" + +msgid "None" +msgstr "Нет" + +msgid "" +"`issue #105 `__ " +"(unpack of binary data)" +msgstr "" +"`тикет #105 `__ " +"(распаковка бинарных данных)" + +msgid "Documentation" +msgstr "Документация" + +msgid "Yes (`github.io `__)" +msgstr "Есть (`github.io `__)" + +msgid "No" +msgstr "Нет" + +msgid "" +"Yes (`tarantool.io " +"`__" +" and `readthedocs `__ (`obsolete `__))" +msgstr "" +"Есть (`tarantool.io " +"`__" +" и `readthedocs `__ (`неактуальна `__))" + +msgid "Testing / CI / CD" +msgstr "Тестирование / CI / CD" + +msgid "GitHub Actions" +msgstr "GitHub Actions" + +msgid "No (tests exist)" +msgstr "Нет (есть тесты)" + +msgid "AppVeyor (only Windows)" +msgstr "AppVeyor (только на Windows)" + +msgid "GitHub Stars" +msgstr "GitHub-звезды" + +msgid "51" +msgstr "51" + +msgid "17" +msgstr "17" + +msgid "78" +msgstr "78" + +msgid "Static Analysis" +msgstr "Статический анализ" + +msgid "Yes (Flake8)" +msgstr "Есть (Flake8)" + +msgid "Packaging" +msgstr "Способ упаковки" + +msgid "`pip `__" +msgstr "`pip `__" + +msgid "`pip `__" +msgstr "`pip `__" + +msgid "" +"`deb, rpm, pip `__" +msgstr "" +"`deb, rpm, pip `__" + +msgid "Code coverage" +msgstr "Покрытие кода" + +msgid "Support asynchronous mode" +msgstr "Поддержка асинхронного режима" + +msgid "Yes, `asyncio `__" +msgstr "Есть, `asyncio `__" + +msgid "" +"Yes (`gevent " +"`__, " +"example: `test_gevent.py " +"`__)" +msgstr "" +"Есть, `gevent " +"`__ " +"(пример: `test_gevent.py " +"`__)" + +msgid "Batching support" +msgstr "Поддержка пакетной обработки" + +msgid "" +"No (`issue #55 `__)" +msgstr "" +"Нет (`тикет #55 `__)" + +msgid "Schema reload" +msgstr "Обновление схемы" + +msgid "" +"Yes (automatically, see `auto_refetch_schema " +"`__)" +msgstr "" +"Автоматическое (см. `auto_refetch_schema " +"`__)" + +msgid "Yes (automatically)" +msgstr "Автоматическое" + +msgid "Space / index names" +msgstr "Имена спейсов/индексов" + +msgid "Access tuple fields by names" +msgstr "Доступ к полям кортежей по именам" + +msgid "" +"`SQL support " +"`__" +msgstr "" +"`Поддержка SQL " +"`__" + +msgid "Yes (tests/test_op_sql.py)" +msgstr "Есть (tests/test_op_sql.py)" + +msgid "Yes (tarantool/connection.py)" +msgstr "Есть (tarantool/connection.py)" + +msgid "" +"`Interactive transactions " +"`__" +msgstr "" +"`Интерактивные транзакции " +"`__" + +msgid "" +"No (`issue #163 `__)" +msgstr "" +"Нет (`тикет #163 `__)" + +msgid "" +"`Varbinary support " +"`__" +msgstr "" +"`Поддержка varbinary " +"`__" + +msgid "" +"Yes (`issue #105 `__)" +msgstr "" +"Есть (`тикет #105 `__)" + +msgid "" +"`UUID support " +"`__" +msgstr "" +"`Поддержка UUID " +"`__" + +msgid "" +"`Decimal support " +"`__" +msgstr "" +"`Поддержка decimal " +"`__" + +msgid "Almost (v2 branch)" +msgstr "Частично (в ветке v2)" + +msgid "" +"`EXT_ERROR support " +"`__" +msgstr "" +"`Поддержка EXT_ERROR " +"`__" + +msgid "" +"`Datetime support " +"`__" +msgstr "" +"`Поддержка datetime " +"`__" + +msgid "" +"`box.session.push() responses " +"`__" +msgstr "" +"`Возвращаемые значения box.session.push() " +"`__" + +msgid "Yes (see push_subscribe option and docs/pushes.rst)" +msgstr "Есть (см. push_subscribe option и docs/pushes.rst)" + +msgid "" +"`Session settings " +"`__" +msgstr "" +"`Настройки сессии " +"`__" + +msgid "" +"`Graceful shutdown `__" +msgstr "" +"`Мягкое завершение `__" + +msgid "" +"`IPROTO_ID (feature discovering) " +"`__" +msgstr "" +"`IPROTO_ID (обнаружение поддерживаемых функций) " +"`__" + +msgid "Support `CRUD `__" +msgstr "Поддержка `CRUD `__" + +msgid "Transparent request retrying" +msgstr "Прозрачная переотправка запроса" + +msgid "Transparent reconnecting" +msgstr "Прозрачное переподключение" + +msgid "Autoreconnect" +msgstr "Автоматическое переподключение" + +msgid "Yes (reconnect_max_attempts, reconnect_delay)" +msgstr "Есть (reconnect_max_attempts, reconnect_delay)" + +msgid "" +"Yes (reconnect_max_attempts, reconnect_delay), checking of connection " +"liveness" +msgstr "" +"Есть (reconnect_max_attempts, reconnect_delay), проверка состояния " +"соединения" + +msgid "Connection pool" +msgstr "Пул соединений" + +msgid "Yes (round robin failover)" +msgstr "Есть (циклическое восстановление после сбоев)" + +msgid "" +"Support of `PEP 249 -- Python Database API Specification v2.0 " +"`__" +msgstr "" +"Поддержка `PEP 249 --- Python Database API Specification v2.0 " +"`__" + +msgid "" +"`Yes `__" +msgstr "" +"`Есть `__" msgid "Node.js" msgstr "Node.js" @@ -977,9 +1310,6 @@ msgstr "" "документации `проекта tarantool-php на GitHub " "`__." -msgid "C" -msgstr "C" - msgid "Here follow two examples of using Tarantool's high-level C API." msgstr "" "В этом разделе приведены два примера использования высокоуровневого API "