kragniz / kragniz/python-etcd3
io in Client constructor
- Dominant language
- Python
- Stars
- 450
- Forks
- 194
- PR merge metrics
- No merged PRs in 30d
Description
`etcd3.client.Client` performs IO in its constructor
https://github.com/kragniz/python-etcd3/blob/aca9b60205620e31b1635ce32b7ef74170698c7e/etcd3/client.py#L127
https://github.com/kragniz/python-etcd3/blob/aca9b60205620e31b1635ce32b7ef74170698c7e/etcd3/client.py#L148
this makes it difficult to create an asyncio port or a thread based wrapper
is it safe to call `.__enter__()` and `.__exit__` in different threads?
Contributor guide
Research direction
Start by reading etcd3/client.py at the linked lines 127 and 148 to trace the I/O performed during Client construction and the related context-manager methods. Check the issue's thread for the intended lifecycle and thread-safety expectations; done should establish whether construction and __enter__/__exit__ can support the proposed asyncio or thread-based wrapper safely.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- api, backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100