METADATA 9.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. Metadata-Version: 2.1
  2. Name: Twisted
  3. Version: 23.10.0
  4. Summary: An asynchronous networking framework written in Python
  5. Project-URL: Changelog, https://github.com/twisted/twisted/blob/HEAD/NEWS.rst
  6. Project-URL: Documentation, https://docs.twistedmatrix.com/
  7. Project-URL: Homepage, https://twistedmatrix.com/
  8. Project-URL: Issues, https://twistedmatrix.com/trac/report
  9. Project-URL: Source, https://github.com/twisted/twisted
  10. Project-URL: Twitter, https://twitter.com/twistedmatrix
  11. Author-email: Twisted Matrix Laboratories <twisted-python@twistedmatrix.com>
  12. License: MIT License
  13. License-File: LICENSE
  14. Classifier: Programming Language :: Python :: 3
  15. Classifier: Programming Language :: Python :: 3 :: Only
  16. Classifier: Programming Language :: Python :: 3.8
  17. Classifier: Programming Language :: Python :: 3.9
  18. Classifier: Programming Language :: Python :: 3.10
  19. Classifier: Programming Language :: Python :: 3.11
  20. Classifier: Programming Language :: Python :: 3.12
  21. Requires-Python: >=3.8.0
  22. Requires-Dist: attrs>=21.3.0
  23. Requires-Dist: automat>=0.8.0
  24. Requires-Dist: constantly>=15.1
  25. Requires-Dist: hyperlink>=17.1.1
  26. Requires-Dist: incremental>=22.10.0
  27. Requires-Dist: twisted-iocpsupport<2,>=1.0.2; platform_system == 'Windows'
  28. Requires-Dist: typing-extensions>=4.2.0
  29. Requires-Dist: zope-interface>=5
  30. Provides-Extra: all-non-platform
  31. Requires-Dist: twisted[conch,http2,serial,test,tls]; extra == 'all-non-platform'
  32. Provides-Extra: all_non_platform
  33. Requires-Dist: twisted[conch,http2,serial,test,tls]; extra == 'all_non_platform'
  34. Provides-Extra: conch
  35. Requires-Dist: appdirs>=1.4.0; extra == 'conch'
  36. Requires-Dist: bcrypt>=3.1.3; extra == 'conch'
  37. Requires-Dist: cryptography>=3.3; extra == 'conch'
  38. Provides-Extra: dev
  39. Requires-Dist: coverage<7,>=6b1; extra == 'dev'
  40. Requires-Dist: pyflakes~=2.2; extra == 'dev'
  41. Requires-Dist: python-subunit~=1.4; extra == 'dev'
  42. Requires-Dist: twisted[dev-release]; extra == 'dev'
  43. Requires-Dist: twistedchecker~=0.7; extra == 'dev'
  44. Provides-Extra: dev-release
  45. Requires-Dist: pydoctor~=23.9.0; extra == 'dev-release'
  46. Requires-Dist: sphinx-rtd-theme~=1.3; extra == 'dev-release'
  47. Requires-Dist: sphinx<7,>=6; extra == 'dev-release'
  48. Requires-Dist: towncrier~=23.6; extra == 'dev-release'
  49. Provides-Extra: dev_release
  50. Requires-Dist: pydoctor~=23.9.0; extra == 'dev_release'
  51. Requires-Dist: sphinx-rtd-theme~=1.3; extra == 'dev_release'
  52. Requires-Dist: sphinx<7,>=6; extra == 'dev_release'
  53. Requires-Dist: towncrier~=23.6; extra == 'dev_release'
  54. Provides-Extra: gtk-platform
  55. Requires-Dist: pygobject; extra == 'gtk-platform'
  56. Requires-Dist: twisted[all-non-platform]; extra == 'gtk-platform'
  57. Provides-Extra: gtk_platform
  58. Requires-Dist: pygobject; extra == 'gtk_platform'
  59. Requires-Dist: twisted[all-non-platform]; extra == 'gtk_platform'
  60. Provides-Extra: http2
  61. Requires-Dist: h2<5.0,>=3.0; extra == 'http2'
  62. Requires-Dist: priority<2.0,>=1.1.0; extra == 'http2'
  63. Provides-Extra: macos-platform
  64. Requires-Dist: pyobjc-core; extra == 'macos-platform'
  65. Requires-Dist: pyobjc-framework-cfnetwork; extra == 'macos-platform'
  66. Requires-Dist: pyobjc-framework-cocoa; extra == 'macos-platform'
  67. Requires-Dist: twisted[all-non-platform]; extra == 'macos-platform'
  68. Provides-Extra: macos_platform
  69. Requires-Dist: pyobjc-core; extra == 'macos_platform'
  70. Requires-Dist: pyobjc-framework-cfnetwork; extra == 'macos_platform'
  71. Requires-Dist: pyobjc-framework-cocoa; extra == 'macos_platform'
  72. Requires-Dist: twisted[all-non-platform]; extra == 'macos_platform'
  73. Provides-Extra: mypy
  74. Requires-Dist: mypy-zope~=1.0.1; extra == 'mypy'
  75. Requires-Dist: mypy~=1.5.1; extra == 'mypy'
  76. Requires-Dist: twisted[all-non-platform,dev]; extra == 'mypy'
  77. Requires-Dist: types-pyopenssl; extra == 'mypy'
  78. Requires-Dist: types-setuptools; extra == 'mypy'
  79. Provides-Extra: osx-platform
  80. Requires-Dist: twisted[macos-platform]; extra == 'osx-platform'
  81. Provides-Extra: osx_platform
  82. Requires-Dist: twisted[macos-platform]; extra == 'osx_platform'
  83. Provides-Extra: serial
  84. Requires-Dist: pyserial>=3.0; extra == 'serial'
  85. Requires-Dist: pywin32!=226; platform_system == 'Windows' and extra == 'serial'
  86. Provides-Extra: test
  87. Requires-Dist: cython-test-exception-raiser<2,>=1.0.2; extra == 'test'
  88. Requires-Dist: hypothesis>=6.56; extra == 'test'
  89. Requires-Dist: pyhamcrest>=2; extra == 'test'
  90. Provides-Extra: tls
  91. Requires-Dist: idna>=2.4; extra == 'tls'
  92. Requires-Dist: pyopenssl>=21.0.0; extra == 'tls'
  93. Requires-Dist: service-identity>=18.1.0; extra == 'tls'
  94. Provides-Extra: windows-platform
  95. Requires-Dist: pywin32!=226; extra == 'windows-platform'
  96. Requires-Dist: twisted[all-non-platform]; extra == 'windows-platform'
  97. Provides-Extra: windows_platform
  98. Requires-Dist: pywin32!=226; extra == 'windows_platform'
  99. Requires-Dist: twisted[all-non-platform]; extra == 'windows_platform'
  100. Description-Content-Type: text/x-rst
  101. Twisted
  102. #######
  103. |gitter|_
  104. |rtd|_
  105. |pypi|_
  106. |ci|_
  107. For information on changes in this release, see the `NEWS <https://github.com/twisted/twisted/blob/trunk/NEWS.rst>`_ file.
  108. What is this?
  109. -------------
  110. Twisted is an event-based framework for internet applications, supporting Python 3.6+.
  111. It includes modules for many different purposes, including the following:
  112. - ``twisted.web``: HTTP clients and servers, HTML templating, and a WSGI server
  113. - ``twisted.conch``: SSHv2 and Telnet clients and servers and terminal emulators
  114. - ``twisted.words``: Clients and servers for IRC, XMPP, and other IM protocols
  115. - ``twisted.mail``: IMAPv4, POP3, SMTP clients and servers
  116. - ``twisted.positioning``: Tools for communicating with NMEA-compatible GPS receivers
  117. - ``twisted.names``: DNS client and tools for making your own DNS servers
  118. - ``twisted.trial``: A unit testing framework that integrates well with Twisted-based code.
  119. 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).
  120. Third-party reactors can plug into Twisted, and provide support for additional event loops.
  121. Installing
  122. ----------
  123. To install the latest version of Twisted using pip::
  124. $ pip install twisted
  125. Additional instructions for installing this software are in `the installation instructions <https://github.com/twisted/twisted/blob/trunk/INSTALL.rst>`_.
  126. Documentation and Support
  127. -------------------------
  128. Twisted's documentation is available from the `Twisted Matrix website <https://twistedmatrix.com/documents/current/>`_.
  129. This documentation contains how-tos, code examples, and an API reference.
  130. Help is also available on the `Twisted mailing list <https://mail.python.org/mailman3/lists/twisted.python.org/>`_.
  131. There is also an IRC channel, ``#twisted``,
  132. on the `Libera.Chat <https://libera.chat/>`_ network.
  133. A web client is available at `web.libera.chat <https://web.libera.chat/>`_.
  134. Unit Tests
  135. ----------
  136. Twisted has a comprehensive test suite, which can be run by ``tox``::
  137. $ tox -l # to view all test environments
  138. $ tox -e nocov # to run all the tests without coverage
  139. $ tox -e withcov # to run all the tests with coverage
  140. $ tox -e alldeps-withcov-posix # install all dependencies, run tests with coverage on POSIX platform
  141. You can test running the test suite under the different reactors with the ``TWISTED_REACTOR`` environment variable::
  142. $ env TWISTED_REACTOR=epoll tox -e alldeps-withcov-posix
  143. Some of these tests may fail if you:
  144. * don't have the dependencies required for a particular subsystem installed,
  145. * have a firewall blocking some ports (or things like Multicast, which Linux NAT has shown itself to do), or
  146. * run them as root.
  147. Static Code Checkers
  148. --------------------
  149. You can ensure that code complies to Twisted `coding standards <https://twistedmatrix.com/documents/current/core/development/policy/coding-standard.html>`_::
  150. $ tox -e lint # run pre-commit to check coding stanards
  151. $ tox -e mypy # run MyPy static type checker to check for type errors
  152. Or, for speed, use pre-commit directly::
  153. $ pipx run pre-commit run
  154. Copyright
  155. ---------
  156. All of the code in this distribution is Copyright (c) 2001-2023 Twisted Matrix Laboratories.
  157. Twisted is made available under the MIT license.
  158. The included `LICENSE <https://github.com/twisted/twisted/blob/trunk/LICENSE>`_ file describes this in detail.
  159. Warranty
  160. --------
  161. THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
  162. EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
  163. OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE RISK AS
  164. TO THE USE OF THIS SOFTWARE IS WITH YOU.
  165. IN NO EVENT WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MAY MODIFY
  166. AND/OR REDISTRIBUTE THE LIBRARY, BE LIABLE TO YOU FOR ANY DAMAGES, EVEN IF
  167. SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH
  168. DAMAGES.
  169. Again, see the included `LICENSE <https://github.com/twisted/twisted/blob/trunk/LICENSE>`_ file for specific legal details.
  170. .. |pypi| image:: https://img.shields.io/pypi/v/twisted.svg
  171. .. _pypi: https://pypi.python.org/pypi/twisted
  172. .. |gitter| image:: https://img.shields.io/gitter/room/twisted/twisted.svg
  173. .. _gitter: https://gitter.im/twisted/twisted
  174. .. |ci| image:: https://github.com/twisted/twisted/actions/workflows/test.yaml/badge.svg
  175. .. _ci: https://github.com/twisted/twisted
  176. .. |rtd| image:: https://readthedocs.org/projects/twisted/badge/?version=latest&style=flat
  177. .. _rtd: https://docs.twistedmatrix.com