Twisted

以Python编写的事件驱动的网络引擎。(Event-driven networking engine written in Python. )

Github星跟蹤圖

Twisted是基于事件的互联网应用框架,支持Python 2.7和Python 3.3+。 它包括许多不同用途的模块,其中包括:

  • twisted.web:HTTP客户端和服务器,HTML模板和WSGI服务器
  • twisted.conch:SSHv2和Telnet客户端和服务器和终端仿真器
  • twisted.words:用于IRC,XMPP和其他IM协议的客户端和服务器
  • twisted.mail:IMAPv4,POP3,SMTP客户端和服务器
  • twisted.positioning:与NMEA兼容的GPS接收机进行通信的工具
  • twisted.names:用于制作自己的DNS服务器的DNS客户端和工具
  • twisted.trial:与Twisted代码集成的单元测试框架。

Twisted支持所有主要系统事件循环 - 选择(所有平台),轮询(大多数POSIX平台),epoll(Linux),kqueue(FreeBSD,OS X),IOCP(Windows)和各种GUI事件循环(GTK+ 2/3,QT,wxWidgets)。 第三方反应器可以插入Twisted,并为其他事件循环提供支持。

Twisted运行于Python 2,其一个不断增长的子集也适用于Python 3。

Twisted 还支持许多常见的网络协议,如SMTP、POP3、IMAP、sshv2,和DNS。

概覽

名稱與所有者twisted/twisted
主編程語言Python
編程語言Python (語言數: 6)
平台
許可證Other
發布數80
最新版本名稱twisted-24.3.0 (發布於 )
第一版名稱twisted-8.0.0 (發布於 )
創建於2011-07-01 20:40:42
推送於2024-04-28 06:08:59
最后一次提交
星數5.4k
關注者數175
派生數1.1k
提交數29.9k
已啟用問題?
問題數10155
打開的問題數2671
拉請求數1414
打開的拉請求數119
關閉的拉請求數448
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?

Twisted
=======, pypi, _, coverage, _, travis, _, appveyor, _, circleci, _

For information on what's new in Twisted 19.2.0, see the NEWS <NEWS.rst>_ file that comes with the distribution.

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 <INSTALL.rst>_.

Documentation and Support

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

Help is also available on the Twisted mailing list <http://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.

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

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.

.., coverage, image:: https://codecov.io/github/twisted/twisted/coverage.svg?branch=trunk
.. _coverage: https://codecov.io/github/twisted/twisted

.., 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

.., appveyor, image:: https://ci.appveyor.com/api/projects/status/x4oyqtl9cqc2i2l8
.. _appveyor: https://ci.appveyor.com/project/adiroiban/twisted

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

去到頂部