Event-driven networking framework in Python
A Development Tool Twisted is a framework, written in Python, for
writing networked applications. It includes implementations of a number
of commonly used network services such as a web server, an IRC chat
server, a mail server, a relational database interface and an object
broker. Developers can build applications using all of these services
as well as custom services that they write themselves. Twisted also
includes a user authentication system that controls access to services
and provides services with user context information to implement their
own security models.
Twisted provides important features needed for networking programming,
both at the high and low levels:
Pluggable event loops allowing the developer to take advantage of
platform-specific capabilities. Abstractions of protocols and
transports. Through Twisted Spread, mechanisms for network encoding of
data (in Python, Java, ELisp, and other languages), to a full-blown
distributed object system.
An Integrated Environment Twisted is an integration point for network
services that were previously unable to interoperate. Services within a
Twisted server can communicate with each other and share information
providing a very integrated programming environment that can re-use
large amounts of infrastructure across multiple network mediums (such
as chat, web, and mail).
As well as servers, Twisted supports several different kinds of clients
and GUIs. This means that the client can re-use large portions of the
server's code, improving test coverage and reliability while reducing
An Application Suite Twisted is a collection of servers and clients,
which can be used either by developers of new applications or directly.
For example an easy to run web server is available out of the box as an
application for the desktop user, but it is also a framework for
developers to use.