Investigate using librepo for downloading from RPM repositories
Librepo is the "official" library for downloading RPM repositories, it has built-in support for mirrorlist, metalink, gpg checking, proxies, picking the fastest mirror, speed limits and so forth. This could potentially eliminate a fair bit of complexity and code that we otherwise have to handle ourselves.
It's a C library but it has Python bindings. It may or may not be suitable given that we don't necessarily want to bypass the "remote" infrastructure.
Updated by dalley about 1 year ago
- Status changed from NEW to CLOSED - WONTFIX
My opinion is that we'd truly be better off re-implementing librepo than trying to go through the effort of producing a viable Python package and trying to use it.
The API is terrible, even by the standards of a C library which is trying to support a ton of different use cases at once. We can absolutely do better because it would be hard to do worse.