Skip to content

Commit 8c6e8b1

Browse files
Update Python connectors page (#3677)
* connectors: remove queue-python tarantool/queue-python [1] last commit was in 2016. Module does not support Tarantool 1.6+. 1. https://github.com/tarantool/queue-python * connectors: update aiotarantool status shveenkov/aiotarantool last commit was in 2019. 1. https://github.com/shveenkov/aiotarantool * connectors: remove gtarantool from comparison shveenkov/gtarantool [1] last commit was in 2016. It is useless for modern Tarantool users. 1. https://github.com/shveenkov/gtarantool * connectors: update comparison table tarantool-python static analysis was introduced in [1], CRUD API was introduced in [2]. 1. tarantool/tarantool-python#289 2. tarantool/tarantool-python#264
1 parent 94f0190 commit 8c6e8b1

File tree

1 file changed

+9
-48
lines changed

1 file changed

+9
-48
lines changed

doc/book/connectors/python.rst

+9-48
Original file line numberDiff line numberDiff line change
@@ -36,197 +36,158 @@ all went well. If the tuple already exists, the program will throw
3636
The example program only shows one request and does not show all that's
3737
necessary for good practice. For that, please see
3838
`tarantool-python <http://github.com/tarantool/tarantool-python>`__ project at GitHub.
39-
For an example of using Python API with
40-
`queue managers for Tarantool <https://github.com/tarantool/queue>`__, see
41-
`queue-python <https://github.com/tarantool/queue-python>`__ project at GitHub.
4239

4340
Also there are several community-driven Python connectors:
4441

4542
* `asynctnt <https://github.com/igorcoding/asynctnt>`__ with asyncio support
46-
* `aiotarantool <https://github.com/shveenkov/aiotarantool>`__ also with asyncio support
43+
* `aiotarantool <https://github.com/shveenkov/aiotarantool>`__ also with asyncio support, **no active maintenance**
4744
* `gtarantool <https://github.com/shveenkov/gtarantool>`__ with gevent support, **no active maintenance**
4845

49-
The table below contains a feature comparison for asynctnt, gtarantool and
50-
tarantool-python. aiotarantool is absent there because it is quite outdated and
46+
The table below contains a feature comparison for asynctnt and
47+
tarantool-python. aiotarantool and gtarantool are absent there because they are quite outdated and
5148
unmaintained.
5249

5350
.. _python-feature-comparison:
5451

5552
Feature comparison
5653
------------------
5754

58-
Last update: November 2022
55+
Last update: September 2023
5956

6057
.. list-table::
6158
:header-rows: 1
6259
:stub-columns: 1
6360

6461
* - Parameter
6562
- `igorcoding/asynctnt <https://github.com/igorcoding/asynctnt>`__
66-
- `shveenkov/gtarantool <https://github.com/shveenkov/gtarantool>`__
6763
- `tarantool/tarantool-python <https://github.com/tarantool/tarantool-python>`__
6864

6965
* - License
7066
- Apache License 2.0
71-
- LGPL
7267
- BSD-2
7368

7469
* - Is maintained
7570
- Yes
76-
- No (last updated in 2016)
7771
- Yes
7872

7973
* - Known Issues
8074
- None
8175
- None
82-
- None
8376

8477
* - Documentation
8578
- Yes (`github.io <https://igorcoding.github.io/asynctnt/>`__)
86-
- No
8779
- Yes (`readthedocs
8880
<https://tarantool-python.readthedocs.io/en/latest/quick-start.en.html>`__
8981
and :ref:`tarantool.io <getting_started-python>`)
9082

9183
* - Testing / CI / CD
9284
- GitHub Actions
93-
- No (tests exist)
9485
- GitHub Actions
9586

9687
* - GitHub Stars
97-
- 68
98-
- 17
99-
- 85
88+
- 73
89+
- 92
10090

10191
* - Static Analysis
10292
- Yes (Flake8)
103-
- No
104-
- No
93+
- Yes (Flake8, Pylint)
10594

10695
* - Packaging
10796
- `pip <https://pypi.org/project/asynctnt/>`__
108-
- `pip <https://pypi.org/project/gtarantool/>`__
10997
- `pip, deb, rpm <https://github.com/tarantool/tarantool-python#download-and-install>`__
11098

11199
* - Code coverage
112100
- Yes
113-
- No
114101
- Yes
115102

116103
* - Support asynchronous mode
117104
- Yes, `asyncio <https://docs.python.org/3/library/asyncio.html>`__
118-
- Yes (`gevent
119-
<https://www.gevent.org/api/gevent.event.html#gevent.event.AsyncResult>`__,
120-
example: `test_gevent.py
121-
<https://github.com/shveenkov/gtarantool/blob/master/tests/test_gevent.py>`__)
122105
- No
123106

124107
* - Batching support
125108
- No
126-
- No
127-
- No (`issue #55 <https://github.com/tarantool/tarantool-python/issues/55>`__)
109+
- Yes (with CRUD API)
128110

129111
* - Schema reload
130112
- Yes (automatically, see `auto_refetch_schema <https://igorcoding.github.io/asynctnt/api.html>`__)
131113
- Yes (automatically)
132-
- Yes (automatically)
133114

134115
* - Space / index names
135116
- Yes
136117
- Yes
137-
- Yes
138118

139119
* - Access tuple fields by names
140120
- Yes
141121
- No
142-
- No
143122

144123
* - :ref:`SQL support <reference_sql>`
145124
- Yes
146-
- No
147125
- Yes
148126

149127
* - :ref:`Interactive transactions <txn_mode_stream-interactive-transactions>`
150128
- Yes
151-
- No
152129
- No (`issue #163 <https://github.com/tarantool/tarantool-python/issues/163>`__)
153130

154131
* - :ref:`Varbinary support <index-box_data-types>`
155132
- Yes (in ``MP_BIN`` fields)
156-
- No
157133
- Yes
158134

159135
* - :ref:`Decimal support <msgpack_ext-decimal>`
160136
- Yes
161-
- No
162137
- Yes
163138

164139
* - :ref:`UUID support <msgpack_ext-uuid>`
165140
- Yes
166-
- No
167141
- Yes
168142

169143
* - :ref:`EXT_ERROR support <msgpack_ext-error>`
170144
- Yes
171-
- No
172145
- Yes
173146

174147
* - :ref:`Datetime support <msgpack_ext-datetime>`
175148
- Yes
176-
- No
177149
- Yes
178150

179151
* - :ref:`Interval support <msgpack_ext-interval>`
180152
- No (`issue #30 <https://github.com/igorcoding/asynctnt/issues/30>`__)
181-
- No
182153
- Yes
183154

184155
* - :ref:`box.session.push() responses <box_session-push>`
185156
- Yes
186-
- No
187157
- Yes
188158

189159
* - :ref:`Session settings <box_space-session_settings>`
190160
- No
191161
- No
192-
- No
193162

194163
* - `Graceful shutdown <https://github.com/tarantool/tarantool/issues/5924>`__
195164
- No
196165
- No
197-
- No
198166

199167
* - `IPROTO_ID (feature discovery) <https://github.com/tarantool/doc/issues/2419>`__
200168
- Yes
201-
- No
202169
- Yes
203170

204171
* - `CRUD support <https://github.com/tarantool/crud>`__
205172
- No
206-
- No
207-
- No (`issue #205 <https://github.com/tarantool/tarantool-python/issues/205>`__)
173+
- Yes
208174

209175
* - Transparent request retrying
210176
- No
211177
- No
212-
- No
213178

214179
* - Transparent reconnecting
215180
- Autoreconnect
216-
- Yes (reconnect_max_attempts, reconnect_delay)
217181
- Yes (reconnect_max_attempts, reconnect_delay), checking of connection liveness
218182

219183
* - Connection pool
220-
- No
221184
- No
222185
- Yes (with master discovery)
223186

224187
* - Support of `PEP 249 -- Python Database API Specification v2.0 <https://www.python.org/dev/peps/pep-0249/>`__
225-
- No
226188
- No
227189
- `Yes <https://github.com/tarantool/tarantool-python/wiki/PEP-249-Database-API>`__
228190

229191
* - `Encrypted connection (Tarantool Enterprise) <https://www.tarantool.io/en/enterprise_doc/security/#enterprise-iproto-encryption>`__
230192
- No (`issue #22 <https://github.com/igorcoding/asynctnt/issues/22>`__)
231-
- No
232193
- Yes

0 commit comments

Comments
 (0)