Tags: admdev8/tarantool-python
Tags
## Overview This release offers two major features: SQL support and implementation of the Database API (PEP-0249). Simple example of using SQL: | #!/usr/bin/env python | | # In tarantool console: | # | # tarantool> box.cfg{listen = 'localhost:3301'} | # tarantool> box.schema.user.create('me', {password = 'secret'}) | # tarantool> box.schema.user.grant('me','read,write,execute,create,drop,alter','universe') | | from pprint import pprint | import tarantool | | connection = tarantool.connect(host='localhost', port=3301, user='me', password='secret') | res = connection.execute('SELECT :foo, :bar', {'foo': 5, 'bar': 6}) | pprint(res) | | # Those properties are None for SELECT, shown for the reference. | print('autoincrement_ids: {}'.format(res.autoincrement_ids)) | print('affected_row_count: {}'.format(res.affected_row_count)) See the similar example implemented using the Database API on the [wiki page][1]. The Database API becomes the base for the [django-tarantool][2] backend. Aside of those changes, the release provides compatibility with the new version of the msgpack library (1.0.0) and fixes several tricky cases around `encoding=None` option. [1]: https://github.com/tarantool/tarantool-python/wiki/PEP-249-Database-API [2]: https://pypi.org/project/django-tarantool/ ## Breaking changes This release should not break existing code. ## New features * Support msgpack 1.0.0 (tarantool#155, PR tarantool#173). * Added SQL support (`<connection>.execute()` method) (tarantool#159, PR tarantool#161). * Allow to receive a Tarantool tuple as a Python tuple, not a list, with `use_list=False` connection option (tarantool#166, PR tarantool#161). * Support the Database API (PEP-0249) (PR tarantool#161). ## Bugfixes * schema: support encoding=None connections (PR tarantool#172). ## Other Infrastructure, CI / CD, testing, readme, pure development changes, which do not affect an end user directly. Note: testing changes that were introduced as part of a feature / a bugfix are not listed here. * deployment: fixed README.rst and setup.py points, where `twine` or pypi.org complains (PR tarantool#147). * readme: fixed links to tarantool documentation (PR tarantool#151). * test: eliminate deprecated box.cfg options (8ff9a3f, bd37703). * gitignore: add .idea (e49f5f0). * ci: dropped Ubuntu Disco, which reaches EOL (21e3ebf). * ci: added Fedora 30, Ubuntu Eoan and Focal (PR tarantool#165). * ci: deploy to 2_3 and 2_4 repositories (PR tarantool#165). * ci: worked around PyYAML installation problem on AppVeyor (PR tarantool#165). * ci: verify on Python 3.8 (PR tarantool#161). * test: fixed luacheck warnings (tarantool#178, PR tarantool#179). * readme: refreshed the description of tarantool features (PR tarantool#180). * test: ensure compatibility with Python 3 for some testing / documentation building code (PR tarantool#181).
## Breaking changes This release should not break existing code. ## New features * Added ability to configure a MeshConnection object to periodically update instances list from tarantool (tarantool#134). ## Bugfixes * Fixed the deprecation warning due to deprecated way to import abstract collections. * Fixed SchemaReloadException raising after reconnection with non-actual schema id (tarantool#141). * Fixed a string representation of a Response object without data (say, authentication response) (tarantool#139).
## Breaking changes This release should not break existing code. ## New features * Added MeshConnection that allows to switch between nodes from a user provided list if a current node is down using round-robin strategy (tarantool#106). * Added connection_timeout parameter to Connection (tarantool#115). ## Bugfixes * Fixed auto-reconnection in Connection. * Eliminated deprecation warnings on Python 3 (tarantool#114). * Added TCP_NODEPLAY back (it was removed in 0.6.4) (tarantool#127).
tarantool-python 0.6.1 Release for PyPI with some incompatible changes: * `str`/`repr` of tuples now shows not yaml, but `json` (incompat) * supports now CALL 1.7.1 by default (incompat) * added support for unix sockets * getting rid of six dependency * packages for centos 6/7 should now be ok
PreviousNext