You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
We currently use requests in the default ngclient fetcher (RequestsFetcher).
Internally requests uses urllib3 and we don't seem to use any functionality outside of what urllib3 provides: connection pool management and streaming are supported. Switching to urllib3 would mean:
we would have (at least) one less dependency
the API we would use is arguably better maintained
This could be achieved by first writing an alternative FetcherInterface implementation that uses urllib3: if it looks good we can then make it the default and remove the requests-based implementation.
The text was updated successfully, but these errors were encountered:
the one exception is that requests uses certifi for TLS certs and urllib3 by default does not. We could keep using certifi but this seems like a good time to switch to system certificates instead. Reasons are well documented in https://truststore.readthedocs.io/en/latest/
We likely want to support RequestsFetcher for at least one release even if the new fetcher is the default to provide easy workaround in case users have issues with the new default
Once we can remove the requests dependency we also drop idna, charset-normalizer and certifi: this feels like a win to me
We currently use requests in the default ngclient fetcher (RequestsFetcher).
Internally requests uses urllib3 and we don't seem to use any functionality outside of what urllib3 provides: connection pool management and streaming are supported. Switching to urllib3 would mean:
This could be achieved by first writing an alternative FetcherInterface implementation that uses urllib3: if it looks good we can then make it the default and remove the requests-based implementation.
The text was updated successfully, but these errors were encountered: