[X] I have searched the existing issues and didn't find my feature already requested there
Feature description
We should take a stab at creating a more low-level subprocess implementation that only relies on a minimum set of functionality from each backend, just like the threading API.
Use case
Currently the asyncio subprocess API is a bit iffy from AnyIO's perspective. There are a lot of moving parts which we don't control, and cases where we use undocumented methods (StreamReader.set_exception() as an example). A new implementation, if possible, might make it easier to further develop the AnyIO subprocess APIs.
Things to check first
Feature description
We should take a stab at creating a more low-level subprocess implementation that only relies on a minimum set of functionality from each backend, just like the threading API.
Use case
Currently the asyncio subprocess API is a bit iffy from AnyIO's perspective. There are a lot of moving parts which we don't control, and cases where we use undocumented methods (
StreamReader.set_exception()
as an example). A new implementation, if possible, might make it easier to further develop the AnyIO subprocess APIs.