Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/twisted/twisted
Event-driven networking engine written in Python.
https://github.com/twisted/twisted
async async-python dns event-driven http imap irc network python smtp ssl tls twisted xmpp
Last synced: 3 days ago
JSON representation
Event-driven networking engine written in Python.
- Host: GitHub
- URL: https://github.com/twisted/twisted
- Owner: twisted
- License: other
- Created: 2011-07-01T20:40:42.000Z (over 13 years ago)
- Default Branch: trunk
- Last Pushed: 2024-10-29T17:42:54.000Z (about 1 month ago)
- Last Synced: 2024-10-30T08:54:46.494Z (about 1 month ago)
- Topics: async, async-python, dns, event-driven, http, imap, irc, network, python, smtp, ssl, tls, twisted, xmpp
- Language: Python
- Homepage: https://twisted.org
- Size: 72.9 MB
- Stars: 5,583
- Watchers: 172
- Forks: 1,173
- Open Issues: 2,760
-
Metadata Files:
- Readme: README.rst
- Changelog: NEWS.rst
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: code_of_conduct.md
- Security: SECURITY.md
Awesome Lists containing this project
- awesome-python-zh - twisted - 事件驱动的网络引擎。 (异步编程)
- awesome-starred - twisted - Event-driven networking engine written in Python. (Python)
- awesome-github-star - twisted - driven networking engine written in Python. | twisted | 5206 | (Python)
- awesome-python - twisted - An event-driven networking engine. (Asynchronous Programming)
- best-of-web-python - GitHub - 26% open · ⏱️ 05.06.2024): (Others)
- awesomeLibrary - twisted - Event-driven networking engine written in Python. (语言资源库 / python)
README
Twisted
#######|gitter|_
|rtd|_
|pypi|_
|ci|_For information on changes in this release, see the `NEWS `_ file.
Sponsors
--------Twisted is an MIT-licensed open source project with its ongoing development made possible entirely by the support of community and these awesome sponsors.
If you'd like to join them, please consider `sponsoring Twisted's `_ development.|thinkst|_
|sftpplus|_
What is this?
-------------Twisted is a Python event-based framework for internet applications.
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 `_.
Documentation and Support
-------------------------Twisted's documentation is available from the `Twisted Matrix Read The Docs website `_.
This documentation contains how-tos, code examples, and an API reference.Help is also available on the `Twisted mailing list `_.
There is also an IRC channel, ``#twisted``,
on the `Libera.Chat `_ network.
A web client is available at `web.libera.chat `_.Unit Tests
----------Twisted has a comprehensive test suite, which can be run by ``tox``::
$ tox -l # to view all test environments
$ tox -e nocov # to run all the tests without coverage
$ tox -e withcov # to run all the tests with coverage
$ tox -e alldeps-withcov-posix # install all dependencies, run tests with coverage on POSIX platformYou can test running the test suite under the different reactors with the ``TWISTED_REACTOR`` environment variable::
$ env TWISTED_REACTOR=epoll tox -e alldeps-withcov-posix
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.Static Code Checkers
--------------------You can ensure that code complies to Twisted `coding standards `_::
$ tox -e lint # run pre-commit to check coding stanards
$ tox -e mypy # run MyPy static type checker to check for type errorsOr, for speed, use pre-commit directly::
$ pipx run pre-commit run
Copyright
---------All of the code in this distribution is Copyright (c) 2001-2024 Twisted Matrix Laboratories.
Twisted is made available under the MIT license.
The included `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 `_ file for specific legal details.
.. |pypi| image:: https://img.shields.io/pypi/v/twisted.svg
.. _pypi: https://pypi.python.org/pypi/twisted.. |gitter| image:: https://img.shields.io/gitter/room/twisted/twisted.svg
.. _gitter: https://gitter.im/twisted/twisted.. |ci| image:: https://github.com/twisted/twisted/actions/workflows/test.yaml/badge.svg
.. _ci: https://github.com/twisted/twisted.. |rtd| image:: https://readthedocs.org/projects/twisted/badge/?version=latest&style=flat
.. _rtd: https://docs.twistedmatrix.com.. |thinkst| image:: https://github.com/user-attachments/assets/a5b52432-2d18-4d91-a3c9-772fb2e02781
:alt: Thinkst Canary
.. _thinkst: https://thinkst.com/.. |sftpplus| image:: https://github.com/user-attachments/assets/5f585316-c7e8-4ef1-8fbb-923f0756ceed
:alt: SFTPPlus
.. _sftpplus: https://www.sftpplus.com/