Twisted
An asynchronous networking framework written in Python
Decision gist · record as of 2026-08-14
Yes. Twisted is a well-established, actively maintained framework with no known vulnerabilities, low install friction, and permissive licensing. It is the right choice if you need to build event-driven networked applications, especially those requiring protocol implementations beyond basic TCP/UDP or integration with multiple event loops. For simple HTTP-only use cases, lighter alternatives may be preferable.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Requires Python 3.9.12 or later; some subsystems (SSH, DNS, mail) may need additional optional dependencies not included in the base install.
- Low install friction with a pure-wheel distribution and seven straightforward runtime dependencies.
- The project is actively maintained with recent releases and 5975 repository stars, indicating stable ongoing development.
License · maintenance · safety
MIT License (permissive) — MIT License permits commercial and private use with minimal restrictions; you may use, modify, and distribute Twisted freely as long as you include the license notice.
last release 2026-05-11 (95 days) · last repo commit 2026-08-13 · 5,975 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 16,041,245 downloads/mo, #1,164 on PyPI
Alternatives
Verify before relying
pip install twisted
from twisted.internet import reactor
from twisted.internet.protocol import Protocol, Factory
class EchoProtocol(Protocol):
def dataReceived(self, data):
self.transport.write(data)
factory = Factory()
factory.protocol = EchoProtocol
reactor.listenTCP(port, factory)
reactor.run()- Whether the 7 listed runtime dependencies are sufficient for all major subsystems or if optional dependencies are commonly needed for typical use cases.
- Performance characteristics and scalability limits for high-concurrency scenarios compared to other async frameworks.
- Specific port numbers or configuration examples for common protocol servers.
What it is and what it does
Twisted is a mature, event-driven framework for building asynchronous networked applications in Python. It abstracts away platform-specific event loops (select, poll, epoll, kqueue, IOCP) and provides a unified reactor interface, letting you write code that runs efficiently across different systems. The framework includes protocol implementations for HTTP, SSH, Telnet, DNS, SMTP, IMAP, POP3, IRC, and XMPP, along with tools for GPS communication and unit testing.
You use Twisted by defining protocol classes that handle network events (data received, connection made, connection lost) and registering them with the reactor, which then dispatches I/O events to your handlers. It's designed for long-lived server applications that need to handle many concurrent connections without blocking, and it integrates with GUI event loops for applications that need both networking and UI responsiveness.
Use it for
- Build HTTP servers and clients with twisted.web, including WSGI integration and HTML templating.
- Implement SSH or Telnet servers and clients using twisted.conch for secure remote access.
- Create IRC, XMPP, or other instant-messaging servers and clients with twisted.words.
- Run SMTP, IMAP, or POP3 mail servers and clients with twisted.mail.
- Test asynchronous code using twisted.trial, a unit testing framework designed for Twisted applications.
- Build DNS servers and clients or integrate with GPS receivers using twisted.names and twisted.positioning.
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes.
Twisted is a well-established, actively maintained framework with no known vulnerabilities, low install friction, and permissive licensing. It is the right choice if you need to build event-driven networked applications, especially those requiring protocol implementations beyond basic TCP/UDP or integration with multiple event loops. For simple HTTP-only use cases, lighter alternatives may be preferable.
Install
twisted on PyPI
Before you install
Low install friction with a pure-wheel distribution and seven straightforward runtime dependencies. The project is actively maintained with recent releases and 5975 repository stars, indicating stable ongoing development.
Requires Python 3.9.12 or later; some subsystems (SSH, DNS, mail) may need additional optional dependencies not included in the base install.
License in practice
MIT License permits commercial and private use with minimal restrictions; you may use, modify, and distribute Twisted freely as long as you include the license notice.
Quickstart
pip install twisted
from twisted.internet import reactor
from twisted.internet.protocol import Protocol, Factory
class EchoProtocol(Protocol):
def dataReceived(self, data):
self.transport.write(data)
factory = Factory()
factory.protocol = EchoProtocol
reactor.listenTCP(port, factory)
reactor.run()
Verify before relying
- Whether the 7 listed runtime dependencies are sufficient for all major subsystems or if optional dependencies are commonly needed for typical use cases.
- Performance characteristics and scalability limits for high-concurrency scenarios compared to other async frameworks.
- Specific port numbers or configuration examples for common protocol servers.
Package facts
| License | MIT License permissive |
| Python support | Supports the current Python release >=3.9.12 |
| Install friction | Low. Pure-Python wheel |
| Runtime dependencies | 7 packagesattrsautomatconstantlyhyperlinkincrementaltyping-extensionszope-interface |
| Maintenance | Actively maintained 95 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 16,041,245 / month, #1,164 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Programming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.9 |
Evidence: twisted-26.4.0-py3-none-any.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “event-driven server framework”
- TwistedTwisted is an event-driven networking framework that provides…
- ircProvides a low-level, event-driven IRC protocol implementation with…
- pyftpdlibBuilds asynchronous FTP servers in Python with RFC-959 compliance,…
Give your agent the search over MCP, or paste the wish link into any chat.
More Application Frameworks packages
FastAPI is a Python web framework for building REST APIs using type hints, with automatic request validation, serialization, and interactive API documentation.
Provides a way to document function parameters, class attributes, return types, and variables inline using Python's `Annotated` type hint syntax instead of traditional docstrings.
Textual is a Python framework for building cross-platform user interfaces that run in the terminal or web browser using a modern, component-based API.
Install it if you're developing CLI tools, dashboards, or interactive terminal applications.
Typer builds command-line applications from Python functions using type hints, automatically generating help text, argument parsing, and shell completion.
Install it if you are building CLIs in Python.
Build and connect to Model Context Protocol servers that expose tools, resources, and prompts to LLM applications over stdio, HTTP, or SSE transports.
Install it if you need to build or connect to servers.
Werkzeug is a WSGI utility library providing request/response objects, URL routing, an interactive debugger, HTTP utilities, and a development server for building web applications.
See also irc · localstack-twisted · treq · autobahn · rel · pytest-twisted · txaio · python-mpd2 · crochet · slixmpp