Skip to content

Setup async interface for discovery module

This will allow us to use this interface in async code like swh-scanner.

Unfortunately, this means calling asyncio.run for sync code, but the performance impact should be negligible.

The swh_storage.*missing* APIs are inconsistent for each type, which requires a lot of boilerplate code. This should be addressed in a follow-up.

There is also one hack (marked as such inline) needed to have an API that isn't also plagued by implementation details of needing to keep ID -> object matchers around. This should be a removed as a direct consequence of aligning the storage APIs.


Migrated from D8538 (view on Phabricator)

Merge request reports