Metadata-Version: 2.1
Name: Twisted
Version: 20.3.0
Summary: An asynchronous networking framework written in Python
Home-page: https://twistedmatrix.com/
Author: Twisted Matrix Laboratories
Author-email: twisted-python@twistedmatrix.com
Maintainer: Glyph Lefkowitz
Maintainer-email: glyph@twistedmatrix.com
License: MIT
Project-URL: Documentation, https://twistedmatrix.com/documents/current/
Project-URL: Source, https://github.com/twisted/twisted
Project-URL: Issues, https://twistedmatrix.com/trac/report
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.5
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Requires-Python: >=2.7,!=3.0.*,!=3.1.*,!=3.2.*,!=3.3.*,!=3.4.*
Description-Content-Type: text/x-rst
Requires-Dist: zope.interface (>=4.4.2)
Requires-Dist: constantly (>=15.1)
Requires-Dist: incremental (>=16.10.1)
Requires-Dist: Automat (>=0.3.0)
Requires-Dist: hyperlink (>=17.1.1)
Requires-Dist: PyHamcrest (!=1.10.0,>=1.9.0)
Requires-Dist: attrs (>=19.2.0)
Provides-Extra: all_non_platform
Requires-Dist: pyopenssl (>=16.0.0) ; extra == 'all_non_platform'
Requires-Dist: service-identity (>=18.1.0) ; extra == 'all_non_platform'
Requires-Dist: idna (!=2.3,>=0.6) ; extra == 'all_non_platform'
Requires-Dist: pyasn1 ; extra == 'all_non_platform'
Requires-Dist: cryptography (>=2.5) ; extra == 'all_non_platform'
Requires-Dist: appdirs (>=1.4.0) ; extra == 'all_non_platform'
Requires-Dist: bcrypt (>=3.0.0) ; extra == 'all_non_platform'
Requires-Dist: soappy ; extra == 'all_non_platform'
Requires-Dist: pyserial (>=3.0) ; extra == 'all_non_platform'
Requires-Dist: h2 (<4.0,>=3.0) ; extra == 'all_non_platform'
Requires-Dist: priority (<2.0,>=1.1.0) ; extra == 'all_non_platform'
Requires-Dist: pywin32 (!=226) ; (platform_system == "Windows") and extra == 'all_non_platform'
Provides-Extra: conch
Requires-Dist: pyasn1 ; extra == 'conch'
Requires-Dist: cryptography (>=2.5) ; extra == 'conch'
Requires-Dist: appdirs (>=1.4.0) ; extra == 'conch'
Requires-Dist: bcrypt (>=3.0.0) ; extra == 'conch'
Provides-Extra: dev
Requires-Dist: pyflakes (>=1.0.0) ; extra == 'dev'
Requires-Dist: twisted-dev-tools (>=0.0.2) ; extra == 'dev'
Requires-Dist: python-subunit ; extra == 'dev'
Requires-Dist: sphinx (>=1.3.1) ; extra == 'dev'
Requires-Dist: towncrier (>=17.4.0) ; extra == 'dev'
Provides-Extra: http2
Requires-Dist: h2 (<4.0,>=3.0) ; extra == 'http2'
Requires-Dist: priority (<2.0,>=1.1.0) ; extra == 'http2'
Provides-Extra: macos_platform
Requires-Dist: pyobjc-core ; extra == 'macos_platform'
Requires-Dist: pyobjc-framework-CFNetwork ; extra == 'macos_platform'
Requires-Dist: pyobjc-framework-Cocoa ; extra == 'macos_platform'
Requires-Dist: pyopenssl (>=16.0.0) ; extra == 'macos_platform'
Requires-Dist: service-identity (>=18.1.0) ; extra == 'macos_platform'
Requires-Dist: idna (!=2.3,>=0.6) ; extra == 'macos_platform'
Requires-Dist: pyasn1 ; extra == 'macos_platform'
Requires-Dist: cryptography (>=2.5) ; extra == 'macos_platform'
Requires-Dist: appdirs (>=1.4.0) ; extra == 'macos_platform'
Requires-Dist: bcrypt (>=3.0.0) ; extra == 'macos_platform'
Requires-Dist: soappy ; extra == 'macos_platform'
Requires-Dist: pyserial (>=3.0) ; extra == 'macos_platform'
Requires-Dist: h2 (<4.0,>=3.0) ; extra == 'macos_platform'
Requires-Dist: priority (<2.0,>=1.1.0) ; extra == 'macos_platform'
Requires-Dist: pywin32 (!=226) ; (platform_system == "Windows") and extra == 'macos_platform'
Provides-Extra: osx_platform
Requires-Dist: pyobjc-core ; extra == 'osx_platform'
Requires-Dist: pyobjc-framework-CFNetwork ; extra == 'osx_platform'
Requires-Dist: pyobjc-framework-Cocoa ; extra == 'osx_platform'
Requires-Dist: pyopenssl (>=16.0.0) ; extra == 'osx_platform'
Requires-Dist: service-identity (>=18.1.0) ; extra == 'osx_platform'
Requires-Dist: idna (!=2.3,>=0.6) ; extra == 'osx_platform'
Requires-Dist: pyasn1 ; extra == 'osx_platform'
Requires-Dist: cryptography (>=2.5) ; extra == 'osx_platform'
Requires-Dist: appdirs (>=1.4.0) ; extra == 'osx_platform'
Requires-Dist: bcrypt (>=3.0.0) ; extra == 'osx_platform'
Requires-Dist: soappy ; extra == 'osx_platform'
Requires-Dist: pyserial (>=3.0) ; extra == 'osx_platform'
Requires-Dist: h2 (<4.0,>=3.0) ; extra == 'osx_platform'
Requires-Dist: priority (<2.0,>=1.1.0) ; extra == 'osx_platform'
Requires-Dist: pywin32 (!=226) ; (platform_system == "Windows") and extra == 'osx_platform'
Provides-Extra: serial
Requires-Dist: pyserial (>=3.0) ; extra == 'serial'
Requires-Dist: pywin32 (!=226) ; (platform_system == "Windows") and extra == 'serial'
Provides-Extra: soap
Requires-Dist: soappy ; extra == 'soap'
Provides-Extra: tls
Requires-Dist: pyopenssl (>=16.0.0) ; extra == 'tls'
Requires-Dist: service-identity (>=18.1.0) ; extra == 'tls'
Requires-Dist: idna (!=2.3,>=0.6) ; extra == 'tls'
Provides-Extra: windows_platform
Requires-Dist: pywin32 (!=226) ; extra == 'windows_platform'
Requires-Dist: pyopenssl (>=16.0.0) ; extra == 'windows_platform'
Requires-Dist: service-identity (>=18.1.0) ; extra == 'windows_platform'
Requires-Dist: idna (!=2.3,>=0.6) ; extra == 'windows_platform'
Requires-Dist: pyasn1 ; extra == 'windows_platform'
Requires-Dist: cryptography (>=2.5) ; extra == 'windows_platform'
Requires-Dist: appdirs (>=1.4.0) ; extra == 'windows_platform'
Requires-Dist: bcrypt (>=3.0.0) ; extra == 'windows_platform'
Requires-Dist: soappy ; extra == 'windows_platform'
Requires-Dist: pyserial (>=3.0) ; extra == 'windows_platform'
Requires-Dist: h2 (<4.0,>=3.0) ; extra == 'windows_platform'
Requires-Dist: priority (<2.0,>=1.1.0) ; extra == 'windows_platform'
Requires-Dist: pywin32 (!=226) ; (platform_system == "Windows") and extra == 'windows_platform'

