-
Notifications
You must be signed in to change notification settings - Fork 140
Description
Is your feature request related to a problem or challenge? Please describe what you are trying to do.
I'm a library developer. I would like my library to have async code, but not force developers into a specific async runtime (smol, tokio, etc). My library depends on object_store, which uses reqwest, which requires tokio to run:
- Reqwest panics due to
not currently running on the Tokio runtime.regardless of async runtime seanmonstar/reqwest#1108 - Reqwest always returns 'there is no reactor running, must be called from the context of a Tokio 1.x runtime' seanmonstar/reqwest#1961
My library can't use object_store without forcing all my users to adopt tokio as their async runtime.
Describe the solution you'd like
I think object_store should drop reqwest as a requirement for its cloud integrations. Perhaps adopt a different HTTP client that works with other async reactors as well?
Describe alternatives you've considered
We looked at dropping our dependency on object_store, but it's such a good library.
We are currently using futures-rs's block_on, but we get:
there is no reactor running, must be called from the context of a Tokio 1.x runtime