Conversation
Signed-off-by: Lawrence Lane <llane@nvidia.com>
ngoldbaum
left a comment
There was a problem hiding this comment.
Bengal looks really neat! I will definitely point to this as an example for other people to look at when they ask me about free-threaded "apps".
If you ever notice any scaling issues or want help tracking them down, IMO fixing issues like that is will within our remit at Quansight, especially if it leads to ecosystem-wide improvements in CPython or core libraries.
@rgommers would you please also give this a look? Let me know if you see any issues with including a section on @lbliii's work.
Co-authored-by: Nathan Goldbaum <nathan.goldbaum@gmail.com>
|
I think pointing to Pounce or Chirp as examples is likely more helpful. So I suggest moving Bengal lower down in the list. If possible, a link to a document that explains how Bengal uses free-threading. It's a bit hard to find your way from the repo README page to relevant documentation. There is this page in the docs: For Chirp, there is this page: https://lbliii.github.io/chirp/docs/about/thread-safety/ Another idea: you could make a "How does the Bengal stack use free-threading" page, link to that. From there, you could link to the various components and explain how they take advantage of it. |
Hello! Your contribution guide invites external examples, so I thought I'd share a set of pure-Python libraries I've been building on 3.14t over the past several months.
They're all part of an SSG stack (Bengal) and each one exercises a different free-threading pattern:
ContextVarrequest isolation (Chirp), copy-on-write filter chains with a PEP 703 declaration (Kida), thread-based ASGI workers (Pounce), immutable ASTs for parallel parsing (Patitas), and immutable state machines (Rosettes).Let me know if you'd like a different format or for me to reduce the list to just one. These link to the repos and doc sites -- I don't have dedicated blog posts about them but could look into that if recommended.
Thanks for taking a look.
Links added in PR are below:
ContextVarisolation for per-request state in a web framework (docs)