- LastChangedDate
$LastChangedDate$ - LastChangedRevision
$LastChangedRevision$ - LastChangedBy
$LastChangedBy$
vision servers clients trial tutorial/index tutorial/intro tutorial/protocol tutorial/style tutorial/components tutorial/backends tutorial/web tutorial/pb tutorial/factory tutorial/client tutorial/library tutorial/configuration quotes design internet-overview reactor-basics ssl udp process defer-intro defer gendefer time threading producers choosing-reactor endpoints components cred plugin basics application tap systemd logger logging constants rdbms options dirdbm testing sendmsg amp pb pb-intro pb-usage pb-clients pb-copyable pb-cred pb-limits python3 positioning glossary debug-with-emacs
Introduction
Executive summary <vision>
Connecting your software - and having fun too!
Getting Started
Writing a TCP server <servers>
Basic network servers with Twisted.
Writing a TCP client <clients>
And basic clients.
Test-driven development with Twisted <trial>
Code without tests is broken by definition; Twisted makes it easy to test your network code.
Tutorial: Twisted From Scratch <tutorial/index>
The Evolution of Finger: building a simple finger service <tutorial/intro>
The Evolution of Finger: adding features to the finger service <tutorial/protocol>
The Evolution of Finger: cleaning up the finger code <tutorial/style>
The Evolution of Finger: moving to a component based architecture <tutorial/components>
The Evolution of Finger: pluggable backends <tutorial/backends>
The Evolution of Finger: a clean web frontend <tutorial/web>
The Evolution of Finger: Twisted client support using Perspective Broker <tutorial/pb>
The Evolution of Finger: using a single factory for multiple protocols <tutorial/factory>
The Evolution of Finger: a Twisted finger client <tutorial/client>
The Evolution of Finger: making a finger library <tutorial/library>
The Evolution of Finger: configuration and packaging of the finger service <tutorial/configuration>
Setting up the TwistedQuotes application <quotes>
Designing a Twisted application <design>
Networking and Other Event Sources
Twisted Internet <internet-overview>
A brief overview of the
twisted.internet
package.Reactor basics <reactor-basics>
The event loop at the core of your program.
Using SSL in Twisted <ssl>
Add some security to your network transport.
UDP Networking <udp>
How to use Twisted's UDP implementation, including multicast and broadcast functionality.
Using processes <process>
Launching sub-processes, the correct way.
Introduction to Deferreds <defer-intro>
Like callback functions, only a lot better.
Deferred reference <defer>
In-depth information on Deferreds.
Generating deferreds <gendefer>
More about Deferreds.
Scheduling <time>
Timeouts, repeated events, and more: when you want things to happen later.
Using threads <threading>
Running code in threads, and interacting with Twisted in a thread-safe manner.
Producers and Consumers: Efficient High-Volume Streaming <producers>
How to pause when buffers fill up.
Choosing a reactor and GUI toolkit integration <choosing-reactor>
GTK+, Windows, epoll() and more: use your GUI of choice, or a faster event loop.
High-Level Infrastructure
Getting Connected with Endpoints <endpoints>
Create configurable applications that support multiple transports (e.g. TCP and SSL).
Interfaces and Adapters (Component Architecture) <components>
When inheritance isn't enough.
Cred: Pluggable Authentication <cred>
Implementing authentication and authorization that is configurable, pluggable and re-usable.
Twisted's plugin architecture <plugin>
A generic plugin system for extendable programs.
Deploying Twisted Applications
Helper programs and scripts (twistd, ..) <basics>
twistd
lets you daemonize and run your application.Using the Twisted Application Framework <application>
Writing code that
twistd
can run.Writing Twisted Application Plugins for twistd <tap>
More powerful
twistd
deployment method.Deploying Twisted with systemd <systemd>
Use
systemd
to launch and monitor Twisted applications.
Utilities
Emitting and Observing Logs <logger>
Keep a record of what your application is up to, and inspect that record to discover interesting information. (You may also be interested in the
legacy logging system <logging>
if you are maintaining code written to work with older versions of Twisted.)Symbolic constants <constants>
enum-like constants. (Deprecated, spun out into Constantly)
Twisted RDBMS support with adbapi <rdbms>
Using SQL with your relational database via DB-API adapters.
Parsing command-line arguments <options>
The command-line argument parsing used by
twistd
.Using Dirdbm: Directory-based Storage <dirdbm>
A simplistic way to store data on your filesystem.
Tips for writing tests for Twisted code using Trial <testing>
More information on writing tests.
Extremely Low-Level Socket Operations <sendmsg>
Using wrappers for sendmsg(2) and recvmsg(2).
Asynchronous Messaging Protocol (AMP)
Asynchronous Messaging Protocol Overview <amp>
A two-way asynchronous message passing protocol, for when HTTP isn't good enough.
Perspective Broker
Twisted Spread <pb>
A remote method invocation (RMI) protocol: call methods on remote objects.
Introduction to Perspective Broker <pb-intro>
Using Perspective Broker <pb-usage>
Managing Clients of Perspectives <pb-clients>
Passing Complex Types <pb-copyable>
Authentication with Perspective Broker <pb-cred>
PB Limits <pb-limits>
Positioning
Twisted Positioning <positioning>
Appendix
Porting to Python 3 <python3>
Glossary <glossary>
Tips for debugging with emacs <debug-with-emacs>