Twisted
=======

|pypi|_
|travis|_
|circleci|_

For information on changes in this release, see the `NEWS <https://github.com/twisted/twisted/blob/trunk/NEWS.rst>`_ 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 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
- ``twisted.positioning``: Tools for communicating with NMEA-compatible GPS receivers
- ``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.

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.


Installing
----------

To install the latest version of Twisted using pip::

  $ pip install twisted

Additional instructions for installing this software are in `the installation instructions <https://github.com/twisted/twisted/blob/trunk/INSTALL.rst>`_.


Documentation and Support
-------------------------

Twisted's documentation is available from the `Twisted Matrix website <https://twistedmatrix.com/documents/current/>`_.
This documentation contains how-tos, code examples, and an API reference.

Help is also available on the `Twisted mailing list <https://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-python>`_.

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
  $ 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 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
---------

All of the code in this distribution is Copyright (c) 2001-2020 Twisted Matrix Laboratories.

Twisted is made available under the MIT license.
The included `LICENSE <https://github.com/twisted/twisted/blob/trunk/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 <https://github.com/twisted/twisted/blob/trunk/LICENSE>`_ file for specific legal details.


.. |pypi| image:: http://img.shields.io/pypi/v/twisted.svg
.. _pypi: https://pypi.python.org/pypi/twisted

.. |travis| image:: https://travis-ci.org/twisted/twisted.svg?branch=trunk
.. _travis: https://travis-ci.org/twisted/twisted

.. |circleci| image:: https://circleci.com/gh/twisted/twisted.svg?style=svg
.. _circleci: https://circleci.com/gh/twisted/twisted


