-
-
Notifications
You must be signed in to change notification settings - Fork 348
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Best approach to building trio ecosystem #105
Comments
Hi Brian, great to hear from you! There's definitely lots to work on. Regarding http: the main immediate prerequisite inside trio itself is TLS support (#9), which is very doable, though we need to sort out what our idea of a "stream" looks like (part of #73). We also have some todo items to split out our pytest and sphinx infrastructure into reusable packages (#27, #71), which should be relatively straightforward and is something that any downstream projects are going to want. Regarding aiohttp vs. h11/h2: I may be biased, but I would definitely try to build something on top of h11 rather than trying to do a direct port of aiohttp. My impression is that aiohttp's internals are... unnecessarily complex, and would need significant reworking to match the structure that trio requires. There definitely is a fair amount of stuff that a full fledged http client needs (I assume you're thinking mostly about clients?) that isn't in h11, though. Another possibility is to look at urllib3; @Lukasa is working on porting it to use h11: urllib3/urllib3#1067 Regarding porting synchronous libraries: I'm not sure I understand the question, I'm not familiar with the Elasticsearch library, and I've barely written any more trio code than you have ;-), so I'm not sure what to say. As a general rule of thumb, I think idiomatic trio APIs are going to look at lot like synchronous APIs, except with blocking operations becoming async and with most of the Regarding the python-trio organization: that is one of the reasons I registered an organization, yes :-). We probably shouldn't overdo it with trying to drag every trio-using project in, but certainly for more central/official pieces it's a good place. (pytest-trio and sphinx-trio were the ones I immediately had in mind.) |
Closing this since I don't think there are action items left:
|
My async experience has largely been with the aio-lib ecosystem (particularly http, websockets, elasticsearch and kafka). I would love to have this functionality with trio and would happily contribute to help make it happen. A few thoughts/questions:
The text was updated successfully, but these errors were encountered: