Hello Twisted list,

We had a brief Twisted birds-of-a-feather session at PyCon 2024.

One issue that came up was that while Twisted works fine for the things that it 
does, we don't have a great onboarding process to motivate new developers to 
get involved and maintain it or build new things.  In particular, Twisted's 
main value these days is no longer in the reactor, as the stdlib's core asyncio 
functionality is quite capable, but in our suite of protocol implementations 
and integrations.  However, "it's got a ton of custom wire protocols" is less 
interesting in an era where there are fewer mainstream things that use custom 
wire protocols.  So what are interesting things that we already do with wire 
protocols that, with a fresh coat of paint, could appeal to an audience of new 
developers to revitalize the project in general?

To that end, we discussed a few projects:

We should resurrect the effort to build a first-party websockets 
implementation: <https://github.com/twisted/twisted/issues/4173>.  It's been 
nice to have Autobahn available, but websockets are by far the quickest and 
easiest way to provide a native demonstration of Twisted's capabilities.  
Luckily, we do not have to build an implementation ourselves, as a maintained 
sans-io kernel implementation exists in the 
<https://github.com/python-hyper/wsproto> project.  So we just need to do a 
direct integration with the Resource model in twisted.web.  I will probably do 
some work on this project myself.
Twitch's chat is IRC <https://dev.twitch.tv/docs/irc/>, but Twisted's IRC 
implementation is missing some implementation details.  An IRC bot tutorial 
could thus actually be a very relevant introduction to a large audience of 
developers.  Joel McGrady has volunteered for this effort and has written up 
some of the IRCv3 issues that will need addressing as part of it: 
https://github.com/twisted/twisted/issues/12180
We could probably do something interesting and fun with email, if we updated 
twisted.mail to make sure it worked with recent mail clients and did a little 
tutorial?  Email is still relentlessly popular despite decades of progress.  
Nobody has volunteered for this yet.
We already have a ton of work on SMB that just needs to be un-stuck, both in 
terms of reviews and fixes: <https://github.com/twisted/twisted/pull/1274>.  I 
really appreciate Ian contributing this to Twisted and I'd like it to see it 
eventually make it into a release, so I'm highlighting it here.  If anyone 
wants to pick up responding to review feedback, you can make a fork of his 
fork, grab the branch and open a new PR to start addressing things.
Everyone then mumbled "HTTP/3"? But nobody seemed to actually care about that.

All of these efforts should be done documentation-first, to try to evaluate how 
to build a successor to the aging "finger" tutorial series, and to make sure 
that we have something to point new developers at so that they can find their 
way around Twisted.

-g
_______________________________________________
Twisted mailing list -- twisted@python.org
To unsubscribe send an email to twisted-le...@python.org
https://mail.python.org/mailman3/lists/twisted.python.org/
Message archived at 
https://mail.python.org/archives/list/twisted@python.org/message/XGSMXM3X2IVD7GEUI3AKYTP2YTJK356M/
Code of Conduct: https://twisted.org/conduct

Reply via email to