Twisted Glossary

adaptee

An object that has been adapted, also called “original” . See Adapter .

Adapter

An object whose sole purpose is to implement an Interface for another object. See Interfaces and Adapters .

Application

A twisted.application.service.Application() . There are HOWTOs on creating and manipulating them as a system-administrator, as well as using them in your code.

Avatar

(from Twisted Cred ) business logic for specific user. For example, in PB these are perspectives, in POP3 these are mailboxes, and so on.

Banana

The low-level data marshalling layer of Twisted Spread . See twisted.spread.banana .

Broker

A twisted.spread.pb.Broker , the object request broker for Twisted Spread .

cache

A way to store data in readily accessible place for later reuse. Caching data is often done because the data is expensive to produce or access. Caching data risks being stale, or out of sync with the original data.

component

A special kind of (persistent) Adapter that works with a twisted.python.components.Componentized . See also Interfaces and Adapters .

Componentized

A Componentized object is a collection of information, separated into domain-specific or role-specific instances, that all stick together and refer to each other. Each object is an Adapter , which, in the context of Componentized, we call “components” . See also Interfaces and Adapters .

conch

Twisted’s SSH implementation.

Connector

Object used to interface between client connections and protocols, usually used with a twisted.internet.protocol.ClientFactory to give you control over how a client connection reconnects. See twisted.internet.interfaces.IConnector and Writing Clients .

Consumer

An object that consumes data from a Producer . See twisted.internet.interfaces.IConsumer .

Cred

Twisted’s authentication API, twisted.cred . See Introduction to Twisted Cred and Twisted Cred usage .

credentials

A username/password, public key, or some other information used for authentication.

credential checker

Where authentication actually happens. See ICredentialsChecker .

CVSToys

A nifty set of tools for CVS, available at http://twistedmatrix.com/users/acapnotic/wares/code/CVSToys/ .

Daemon

A background process that does a job or handles client requests. Daemon is a Unix term; service is the Windows equivalent.

Deferred

An instance of twisted.internet.defer.Deferred , an abstraction for handling chains of callbacks and error handlers (“errbacks” ). See the Deferring Execution HOWTO.

Enterprise

Twisted’s RDBMS support. It contains twisted.enterprise.adbapi for asynchronous access to any standard DB-API 2.0 module. See Introduction to Twisted Enterprise for more details.

errback

A callback attached to a Deferred with .addErrback to handle errors.

Factory

In general, an object that constructs other objects. In Twisted, a Factory usually refers to a twisted.internet.protocol.Factory , which constructs Protocol instances for incoming or outgoing connections. See Writing Servers and Writing Clients .

Failure

Basically, an asynchronous exception that contains traceback information; these are used for passing errors through asynchronous callbacks.

im

Abbreviation of “(Twisted) Instance Messenger” .

Instance Messenger

Instance Messenger is a multi-protocol chat program that comes with Twisted. It can communicate via TOC with the AOL servers, via IRC, as well as via PB with Twisted Words . See twisted.words.im .

Interface

A class that defines and documents methods that a class conforming to that interface needs to have. A collection of core twisted.internet interfaces can be found in twisted.internet.interfaces . See also Interfaces and Adapters .

Jelly

The serialization layer for Twisted Spread , although it can be used separately from Twisted Spread as well. It is similar in purpose to Python’s standard pickle module, but is more network-friendly, and depends on a separate marshaller (Banana , in most cases). See twisted.spread.jelly .

Manhole

A debugging/administration interface to a Twisted application.

Microdom

A partial DOM implementation using SUX . It is simple and pythonic, rather than strictly standards-compliant. See twisted.web.microdom .

Names

Twisted’s DNS server, found in twisted.names .

Nevow

The successor to Woven ; available from Divmod .

PB

Abbreviation of “Perspective Broker” .

Perspective Broker

The high-level object layer of Twisted Spread , implementing semantics for method calling and object copying, caching, and referencing. See twisted.spread.pb .

Portal

Glues credential checkers and realm s together.

Producer

An object that generates data a chunk at a time, usually to be processed by a Consumer . See twisted.internet.interfaces.IProducer .

Protocol

In general each network connection has its own Protocol instance to manage connection-specific state. There is a collection of standard protocol implementations in twisted.protocols . See also Writing Servers and Writing Clients .

PSU

There is no PSU.

Reactor

The core event-loop of a Twisted application. See Reactor Basics .

Reality

See “Twisted Reality

realm

(in Twisted Cred ) stores avatars and perhaps general business logic. See IRealm .

Resource

A twisted.web.resource.Resource , which are served by Twisted Web. Resources can be as simple as a static file on disk, or they can have dynamically generated content.

Service

A twisted.application.service.Service . See Application howto for a description of how they relate to Applications .

Spread

Twisted Spread is Twisted’s remote-object suite. It consists of three layers: Perspective Broker , Jelly and Banana. See Writing Applications with Perspective Broker .

SUX

S mall U ncomplicated X ML, Twisted’s simple XML parser written in pure Python. See twisted.web.sux .

TAC

A T wisted A pplication C onfiguration is a Python source file, generally with the .tac extension, which defines configuration to make an application runnable using twistd .

TAP

T wisted A pplication P ickle (no longer supported), or simply just a*T* wisted AP plication. A serialised application that was created with mktap (no longer supported) and runnable by twistd . See:doc:Using the Utilities <basics> .

Trial

twisted.trial , Twisted’s unit-testing framework, based on the unittest standard library module. See also Writing tests for Twisted code .

Twisted Matrix Laboratories

The team behind Twisted. http://twistedmatrix.com/ .

Twisted Reality

In days of old, the Twisted Reality multiplayer text-based interactive-fiction system was the main focus of Twisted Matrix Labs; Twisted, the general networking framework, grew out of Reality’s need for better network functionality. Twisted Reality has been superseded by the Imaginary project.

usage

The twisted.python.usage module, a replacement for the standard getopt module for parsing command-lines which is much easier to work with. See Parsing command-lines .

Words

Twisted Words is a multi-protocol chat server that uses the Perspective Broker protocol as its native communication style. See twisted.words .

Woven

W eb O bject V isualization En vironment. A templating system previously, but no longer, included with Twisted. Woven has largely been superseded by Divmod Nevow .