Make py-libp2p async-library-agnostic with anyio
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 624
- Forks
- 256
- Avg merge
- 1d 34m
- Merged PRs (30d)
- 47
Description
Coming from https://github.com/libp2p/py-libp2p/issues/174#issuecomment-560470465, and based on some conversation with @mhchia, I'm making this issue as a reminder to eventually make the library completely io-agnostic by implimenting it with anyio, an asynchronous io abstraction library (which currently supports asyncio, trio, and curio).
This'll tie #349, #347 and #174 into one problem, while staying in async library ecosystems of all 3 (possibly 4)
Anyio documentation: https://anyio.readthedocs.io/en/latest/index.html
Pypi project: https://pypi.org/project/anyio/
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the linked AnyIO documentation and the related issues #349, #347, and #174 to understand the existing async-library constraints. Define the migration scope for making py-libp2p completely I/O-agnostic, then verify that the library remains usable across the async ecosystems supported by AnyIO.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- networking
- Issue type
- Refactor
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100