Go to the latest version of this document.

# ``twisted`.`internet``

package documentation

Twisted Internet: Asynchronous I/O and Events.

Twisted Internet is a collection of compatible event-loops for Python. It contains the code to dispatch events to interested observers and a portable API so that observers need not care about which event loop is running. Thus, it is possible to use the same code for different loops, from Twisted's basic, yet portable, select-based loop to the loops of various GUI toolkits like GTK+ or Tk.

Module | `abstract` | Support for generic select()able objects.
Module | `address` | Address objects for network connections.
Module | `asyncioreactor` | asyncio-based reactor implementation.
Module | `base` | Very basic functionality for a Reactor implementation.
Module | `cfreactor` | A reactor for integrating with CFRunLoop, the CoreFoundation main loop used by macOS.
Module | `default` | The most suitable default reactor for the current platform.
Module | `defer` | Support for results that aren't immediately available.
Module | `endpoints` | Implementations of `IStreamServerEndpoint` and `IStreamClientEndpoint` that wrap the `IReactorTCP`, `IReactorSSL`, and `IReactorUNIX` interfaces.
Module | `epollreactor` | An epoll() based implementation of the twisted main loop.
Module | `error` | Exceptions and errors for use in twisted.internet modules.
Module | `fdesc` | Utility functions for dealing with POSIX file descriptors.
Module | `gireactor` | This module provides support for Twisted to interact with the glib mainloop via GObject Introspection.
Module | `glib2reactor` | This module provides support for Twisted to interact with the glib mainloop. This is like gtk2, but slightly faster and does not require a working $DISPLAY. However, you cannot run GUIs under this reactor: for that you must use the gtk2reactor instead.
Module | `gtk2reactor` | This module provides support for Twisted to interact with the glib/gtk2 mainloop.
Module | `gtk3reactor` | This module is a legacy compatibility alias for `twisted.internet.gireactor`. See that module instead.
Module | `inotify` | This module provides support for Twisted to linux inotify API.
Module | `interfaces` | Interface documentation.
Package | `iocpreactor` | I/O Completion Ports reactor
Module | `kqreactor` | A kqueue()/kevent() based implementation of the Twisted main loop.
Module | `main` | Backwards compatibility, and utility functions.
Module | `pollreactor` | A poll() based implementation of the twisted main loop.
Module | `posixbase` | Posix reactor base class
Module | `process` | UNIX Process management.
Module | `protocol` | Standard implementations of Twisted protocol-related interfaces.
Module | `pyuisupport` | This module integrates PyUI with twisted.internet's mainloop.
Module | `reactor` | The reactor is the Twisted event loop within Twisted, the loop which drives applications using Twisted. The reactor provides APIs for networking, threading, dispatching events, and more.
Module | `selectreactor` | Select reactor
Module | `serialport` | Serial Port Protocol
Module | `ssl` | This module implements Transport Layer Security (TLS) support for Twisted. It requires PyOpenSSL.
Module | `stdio` | Standard input/out/err support.
Module | `task` | Scheduling utility methods and classes.
Module | `tcp` | Various asynchronous TCP/IP classes.
Module | `testing` | Assorted functionality which is commonly useful when writing unit tests.
Module | `threads` | Extended thread dispatching support.
Module | `tksupport` | This module integrates Tkinter with twisted.internet's mainloop.
Module | `udp` | Various asynchronous UDP classes.
Module | `unix` | UNIX socket support for Twisted.
Module | `utils` | Utility methods.
Module | `win32eventreactor` | A win32event based implementation of the Twisted main loop.
Module | `wxreactor` | This module provides wxPython event loop support for Twisted.
Module | `wxsupport` | Old method of wxPython support for Twisted.
Module | `_baseprocess` | Cross-platform process-related functionality used by different `IReactorProcess` implementations.
Module | `_deprecate` | Support similar deprecation of several reactors.
Module | `_dumbwin32proc` | Windows Process Management, used with reactor.spawnProcess
Module | `_glibbase` | This module provides base support for Twisted to interact with the glib/gtk mainloops.
Module | `_idna` | Shared interface to IDNA encoding and decoding, using the `idna` PyPI package if available, otherwise the stdlib implementation.
Module | `_multicast` | No module docstring; 0/1 function, 1/1 class documented
Module | `_newtls` | This module implements memory BIO based TLS support. It is the preferred implementation and will be used whenever pyOpenSSL 0.10 or newer is installed (whenever `twisted.protocols.tls` is importable).
Module | `_pollingfile` | Implements a simple polling interface for file descriptors that don't work with select() - this is pretty much only useful on Windows.
Module | `_posixserialport` | Serial Port Protocol
Module | `_posixstdio` | Standard input/out/err support.
Module | `_producer_helpers` | Helpers for working with producers.
Module | `_resolver` | IPv6-aware hostname resolution.
Module | `_service_identity` | Conditional imports to enable support for the `service_identity` module back to version 18.1.0.
Module | `_signals` | This module is used to integrate child process termination into a reactor event loop. This is a challenging feature to provide because most platforms indicate process termination via SIGCHLD and do not provide a way to wait for that signal and arbitrary I/O events at the same time...
Module | `_sslverify` | No module docstring; 0/8 variable, 0/1 type variable, 6/7 functions, 6/6 classes, 1/1 interface documented
Module | `_threadedselect` | Threaded select reactor
Module | `_win32serialport` | Serial port support for Windows.
Module | `_win32stdio` | Windows-specific implementation of the `twisted.internet.stdio` interface.

From `__init__.py`:

Interface | `_IReactorCommon` | A make-believe interface supporting all the commonly-implemented parts of the reactor. For other interfaces which may or may not be supplied by the environment, i.e. IReactorSSL, adapt the reactor like ...