- Introduction
- Executive summary
Connecting your software - and having fun too!
- Executive summary
- Getting Started
- Writing a TCP server
Basic network servers with Twisted. - Writing a TCP client
And basic clients. - Test-driven development with
Twisted
Code without tests is broken by definition; Twisted makes it easy to test your network code. -
Tutorial: Twisted From
Scratch
- The Evolution of Finger: building a simple finger service
- The Evolution of Finger: adding features to the finger service
- The Evolution of Finger: cleaning up the finger code
- The Evolution of Finger: moving to a component based architecture
- The Evolution of Finger: pluggable backends
- The Evolution of Finger: a clean web frontend
- The Evolution of Finger: Twisted client support using Perspective Broker
- The Evolution of Finger: using a single factory for multiple protocols
- The Evolution of Finger: a Twisted finger client
- The Evolution of Finger: making a finger library
- The Evolution of Finger: configuration and packaging of the finger service
- Setting up the TwistedQuotes application
- Designing a Twisted application
- Writing a TCP server
- Networking and Other Event Sources
- Twisted
Internet
A brief overview of thetwisted.internet
package. - Reactor basics
The event loop at the core of your program. - Using SSL in Twisted
Add some security to your network transport. - UDP Networking
Multicast too! - Using processes
Launching sub-processes, the correct way. - Introduction to Deferreds
Like callback functions, only a lot better. - Deferred reference
In-depth information on Deferreds. - Generating deferreds
More about Deferreds. - Scheduling
Timeouts, repeated events, and more: when you want things to happen later. - Using threads
Running code in threads, and interacting with Twisted in a thread-safe manner. - Producers and Consumers: Efficient High-Volume Streaming
How to pause when buffers fill up. - Choosing a reactor and
GUI toolkit integration
GTK+, Windows, epoll() and more: use your GUI of choice, or a faster event loop.
- Twisted
Internet
- High-Level Infrastructure
- Getting Connected with Endpoints
Create configurable applications that support multiple transports (e.g. TCP and SSL). - Interfaces and Adapters
(Component Architecture)
When inheritance isn't enough. - Cred: Pluggable
Authentication
Implementing authentication and authorization that is configurable, pluggable and re-usable. - Twisted's plugin architecture
A generic plugin system for extendable programs.
- Getting Connected with Endpoints
- Deploying Twisted Applications
- Helper programs and scripts
(twistd, ..)
twistd
lets you daemonize and run your application. - Using the Twisted Application
Framework
Writing code thattwistd
can run. - Writing Twisted Application Plugins
for twistd
More powerfultwistd
deployment method. - Deploying Twisted with
systemd
Usesystemd
to launch and monitor Twisted applications
- Helper programs and scripts
(twistd, ..)
- Utilities
- Logging
Keep a record of what your application is up to. - Symbolic constants
enum-like constants. - Twisted RDBMS support with
adbapi
Using SQL with your relational database via DB-API adapters. - Parsing command-line arguments
The command-line argument parsing used bytwistd
. - Using Dirdbm: Directory-based Storage
A simplistic way to store data on your filesystem. - Tips for writing tests for Twisted
code using Trial
More information on writing tests. - Extremely Low-Level Socket Operations
Using wrappers for sendmsg(2) and recvmsg(2).
- Logging
- Asynchronous Messaging Protocol (AMP)
- Asynchronous Messaging Protocol Overview
A two-way asynchronous message passing protocol, for when HTTP isn't good enough.
- Asynchronous Messaging Protocol Overview
- Perspective Broker
- Twisted Spread
A remote method invocation (RMI) protocol: call methods on remote objects. - Introduction to Perspective Broker
- Using Perspective Broker
- Managing Clients of Perspectives
- Passing Complex Types
- Authentication with Perspective Broker
- PB Limits
- Twisted Spread
- Appendix