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