kragniz / kragniz/python-etcd3

0.12.0 release pulls in incompatible tenacity 7.0.0

Open
#1,543 1 comment 2 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
Python
Stars
450
Forks
194
PR merge metrics
No merged PRs in 30d

Description

Seems by default tenacity 7.0.0 is being pulled in and causes the below exception:

  File "python3.8/site-packages/etcd3/locks.py", line 136, in __enter__
    self.acquire()
  File "python3.8/site-packages/etcd3/locks.py", line 103, in acquire
    return _acquire()
  File "python3.8/site-packages/tenacity/__init__.py", line 339, in wrapped_f
    return self(f, *args, **kw)
  File "python3.8/site-packages/tenacity/__init__.py", line 430, in __call__
    do = self.iter(retry_state=retry_state)
  File "python3.8/site-packages/tenacity/__init__.py", line 382, in iter
    sleep = self.wait(retry_state=retry_state)
TypeError: wait() got an unexpected keyword argument 'retry_state'

Strangely, the tagged version in this repo seems to reflect it should be tenacity 5.0.2. But the one on PyPi installed copy has tenacity >=6.1.0.

I've pinned locally to 6.1.0 to correct the issue.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with requirements/base.in and compare the dependency metadata published for the v0.12.0 PyPI release against the tagged repository version. Reproduce installation and the locks.py failure with the resolved tenacity version; done means the released package resolves a compatible dependency and lock acquisition no longer raises this error.

Written by the indexing model from the issue text.

Assessment

Tech stack
python
Domain
build-system
Issue type
Bug
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Stale
Clarity
Clearly specified
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.