1
<?xml version="1.0" encoding="utf-8"?><!DOCTYPE html PUBLIC '-//W3C//DTD XHTML 1.0 Transitional//EN' 'http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd'><html lang="en" xmlns="http://www.w3.org/1999/xhtml">
3
<title>Twisted Documentation: The Twisted Split FAQ</title>
4
<link href="../../howto/stylesheet.css" rel="stylesheet" type="text/css"/>
8
<h1 class="title">The Twisted Split FAQ</h1>
9
<div class="toc"><ol><li><a href="#auto0">What is the Twisted Split?</a></li><li><a href="#auto1">Why was Twisted being split?</a></li><li><a href="#auto2">But I liked the monolithic packages. Can I still get them?</a></li><li><a href="#auto3">Where can I find information about the individual projects?</a></li><li><a href="#auto4">What are the new packages?</a></li><li><a href="#auto5">Will I have to rewrite my code? What API changes are there?</a></li><li><a href="#auto6">What about my deployments? What will I have to do to have the new packages?</a></li><li><a href="#auto7">Why are all the packages still named twisted.subproject?</a></li><li><a href="#auto8">What does this mean for existing Twisted developers?</a></li></ol></div>
14
<h2>What is the Twisted Split?<a name="auto0"/></h2>
17
<a href="http://twistedmatrix.com/" shape="rect">Twisted</a> is very large. At last
18
count, it has around 80 thousand lines of code (yes, that <em>is</em> very
19
large for a Python project, maybe not so for a C++ project. ;). We broke it
20
into several smaller packages with the 2.0 release.
23
<h2>Why was Twisted being split?<a name="auto1"/></h2>
26
The biggest reason was to make our release process more
27
agile. A regression in twisted.names, for example, could hold up the release
28
of the entire thing, when really it should only be holding up the release of
33
The other big reason is visibility. Twisted has a ton of
34
functionality, but many people miss out on it because they don't know
35
where it is hidden inside Twisted. The Twisted split gave every
36
sub-project its own web site and thus more visibility.
39
<h2>But I liked the monolithic packages. Can I still get them?<a name="auto2"/></h2>
42
Yes. Tarball and Windows releases for Twisted and all of its
43
sub-projects will still be maintained. We encourage maintainers of
44
packages for OSes with automatic packaging systems to break up the
45
packages as well, so, for example, Debian will have
46
python2.3-twisted-core, python2.3-twisted-conch,
47
python2.3-twisted-names, and so on.
50
<h2>Where can I find information about the individual projects?<a name="auto3"/></h2>
53
A list of <a href="http://twistedmatrix.com/trac/wiki/TwistedProjects" shape="rect">Twisted
54
projects</a> is available on the website. The list includes maintainer
55
information and links to project-specific pages with more detailed
59
<h2>What are the new packages?<a name="auto4"/></h2>
64
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedCore" shape="rect">Twisted
65
Core</a> - This contains twisted.application, twisted.cred,
66
twisted.enterprise, twisted.internet, twisted.manhole,
67
twisted.persisted, twisted.protocols<sup><a href="#protocols" shape="rect">[1]</a></sup>, twisted.python, twisted.spread,
70
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedConch" shape="rect">Twisted
71
Conch</a> - This contains twisted.conch.</li>
73
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedLore" shape="rect">Twisted
74
Lore</a> - This contains twisted.lore</li>
76
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedMail" shape="rect">Twisted
77
Mail</a> - This contains twisted.mail; NOTE the mail protocols
78
that were in twisted.protocols.(imap4,pop3,smtp) were moved to
81
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedNames" shape="rect">Twisted
82
Names</a> - This contains twisted.names; NOTE
83
twisted.protocols.dns was moved to twisted.names.dns.</li>
85
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedNews" shape="rect">Twisted
86
News</a> - This contains twisted.news; NOTE
87
twisted.protocols.nntp was moved to twisted.news.nntp</li>
89
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedPair" shape="rect">Twisted
90
Pair</a> - This contains twisted.pair; NOTE ethernet, ip, raw,
91
and rawudp protocol support was moved from twisted.protocols to
92
twisted.pair. (deprecated)</li>
94
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedRunner" shape="rect">Twisted
95
Runner</a> - This contains twisted.runner.</li>
97
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedWeb" shape="rect">Twisted
98
Web</a> - This contains twisted.web; NOTE that
99
twisted.protocols.http was moved to twisted.web.http.</li>
101
<li><a href="http://twistedmatrix.com/trac/wiki/TwistedWords" shape="rect">Twisted
102
Words</a> - This contains twisted.words; NOTE that twisted.im was
103
moved to twisted.words.im, twisted.xish was moved to
104
twisted.words.xish, AND the chat protocols (irc, msn, jabber, toc,
105
oscar) were moved to twisted.words.protocols.</li>
109
<p><a name="protocols" shape="rect">[1]</a>: twisted.protocols is very stripped
110
down now; it only includes the protocols that didn't belong anywhere
111
else. It still contains the simple protocols, the helper utilities,
115
<h2>Will I have to rewrite my code? What API changes are there?<a name="auto5"/></h2>
118
No existing code should <em>break</em>, however, many modules were
119
moved. Backwards compatibility support <em>does exist</em> in older versions of
120
Twisted, but was removed in Twisted 9.0.</p>
122
<h2>What about my deployments? What will I have to do to have the new packages?<a name="auto6"/></h2>
125
It depends on your OS and how you installed Twisted originally. If
126
you're using Debian, we are planning on breaking up the Debian
127
packages to e.g. python2.3-twisted-core, python2.3-twisted-web, and so
128
on. If you're using Windows, or generally install Twisted from the
129
tarball or from an SVN checkout, monolithic options will still be
134
If you try to run code that imports a sub-package when that
135
sub-package is not available on the system, an ImportError will be
136
raised directing the user to the web site for that particular
140
<h2>Why are all the packages still named twisted.<em>subproject</em>?<a name="auto7"/></h2>
143
This is controversial. While this does mean that there is a
144
mashed-together namespace under <code>twisted.</code>, it's also the
145
simplest thing to do, and means less breakage for user-code, so we did that.
148
<h2>What does this mean for existing Twisted developers?<a name="auto8"/></h2>
151
Not much. The repository is rearranged a bit; protocols have been
152
moved to their relevant packages and documentation is now stored in
153
doc/<em>subproject</em>/ instead of everything at the top-level of
154
doc/. Everything is still in the same repository and everyone still
155
has the same access levels they used to.
160
<p><a href="../../howto/index.html">Index</a></p>
161
<span class="version">Version: 10.0.0</span>
b'\\ No newline at end of file'