We are stoked to announce the release of: tooz 9.0.0 The source is available from: https://opendev.org/openstack/tooz Download the package from: https://pypi.org/project/tooz For more details, please see below. 9.0.0 ^^^^^ Upgrade Notes ************* * The "CoordinationDriver.join_group" method has changed the default value of the "capabilities" parameter from "b''" to "None". This affects all drivers with capabilities support, however, it should have no impact at runtime since both are false'y values. * The consul driver has been removed. The library it depended on is no longer maintained and did not support modern Python versions. * The etcd driver has been removed. It only supported the v2 API, which was removed in etcd 3.6. Use the etcd3gw driver instead, which supports the v3 API. * Support for Python 3.10 has been removed. Now the minimum python version supported is 3.11. Deprecation Notes ***************** * The "kubernetes" driver is deprecated for removal, as the underlying library it depends on is no longer maintained. Users are encouraged to migrate to another driver. * The PostgreSQL driver has been deprecated and will be removed in a future release. Changes in tooz 8.1.0..9.0.0 ---------------------------- 21fdc62 Remove consul driver 6bd6a28 Deprecate PostgreSQL driver 7501873 Deprecate Kubernetes driver f5c8985 Improve get_coordinator annotations ee5b142 Remove redundant type docstrings 13fba2f Remove unnecessary debtcollector dependency 1133aa2 zuul: Use openstack-python3-next-jobs template b81c6d7 pre-commit: Bump versions c3ba081 Add Python 3.14 support 32fc851 tests: Fix ProcessPoolExecutor race on Python 3.14+ 12a1d49 Drop Python 3.10 12e22ef Fix mypy errors d4820f6 trivial: Add explanation to test scripts bc00eab typing: Enable strict checking e8c498d typing: Add py.typed, Typed classifier 951ad95 tox: Use new constraints option 54fccdb typing: Add type hints to tooz.driver.redis 6ee1d99 redis: Flatten py3-only logic bc1207d redis: Use bytes lock name 0c32d91 typing: Add type hints to tooz.driver.file b557efa typing: Add type hints to tooz.driver.zookeeper 70d1370 zookeeper: Normalize path generation bd4d768 zookeeper: Remove unnecessary staticmethod wrappers a34ab20 typing: Add type hints to tooz.driver.kubernetes c6404a9 typing: Add type hints to tooz.driver.memcached 440c9eb typing: Add type hints to tooz.driver.ipc b1344cf typing: Add type hints to tooz.driver.pgsql 3f3cbb8 typing: Add type hints to tooz.driver.mysql 334ee42 typing: Add type hints to tooz.driver.etcd3gw bf925b9 typing: Add type hints to tooz.coordination, tooz.partitioner e711852 coordination: Change join_group capabilities default abca4e9 typing: Add type hints to tooz.hashring 32c396e typing: Add type hints to tooz.locking 3d93c59 typing: Add type hints to tooz._retry 956ab01 typing: Add type hints to tooz.utils abacd94 Remove etcd driver 032bb46 zookeeper: Inline handler methods 99419c5 zookeeper: Track joined groups to fix leave-on-stop race 413e9bb typing: Normalize instance and static methods 7df2cb5 gitignore: Ignore pifpaf artifacts 859343d Decode provided IDs for exceptions, event repr d60124f typing: Add missing dependency 29be6b7 tests: Add test for str IDs 64f8547 tests: Validate behavior of file driver with str IDs 63981a8 Fix descriptions of Etcd3GW driver de4e3ed typing: Add argument to tooz.NotImplementedError 3ee509f Add initial typing 42eb79c ruff: Configure hacking as external linter Diffstat (except docs and test files) ------------------------------------- .gitignore | 9 +- .pre-commit-config.yaml | 4 +- .zuul.yaml | 198 ++++---- pyproject.toml | 45 +- ...precate-kubernetes-driver-0179640eadb3c504.yaml | 6 + .../deprecate-postgresql-1ed79808e4ad7ccc.yaml | 5 + .../new-join_group-default-4b765e828bc2a7b8.yaml | 7 + .../remove-consul-driver-c651f6bbb559839c.yaml | 5 + .../notes/remove-etcd-driver-1855b82d7fba106f.yaml | 6 + .../notes/remove-py310-7998496a30e56a82.yaml | 5 + requirements.txt | 1 - setup-consul-env.sh | 33 -- setup-etcd-env.sh | 3 + stubs/sysv_ipc/__init__.pyi | 237 +++++++++ test-requirements.txt | 1 - tools/compat-matrix.py | 8 - tooz/__init__.py | 4 +- tooz/_retry.py | 27 +- tooz/coordination.py | 456 ++++++++++------- tooz/drivers/consul.py | 524 -------------------- tooz/drivers/etcd.py | 300 ----------- tooz/drivers/etcd3gw.py | 157 +++--- tooz/drivers/file.py | 208 +++++--- tooz/drivers/ipc.py | 74 +-- tooz/drivers/kubernetes.py | 37 +- tooz/drivers/memcached.py | 152 +++--- tooz/drivers/mysql.py | 125 +++-- tooz/drivers/pgsql.py | 139 ++++-- tooz/drivers/redis.py | 242 +++++---- tooz/drivers/zookeeper.py | 546 ++++++++++++--------- tooz/hashring.py | 70 ++- tooz/locking.py | 66 ++- tooz/partitioner.py | 59 ++- tooz/py.typed | 0 tooz/utils.py | 89 +++- tox.ini | 92 ++-- 48 files changed, 2360 insertions(+), 2087 deletions(-) Requirements updates -------------------- diff --git a/requirements.txt b/requirements.txt index 8c122c1..0c3b5c1 100644 --- a/requirements.txt +++ b/requirements.txt @@ -13 +12,0 @@ oslo.serialization>=1.10.0 # Apache-2.0 -debtcollector>=3.0.0 # Apache-2.0 diff --git a/test-requirements.txt b/test-requirements.txt index 5218653..0983f51 100644 --- a/test-requirements.txt +++ b/test-requirements.txt @@ -7 +6,0 @@ ddt>=1.2.1 # MIT -python-consul2>=0.0.16 # MIT License
participants (1)
-
no-reply@openstack.org