@@ -44,7 +44,7 @@ Also there are several community-driven Python connectors:
44
44
* `gtarantool <https://github.com/shveenkov/gtarantool >`__ with gevent support, **no active maintenance **
45
45
46
46
The table below contains a feature comparison for asynctnt, gtarantool and
47
- tarantool-python. aiotarantool is absent there because it is quite outdated and
47
+ tarantool-python. aiotarantool and gtarantool are absent there because they are quite outdated and
48
48
unmaintained.
49
49
50
50
.. _python-feature-comparison :
@@ -60,170 +60,134 @@ Last update: November 2022
60
60
61
61
* - Parameter
62
62
- `igorcoding/asynctnt <https://github.com/igorcoding/asynctnt >`__
63
- - `shveenkov/gtarantool <https://github.com/shveenkov/gtarantool >`__
64
63
- `tarantool/tarantool-python <https://github.com/tarantool/tarantool-python >`__
65
64
66
65
* - License
67
66
- Apache License 2.0
68
- - LGPL
69
67
- BSD-2
70
68
71
69
* - Is maintained
72
70
- Yes
73
- - No (last updated in 2016)
74
71
- Yes
75
72
76
73
* - Known Issues
77
74
- None
78
75
- None
79
- - None
80
76
81
77
* - Documentation
82
78
- Yes (`github.io <https://igorcoding.github.io/asynctnt/ >`__)
83
- - No
84
79
- Yes (`readthedocs
85
80
<https://tarantool-python.readthedocs.io/en/latest/quick-start.en.html> `__
86
81
and :ref: `tarantool.io <getting_started-python >`)
87
82
88
83
* - Testing / CI / CD
89
84
- GitHub Actions
90
- - No (tests exist)
91
85
- GitHub Actions
92
86
93
87
* - GitHub Stars
94
88
- 68
95
- - 17
96
89
- 85
97
90
98
91
* - Static Analysis
99
92
- Yes (Flake8)
100
93
- No
101
- - No
102
94
103
95
* - Packaging
104
96
- `pip <https://pypi.org/project/asynctnt/ >`__
105
- - `pip <https://pypi.org/project/gtarantool/ >`__
106
97
- `pip, deb, rpm <https://github.com/tarantool/tarantool-python#download-and-install >`__
107
98
108
99
* - Code coverage
109
100
- Yes
110
- - No
111
101
- Yes
112
102
113
103
* - Support asynchronous mode
114
104
- Yes, `asyncio <https://docs.python.org/3/library/asyncio.html >`__
115
- - Yes (`gevent
116
- <https://www.gevent.org/api/gevent.event.html#gevent.event.AsyncResult> `__,
117
- example: `test_gevent.py
118
- <https://github.com/shveenkov/gtarantool/blob/master/tests/test_gevent.py> `__)
119
105
- No
120
106
121
107
* - Batching support
122
- - No
123
108
- No
124
109
- No (`issue #55 <https://github.com/tarantool/tarantool-python/issues/55 >`__)
125
110
126
111
* - Schema reload
127
112
- Yes (automatically, see `auto_refetch_schema <https://igorcoding.github.io/asynctnt/api.html >`__)
128
113
- Yes (automatically)
129
- - Yes (automatically)
130
114
131
115
* - Space / index names
132
116
- Yes
133
117
- Yes
134
- - Yes
135
118
136
119
* - Access tuple fields by names
137
120
- Yes
138
121
- No
139
- - No
140
122
141
123
* - :ref: `SQL support <reference_sql >`
142
124
- Yes
143
- - No
144
125
- Yes
145
126
146
127
* - :ref: `Interactive transactions <txn_mode_stream-interactive-transactions >`
147
128
- Yes
148
- - No
149
129
- No (`issue #163 <https://github.com/tarantool/tarantool-python/issues/163 >`__)
150
130
151
131
* - :ref: `Varbinary support <index-box_data-types >`
152
132
- Yes (in ``MP_BIN `` fields)
153
- - No
154
133
- Yes
155
134
156
135
* - :ref: `Decimal support <msgpack_ext-decimal >`
157
136
- Yes
158
- - No
159
137
- Yes
160
138
161
139
* - :ref: `UUID support <msgpack_ext-uuid >`
162
140
- Yes
163
- - No
164
141
- Yes
165
142
166
143
* - :ref: `EXT_ERROR support <msgpack_ext-error >`
167
144
- Yes
168
- - No
169
145
- Yes
170
146
171
147
* - :ref: `Datetime support <msgpack_ext-datetime >`
172
148
- Yes
173
- - No
174
149
- Yes
175
150
176
151
* - :ref: `Interval support <msgpack_ext-interval >`
177
152
- No (`issue #30 <https://github.com/igorcoding/asynctnt/issues/30 >`__)
178
- - No
179
153
- Yes
180
154
181
155
* - :ref: `box.session.push() responses <box_session-push >`
182
156
- Yes
183
- - No
184
157
- Yes
185
158
186
159
* - :ref: `Session settings <box_space-session_settings >`
187
160
- No
188
161
- No
189
- - No
190
162
191
163
* - `Graceful shutdown <https://github.com/tarantool/tarantool/issues/5924 >`__
192
164
- No
193
165
- No
194
- - No
195
166
196
167
* - `IPROTO_ID (feature discovery) <https://github.com/tarantool/doc/issues/2419 >`__
197
168
- Yes
198
- - No
199
169
- Yes
200
170
201
171
* - `CRUD support <https://github.com/tarantool/crud >`__
202
- - No
203
172
- No
204
173
- No (`issue #205 <https://github.com/tarantool/tarantool-python/issues/205 >`__)
205
174
206
175
* - Transparent request retrying
207
176
- No
208
177
- No
209
- - No
210
178
211
179
* - Transparent reconnecting
212
180
- Autoreconnect
213
- - Yes (reconnect_max_attempts, reconnect_delay)
214
181
- Yes (reconnect_max_attempts, reconnect_delay), checking of connection liveness
215
182
216
183
* - Connection pool
217
- - No
218
184
- No
219
185
- Yes (with master discovery)
220
186
221
187
* - Support of `PEP 249 -- Python Database API Specification v2.0 <https://www.python.org/dev/peps/pep-0249/ >`__
222
- - No
223
188
- No
224
189
- `Yes <https://github.com/tarantool/tarantool-python/wiki/PEP-249-Database-API >`__
225
190
226
191
* - `Encrypted connection (Tarantool Enterprise) <https://www.tarantool.io/en/enterprise_doc/security/#enterprise-iproto-encryption >`__
227
192
- No (`issue #22 <https://github.com/igorcoding/asynctnt/issues/22 >`__)
228
- - No
229
193
- Yes
0 commit comments