Projects Using Twisted

Twisted is used by many open-source, academic and commercial projects.

Got a successful project you’d like added to this page? Mail a brief description and an URL (if appropriate) to success at twistedmatrix dot com!

Community Code Project

Twisted Community Code - This is a super project hosting or mirroring many Twisted add-ons, Twisted-based libraries, etc., that are not part of the Twisted Project proper, but depend upon it.

Libraries and Add-Ons

  • Ampoule - Ampoule is a process pool implementation written on top of Twisted Matrix. Its name comes from the use of AMP as the default communication protocol between the pool and all its children.

  • BEEPy - BEEP protocol implementation for Python.

  • Corotwine - Coroutine-based APIs for Twisted. Corotwine lets you use Twisted with a blocking API.

  • foolscap - A Python library that implements object-capability style secure remote objects.

  • Ldaptor - LDAP protocol implementation and utilities.

  • M.U.T.A.N.T - A library for doing test-driven GTK user-interfaces for Twisted programs.

  • Paisley - Paisley is a CouchDB client written in Python to be used within a Twisted application.

  • PyAMF - Python support for the AMF Format, used for RPC communication with Adobe’s Flash Player

  • PyOSD - module for displaying text on your X display, much like the “On Screen Displays” used on TVs and some monitors.

  • pyrad - A RADIUS client/server implementation with a Twisted wrapper.

  • python-tvi955 - Python-TVI955 is a partial implementation of the TVI955 terminal. It includes a parser for the computer to terminal (“server to client”) protocol and an in-memory terminal emulator.

  • Qt4 Reactor - Integration of Twisted and Qt4

  • sAsync - SQLAlchemy done Asynchronously.

  • RTMPy - Implementation of the RTMP Protocol, used for audio/video/data streaming to Adobe’s Flash Player

  • Scrapy - a screen scraping and web crawling framework, used to crawl websites and extract structured data from their pages.

  • Synchronous Deferred - Synchronous Deferred is for authors of libraries who want to support both synchronous and asynchronous APIs.

  • TLS Lite - Python TLS/SSL implementation.

  • Torc - An implementation of Orc, a language for orchestrating distributed services, for the Twisted networking framework.

  • treq - Python requests like API built on top of Twisted’s HTTP client.

  • TwistedCronService - Provides an interface for describing recurring events to be run according to a cron-like schedule.

  • TwistedSNMP - PySNMP integration for Twisted.

  • twisted-x11 - Experimental low-level implementation of the X11 protocol on top of twisted. This is pure python, it does not wrap libxcb or libX11. This means it does not integrate with existing libraries. It uses the xml protocol definitions from xcb, so it is pretty complete.

  • Twotp - Twotp is an implementation of the Erlang node protocol written in Python using the Twisted networking engine. It makes possible to run an Erlang node in Python, like the Jinterface library of Erlang allows to do in Java. You can then call methods on an Erlang node or receive method calls.

  • txmemcache - Multi-Client and Hashing utilities on top of twisted.protocols.memcache.

  • txAMQP - Python library for communicating with AMQP peers and brokers using Twisted (RabbitMQ, Qpid, OpenAMQ). It also includes support for using Thrift RPC over AMQP in Twisted applications.

  • txAWS - Twisted-based Asynchronous Libraries for Amazon Web Services and Eucalyptus private clouds.

  • txCobalt - An async, Twisted-based Python library for Bluetooth communications.

  • txcomputegrid - Twisted based compute grid.

  • txCumulus - The goal of txCumulus is to provide an abstraction layer on top of other Twisted-based (Python) async cloud APIs such as txAWS and txRackspace (and possibly txComputeGrid).

  • txdnspython - txdnspython is a way to use dnspython to create and manipulate DNS messages and then send those messages over the network using Twisted’s asynchronous networking.

  • txEvolver - txEvolver is a Twisted-based set of libraries for performing calculations of genetic algorithms as well as genetic programs in an asynchronous, distributed manner.

  • txFigleafTrial - Allows you to use figleaf to generate code coverage reports with twisted.trial.

  • txFluidDB - Bindings for the FluidDB HTTP interface.

  • txGenshi - This project provides a small Twisted/Nevow package for running Genshi templates in the Twisted web framework, Nevow.

  • txGraylog - txGraylog is a Twisted-based client for Graylog servers. It supports multiple interfaces to send log messages to the server including: TCP and UDP (using either plain text or the Gelf protocol)

  • txJSON-RPC - This is the project page for creating Python JSON-RPC servers and clients using the Twisted Networking Engine.

  • txM - Twisted for microcontrollers. txM aims to provide the Twisted asynchronous network programming idiom for solid-state devices without operating systems via the Python-on-a-chip Python VM.

  • txMailServer - This project provides a starter mail server written using Twisted.

  • txNetTools - Ping, traceroute, icmp, etc., implemented in Twisted, and a library for those who want to build their own network tools.

  • txNetFlow - !NetFlow and IPFIX protocol, client, and server support in Twisted.

  • txProtoBuf - Protocol buffers (http://code.google.com/p/protobuf/) RPC implemented using Twisted.

  • txRackspace - An async, Twisted Python API for Rackspace Cloud.

  • txRDQ - Provides a !ResizableDispatchQueue class that gives you a queue to dispatch jobs and a pool of in-progress tasks. This is a combination of a Twisted defer.DeferredQueue and a task.Cooperator.

  • txRedis - A Redis client library for Twisted Python.

  • txRemoteDeploy - Remote deployment for Twisted applications.

  • txSimpleDB - Twisted support for Amazon’s SimpleDB with the ability to develop/test against a local SimpleDB instance.

  • txSmug - A Twisted wrapper for !SmugMug’s API.

  • txSpore - An asynchronous Spore Python API using Twisted.

  • txsshserver - Extends Twisted’s SSH server with some useful features for hosting Bazaar branches. Much of this code could & should be rolled back into Twisted. The project provides a playground for experimenting with new extensions, a holding area for the extensions we’ve already written, and a home for the things that don’t really belong in Twisted.

  • txStomp - txStomp is a Twisted implementation of the open protocol Stomp and allows for Twisted applications to be integrated in environments (e.g., ones that use ActiveMQ) that depend on this technology.

  • txULS - Twisted Python experiments and prototyping for ultra large-scale systems.

  • txXCP - This project is focused on developing an open source, Twisted-based version of Jabber XCP.

  • Wokkel - Wokkel is collection of enhancements on top of the Twisted networking framework, written in Python. It mostly provides a testing ground for enhancements to the Jabber/XMPP protocol implementation as found in Twisted Words, that are meant to eventually move there.

Applications

  • apt-proxy2 - caching proxy for Debian apt-get clients.

  • BuildBot - a distributed building/testing framework.

  • CIA Bot - notification system, used by many projects for source code checkin notification.

  • Crow’s Nest - collect log information from various sources and to apply some filter to them in a very modular way.

  • CVSToys - CVS change notification via email, IRC and HTTP.

  • Quotient - multi-protocol messaging server with tools for information management and retrieval, including a mail server (SMTP/POP3/IMAP/webmail) and much more.

  • DocmaServer - batch processing server that does Word <-> XML conversion.

  • dohop.com - a flight planning web site which searches many other flight databases.

  • Downpour - a web-based !BitTorrent client.

  • Freevo - open-source home theatre and PVR PC platform.

  • Flumotion - a streaming media server.

  • Gridspy - live power monitoring and analysis

  • hellanzb - an application designed for *nix environments that retrieves and processes Usenet nzb files.

  • Hep - Message routing super-server.

  • Howie the Chatterbot - a conversational AI.

  • Informant - GNOME Panel applet for event notification.

  • Itaka - an on-demand screen capture server

  • Jasmin - Open source SMS gateway

  • Khashmir - distributed hash table.

  • Landscape Client - the Ubuntu system management agent that communicates with the Canonical Landscape management service.

  • Launchpad - Cross-project collaboration for the Open Source world

  • Lunch - Simple process launcher for complex distributed setup

  • MaxJax - a solution for real-time web based control of any open sound control enabled sound synthesis engine.

  • msn-gateway - an msn messenger gateway for mobile phones using email and web access.

  • NXLucene - a standalone multi-threaded Lucene-based text indexing server.

  • Palaver - multi-user chat for Jabber.

  • PETMail - permission based anti-spam replacement for SMTP.

  • Pgkbot - a bot for monitoring mediawiki changes.

  • Poetry - Poetry is a collection of simple command line tools for working with XMPP services. It aims to provide a set of tools similar to tools like dig, curl, and man, but for interacting, configuring, and querying XMPP services.

  • Purity - Python library for Pure Data dynamic patching to create audio patches.

  • pymon - pymon is an open source network and process monitoring solution implemented in Twisted. Both the user interface and the software configuration are designed to be easily and rapidly deployed, saving on time and overhead often associated with other monitoring solutions.

  • Pynfo - extendable multi-function IRC bot.

  • PySMS - This is a Short Message Server written in python. It provides the possibility to take Messages inserted into a Database and send them over a supported protocols (currently only UCP/EMI) to a SMS Provider.

  • PythonDirector - load balancing for web servers.

  • pyvncviewer - a simple VNC viewer implemented in Python.

  • RdbHost - !RdbHost uses Twisted for a streaming web-server. The streaming server allows users to stream large SQL ‘dump’ files to and from the database host using a web browser.

  • Scenic - Telepresence software for wide bandwidth networks and oriented toward live performances

  • SFTPGateway - SFTP to FTP gateway, allowing secure access to FTP servers.

  • Shtoom - a RTP/SIP VoIP phone.

  • Solipsis - a pure peer-to-peer system for a massively shared virtual world.

  • svs - a framework for supporting collaborative projects that combine coding with other media.

  • Tahoe-LAFS - a secure, decentralized, fault-tolerant filesystem.

  • Toonloop - Software suite for performing with live frame by frame animation creation

  • TouRSSt - RSS delivery system.

  • Turtl - HTTP proxy whose purpose is to throttle connections to specific hostnames to avoid breaking terms of usage of those API providers (like del.icio.us, technorati and so on).

  • txLoadBalancer - This is a fork of Anthony Baxter’s !PythonDirector. It removes all threading and asyncore code, replacing the admin UI and the remaining threading loops with the Twisted-based analogs. It also aims to provide a developer API for those who wish to provide load-balancing services from within their Twisted applications.

  • txOpenID - A Twisted OpenID server. txOpenID is an implementation of the OpenID Identity Provider specification, written using Twisted Web and Divmod’s Nevow.

  • Upstage - a “cyberperformance” chat system.

  • Various Libraries - pcap, SNMP integration, RSS to NNTP gateway, and other programs.

  • WinDictator - Dictate in the MS Windows OS, have the text typed in Linux via X faked keystroke events.

  • Zenoss - open source network/systems monitoring and management

Games

  • OGC - MUD client.

  • Go Siege - multiplayer Go game.

  • Beyond 2 - high level framework for assembling, animating, and interacting with 3D virtual environments.

  • txSpace - a pseudo-MUD engine.

  • GalaxyMage - a cross-platform, open-source tactical RPG with online multiplayer play.

  • OpenRTS - an open source real-time strategy game with multiplayer and scenario games.

  • PyScrabble - an online, multiplayer Scrabble game.

  • Poker3d - a 3d poker game server and client.

  • Buyasta - a MUD engine.

  • London Law - an online multiplayer adaptation of the classic Scotland Yard board game.

  • Castle Combat - a multiplayer game designed after the arcade game “Rampart”

Research Projects

  • LabRAD is an RPC system designed for use in scientific research labs, presently in use by more than a dozen academic and industrial labs around the world.

  • Tycoon @ HP Labs is a market-based system for managing compute resources in distributed clusters.

  • pyGridWare @ Lawrence Berkeley National Labs is a Python implementation of the WS-Resource framework. It includes support for WS-Addressing, WS-Notification, WS-Lifetime management, and WS-Security.

  • VIFF @ University of Aarhus, Denmark is an open source Python library for implementing secure multi-party computation.

  • Dharma @ UPenn: Distributed Home Agent for Robust Mobile Access.

  • PySense @ MIT is an open source python library devoted to first person sensing for robots and wearables.