Skip to content

Replace aiohttp with a non async http library

After learning a lot on differences between mono-thread async, concurrency, parallel execution, threads, etc, I came to the conclusion that aiohttp is:

  • Overkill for the DuniterPy usage.
  • Hard to implement (need an async loop, recursively add async and await keywords on all functions).
  • Not used in terminal little scripts, only in Sakia (may be Silkaj?).

So I want to get rid of aiohttp library and replace it with, to choose:

  • urllib (low-level but standard python module)
  • requests (high-level but external dependency)

Pro:

  • The developers will be able to choose their own concurrency method if needed.
  • The library usage will be more simple for everyone (no more async loop and keywords to understand).
  • Maintainers will have a simpler code to maintain.

Con:

  • Mostly all of the code must be refactored.
  • May not be ready for 1.0, but for 2.0.
Edited by Moul
To upload designs, you'll need to enable LFS and have an admin enable hashed storage. More information