For information on changes in this release, see the [NEWS] file.
What is this?
Twisted is an event-based framework for internet applications, supporting
Python 2.7 and Python 3.5+.
It includes modules for many different purposes, including the following:
- ``twisted.web``: HTTP clients and servers, HTML templating, and a WSGI
- ``twisted.conch``: SSHv2 and Telnet clients and servers and terminal
- ``twisted.words``: Clients and servers for IRC, XMPP, and other IM
- ``twisted.mail``: IMAPv4, POP3, SMTP clients and servers
- ``twisted.positioning``: Tools for communicating with NMEA-compatible GPS
- ``twisted.names``: DNS client and tools for making your own DNS servers
- ``twisted.trial``: A unit testing framework that integrates well with
Twisted supports all major system event loops -- select (all platforms),
poll (most POSIX platforms), epoll (Linux), kqueue (FreeBSD, macOS), IOCP
(Windows), and various GUI event loops (GTK+2/3, Qt, wxWidgets).
Third-party reactors can plug into Twisted, and provide support for
additional event loops.
To install the latest version of Twisted using pip::
$ pip install twisted
Additional instructions for installing this software are in [the
Documentation and Support
Twisted's documentation is available from the [Twisted Matrix website].
This documentation contains how-tos, code examples, and an API reference.
Help is also available on the [Twisted mailing list].
There is also a pair of very lively IRC channels, ``#twisted`` (for general
Twisted questions) and ``#twisted.web`` (for Twisted Web), on
Twisted has a comprehensive test suite, which can be run by tox::
$ tox -l # to view all test environments
$ tox -e py27-tests # to run the tests for Python 2.7
$ tox -e py35-tests # to run the tests for Python 3.5
You can test running the test suite under the different reactors with the
TWISTED_REACTOR environment variable::
$ env TWISTED_REACTOR=epoll tox -e py27-tests
Some of these tests may fail if you:
* don't have the dependencies required for a particular subsystem
* have a firewall blocking some ports (or things like Multicast, which
Linux NAT has shown itself to do), or
* run them as root.
All of the code in this distribution is Copyright (c) 2001-2020 Twisted
Twisted is made available under the MIT license.
The included [LICENSE] file describes this in detail.
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK
TO THE USE OF THIS SOFTWARE IS WITH YOU.
IN NO EVENT WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
AND/OR REDISTRIBUTE THE LIBRARY, BE LIABLE TO YOU FOR ANY DAMAGES, EVEN