You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This is a general issue collecting all of the places where we use twisted and replacement options for each task:
twisted.words.protocols.irc: https://github.com/gawel/irc3 (irc3 is backwards compatible, this looks to be the most popular?)
twisted.internet.reactor: we are already using asyncio
twisted.internet.protocol, esp LineReceiver: Requires some rewriting.
twisted.logger: stdlib logging or, perhaps better, structlog, which is compatible with twisted and stdlib logging
twisted.cred+twisted.conch.ssh: asyncssh is the clear winner
twisted.conch.manhole: aiomanhole exists, but low activity.
twisted.web: we already use aiohttp
twisted.threads: ThreadPoolExecutor
twisted.internet.stdio: aioconsole or custom solution using threads. We don't really need the full functionality this provides just to accept some shell commands. This should ideally be obsoleted by the ability to run commands via an API anyway.
twisted.python.logfile: We'd probably need to write something custom to support log rotation. Or instruct people to use external tools like logrotate or have logs collected by their service manager.
Why get rid of twisted?
Twisted's API design is old and cumbersom. The community has long been in a decline, and many bugs we experience are just not going to get fixed. This is unlikely to get better with the big community move towards libraries like asyncio and trio.
The text was updated successfully, but these errors were encountered:
This is a general issue collecting all of the places where we use twisted and replacement options for each task:
twisted.words.protocols.irc
: https://github.com/gawel/irc3 (irc3 is backwards compatible, this looks to be the most popular?)twisted.internet.reactor
: we are already using asynciotwisted.internet.protocol
, espLineReceiver
: Requires some rewriting.twisted.logger
: stdliblogging
or, perhaps better,structlog
, which is compatible withtwisted
and stdliblogging
twisted.cred
+twisted.conch.ssh
:asyncssh
is the clear winnertwisted.conch.manhole
:aiomanhole
exists, but low activity.twisted.web
: we already use aiohttptwisted.threads
:ThreadPoolExecutor
twisted.internet.stdio
:aioconsole
or custom solution using threads. We don't really need the full functionality this provides just to accept some shell commands. This should ideally be obsoleted by the ability to run commands via an API anyway.twisted.python.logfile
: We'd probably need to write something custom to support log rotation. Or instruct people to use external tools likelogrotate
or have logs collected by their service manager.Why get rid of twisted?
Twisted's API design is old and cumbersom. The community has long been in a decline, and many bugs we experience are just not going to get fixed. This is unlikely to get better with the big community move towards libraries like
asyncio
andtrio
.The text was updated successfully, but these errors were encountered: