1
<?xml version="1.0"?><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
2
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml" lang="en"><head><title>Twisted Documentation: The Road to API-stable Twisted</title><link href="../howto/stylesheet.css" type="text/css" rel="stylesheet" /></head><body bgcolor="white"><h1 class="title">The Road to API-stable Twisted</h1><div class="toc"><ol><li><a href="#auto0">Twisted API-Stable Platform</a></li></ol></div><div class="content"><p>The maintainers on each of these packages are not
3
necessarily the people who will be responsible for writing most
4
of their code, although I've certainly tried to do that in most
5
cases :). I would like to start delegating responsibility for
6
deciding when something is done to my various <q>lieutenants</q>, as
7
linus calls them, that are currently working on Twisted. If you
8
don't think you're the right person to maintain a package, let
9
me know.</p><p hlint="off" align="right">--glyph</p><table cellpadding="3" border="1"><tr><td colspan="7"><h2>Twisted API-Stable Platform<a name="auto0"></a></h2></td></tr><tr><th>Package</th><th>Maintainer</th><th>Description</th><th>Necessary</th><th>Desirable</th><th>Possible Remaining Incompatible Changes</th><th>Release to be Stable By</th></tr><tr hlint="off" class="notdone"><td>twisted.internet</td><td>Glyph Lefkowitz</td><td>A main loop that dispatches events based on network
10
input and the passage of time, and mappings for the Twisted
11
API on to other main loops which it does not necessarily
12
control.</td><td>connectTCP should take a factory, not a client. Application needs
13
to be decoupled from cred; services need to manage their own authorizers, not
14
have one handed to them by the application. Connectors for SSL. UDP
15
refactor.</td><td>Improved Jython support, and support for Java 1.4's
16
nbio, C optimization of the regular mainloop, refactor of
17
app.connectTCP so Connector doesn't touch reactor
18
implementation.</td><td>New connectTCP signature will be incompatible. cred will work
19
differently once Application is removed from the picture.</td><td>1.0</td></tr><tr hlint="off" class="notdone"><td>twisted.protocols</td><td>Moshe Zadka</td><td>Wire-protocol implementations of various protocols,
20
decoupled from any processing logic.</td><td>Improved handling of FTP</td><td>A readline-style input line for telnet,
21
curses-over-telnet, ssh protocol implementation</td><td>None that I can think of.</td><td>Individual modules by 1.0; probably the whole package
22
will never be.</td></tr><tr hlint="off" class="notdone"><td>twisted.mail</td><td>Moshe Zadka</td><td>E-mail support: POP3, SMTP protocols.</td><td>twisted.cred awareness</td><td>mailman integration</td><td>pretty much everything; lots will break when we move to
23
support twisted.cred.</td><td>1.4</td></tr><tr hlint="off" class="notdone"><td>twisted.web</td><td>Chris Armstrong</td><td>Support for document- and file-based protocols: http,
24
ftp, WebDAV, XMLRPC.</td><td>HTTP 1.1 support completion</td><td>ZPT integration</td><td>Probably some templating things will be changed around
25
in future releases.</td><td>1.0, mostly</td></tr><tr hlint="off" class="notdone"><td>twisted.names</td><td>????</td><td>Nameserver and client -- DNS and other protocols
26
related to name resolution.</td><td>Real DNS server support, finding someone to maintain
27
this code!</td><td>Complete BIND replacement.</td><td>Since it's not really being used, I'm not concerned
28
about breakages.</td><td>1.4</td></tr><tr hlint="off" class="notdone"><td>twisted.enterprise</td><td>Sean Riley</td><td>Database support.</td><td>A simple asynchronous object-relational mapper.</td><td>Everything should be returning Deferreds, not accepting
29
callbacks.</td><td>The change mentioned above will break compatibility.</td><td>1.2</td></tr><tr hlint="off" class="notdone"><td>twisted.cred</td><td>Glyph Lefkowitz</td><td>An authentication abstraction.</td><td>API cleanup. Removal of dependence of
30
twisted.internet.</td><td>More authentication back-ends.</td><td>A few redundant methods should disappear, but I don't
31
think anyone was using them.</td><td>1.0</td></tr><tr hlint="off" class="notdone"><td>twisted.im</td><td>Paul Swartz</td><td>A <q>universal client</q> for Twisted, with support for
32
multi-protocol chat.</td><td>Migration of all PB clients (manhole, faucet) into this
33
framework.</td><td>Blue sky on chat-client features...</td><td>It's not really in use yet, so breakages should not
34
affect external parties.</td><td>1.4</td></tr><tr hlint="off" class="notdone"><td>twisted.words</td><td>Glyph Lefkowitz</td><td>Individual and group chat server for Twisted.</td><td>Multiple servers rebroadcasting messages. Moderation
35
facilities.</td><td>Lots of bots that do cool things on the server side.
36
Total IRCD compatibility with respect to Hybrid
37
Services-style bots.</td><td>PB wire protocol will break and there will be a
38
near-total rewrite, moving to refpath-style protocol.</td><td>1.4</td></tr><tr hlint="off" class="done"><td>twisted.manhole</td><td>Kevin Turner</td><td>Direct manipulation interface for Twisted.</td><td>Easier to use COIL interface. COIL interface to
39
usage.options and mktap which allows for creation of
40
boilerplate servers. Fix manhole GUI so that it works
41
again.</td><td>More services related to debugging.</td><td>None that I can think of.</td><td>1.2</td></tr><tr hlint="off" class="notdone"><td>twisted.spread</td><td>Glyph Lefkowitz</td><td>Twisted's remote object protocol support.</td><td>An RFC cementing the wire-level protocol.
42
pb.setFactoryForClass(className, factory) function which
43
will allow for use of persistentLoad-style objects in PB
44
(ones where the component state is given to the
45
constructor, rather than the initializer).
46
Perspective.observe() and other methods to automate
47
automatically unsubscribing for events on logout.
48
Standardized way of per-object protocol versioning.</td><td>Persistent stateless references. Full implementations
49
of PB for more languages. ASCII version of the 'banana'
50
level protocol for debugging and easier protocol
51
implementation.</td><td>Object-level protocols may have a small breakage as we
52
move to a different model for locating services, but it
53
should be possible to avoid this.</td><td>1.1</td></tr><tr hlint="off" class="notdone"><td>twisted.tap</td><td>Moshe Zadka</td><td>Simple Application Configuration for Twisted.</td><td>Integration with COIL's web-based frontend.</td><td>None I can think of.</td><td>This isn't really a package that external developers
54
use. It may be best to destroy this package and move tap
55
modules into their appropriate packages rather than
56
aggregating them here.</td><td>n/a</td></tr><tr hlint="off" class="notdone"><td>twisted.sibling</td><td>Glyph Lefkowitz</td><td>Clustering Support</td><td>
57
Better tests. Failover. Integration with Enterprise to allow
58
cancelling transactions when a resource <q>dies</q>. Some mechanism
60
loading plug-ins, so you can run a <q>vanilla</q> sibling & parent
61
server w/ your particular application.
62
</td><td>Blue sky...</td><td>Not used by external developers yet, so the API will totally break
63
several times, I'm sure.</td><td>n/a</td></tr></table></div><p><a href="../howto/index.html">Index</a></p><span class="version">Version: 2.4.0</span></body></html>
b'\\ No newline at end of file'