Beta: better support for trio in HTTPClientAsync #1210
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changelog
trio
on HttpClientAsync.Details
Acts on suggestions by @Zac-HD on #327 (comment).
anyio
module be available alongsidehttpx
as a prerequisite for using the async HTTPX client. HTTPX has a dependency on anyio anyway, so there is no downside to this.asyncio.sleep
toanyio.sleep
-- this means that users oftrio
andasyncio
will both be able to use the httpx client without any additional configuration.asyncio
andtrio
backends. This is accomplished by adding thepytest.mark.anyio
marker on all the asynchronous tests (where previously I was using the pytest-asyncio marker). The pytest integration comes bundled in withanyio
(which I have added to the test dependencies), and is described at https://anyio.readthedocs.io/en/stable/testing.html. The default behavior of this marker is to run everything on all supported backends (so both asyncio and trio). I can confirm that tests are indeed running with trio, because I had errors when I only didpip install anyio
instead ofpip install anyio[trio]
.