2018-04-13 16:20:27 +03:00
Twisted
=======
2015-11-15 13:44:43 +02:00
2017-07-12 01:50:52 +03:00
|pypi|_
|travis|_
2018-03-19 17:59:27 +02:00
|circleci|_
2015-11-15 13:44:43 +02:00
2019-11-11 06:17:23 +02:00
For information on changes in this release, see the `NEWS <NEWS.rst> `_ file.
2015-11-15 13:44:43 +02:00
What is this?
-------------
2019-04-06 08:07:07 +03:00
Twisted is an event-based framework for internet applications, supporting Python 2.7 and Python 3.5+.
2015-11-15 13:44:43 +02:00
It includes modules for many different purposes, including the following:
- `` twisted.web `` : HTTP clients and servers, HTML templating, and a WSGI server
- `` twisted.conch `` : SSHv2 and Telnet clients and servers and terminal emulators
- `` twisted.words `` : Clients and servers for IRC, XMPP, and other IM protocols
- `` twisted.mail `` : IMAPv4, POP3, SMTP clients and servers
2016-07-26 13:51:21 +03:00
- `` twisted.positioning `` : Tools for communicating with NMEA-compatible GPS receivers
2015-11-15 13:44:43 +02:00
- `` twisted.names `` : DNS client and tools for making your own DNS servers
- `` twisted.trial `` : A unit testing framework that integrates well with Twisted-based code.
2018-08-30 17:10:24 +03:00
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).
2015-11-15 13:44:43 +02:00
Third-party reactors can plug into Twisted, and provide support for additional event loops.
Installing
----------
To install the latest version of Twisted using pip::
$ pip install twisted
Additional instructions for installing this software are in `the installation instructions <INSTALL.rst> `_ .
Documentation and Support
-------------------------
2019-06-04 09:08:54 +03:00
Twisted's documentation is available from the `Twisted Matrix website <https://twistedmatrix.com/documents/current/> `_ .
2015-11-15 13:44:43 +02:00
This documentation contains how-tos, code examples, and an API reference.
2019-06-04 09:08:54 +03:00
Help is also available on the `Twisted mailing list <https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python> `_ .
2015-11-15 13:44:43 +02:00
There is also a pair of very lively IRC channels, `` #twisted `` (for general Twisted questions) and `` #twisted.web `` (for Twisted Web), on `` chat.freenode.net `` .
Unit Tests
----------
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
2019-04-06 08:07:07 +03:00
$ tox -e py35-tests # to run the tests for Python 3.5
2015-11-15 13:44:43 +02:00
2016-04-08 06:12:16 +03:00
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
2015-11-15 13:44:43 +02:00
Some of these tests may fail if you:
* don't have the dependencies required for a particular subsystem installed,
* have a firewall blocking some ports (or things like Multicast, which Linux NAT has shown itself to do), or
* run them as root.
Copyright
---------
2020-03-08 12:47:09 +02:00
All of the code in this distribution is Copyright (c) 2001-2020 Twisted Matrix Laboratories.
2015-11-15 13:44:43 +02:00
Twisted is made available under the MIT license.
The included `LICENSE <LICENSE> `_ file describes this in detail.
Warranty
--------
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
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 IF
SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
DAMAGES.
Again, see the included `LICENSE <LICENSE> `_ file for specific legal details.
.. |pypi| image :: http://img.shields.io/pypi/v/twisted.svg
.. _pypi: https://pypi.python.org/pypi/twisted
2016-05-25 01:15:28 +03:00
2016-06-04 00:51:13 +03:00
.. |travis| image :: https://travis-ci.org/twisted/twisted.svg?branch=trunk
2017-07-12 01:50:52 +03:00
.. _travis: https://travis-ci.org/twisted/twisted
2016-07-12 18:47:20 +03:00
2018-03-19 17:59:27 +02:00
.. |circleci| image :: https://circleci.com/gh/twisted/twisted.svg?style=svg
.. _circleci: https://circleci.com/gh/twisted/twisted