~justin-fathomdb/nova/justinsb-openstack-api-volumes

« back to all changes in this revision

Viewing changes to vendor/Twisted-10.0.0/doc/core/upgrades/2.0/split.html

  • Committer: Jesse Andrews
  • Date: 2010-05-28 06:05:26 UTC
  • Revision ID: git-v1:bf6e6e718cdc7488e2da87b21e258ccc065fe499
initial commit

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
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">
 
2
  <head>
 
3
<title>Twisted Documentation: The Twisted Split FAQ</title>
 
4
<link href="../../howto/stylesheet.css" rel="stylesheet" type="text/css"/>
 
5
  </head>
 
6
 
 
7
  <body bgcolor="white">
 
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>
 
10
    <div class="content">
 
11
 
 
12
<span/>
 
13
 
 
14
<h2>What is the Twisted Split?<a name="auto0"/></h2>
 
15
 
 
16
<p>
 
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.
 
21
</p>
 
22
 
 
23
<h2>Why was Twisted being split?<a name="auto1"/></h2>
 
24
 
 
25
<p>
 
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
 
29
twisted.names.
 
30
</p>
 
31
 
 
32
<p>
 
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.
 
37
</p>
 
38
 
 
39
<h2>But I liked the monolithic packages. Can I still get them?<a name="auto2"/></h2>
 
40
 
 
41
<p>
 
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.
 
48
</p>
 
49
 
 
50
<h2>Where can I find information about the individual projects?<a name="auto3"/></h2>
 
51
 
 
52
<p>
 
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
 
56
information.
 
57
</p>
 
58
 
 
59
<h2>What are the new packages?<a name="auto4"/></h2>
 
60
 
 
61
<p>
 
62
    <ul>
 
63
 
 
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,
 
68
      twisted.trial</li>
 
69
 
 
70
      <li><a href="http://twistedmatrix.com/trac/wiki/TwistedConch" shape="rect">Twisted
 
71
      Conch</a> - This contains twisted.conch.</li>
 
72
 
 
73
      <li><a href="http://twistedmatrix.com/trac/wiki/TwistedLore" shape="rect">Twisted
 
74
      Lore</a> - This contains twisted.lore</li>
 
75
 
 
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
 
79
      twisted.mail.</li>
 
80
 
 
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>
 
84
 
 
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>
 
88
 
 
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>
 
93
 
 
94
      <li><a href="http://twistedmatrix.com/trac/wiki/TwistedRunner" shape="rect">Twisted
 
95
      Runner</a> - This contains twisted.runner.</li>
 
96
 
 
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>
 
100
 
 
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>
 
106
    </ul>
 
107
</p>
 
108
 
 
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,
 
112
and, ahem, FTP.</p>
 
113
 
 
114
 
 
115
<h2>Will I have to rewrite my code? What API changes are there?<a name="auto5"/></h2>
 
116
 
 
117
<p>
 
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>
 
121
 
 
122
<h2>What about my deployments? What will I have to do to have the new packages?<a name="auto6"/></h2>
 
123
 
 
124
<p>
 
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
 
130
available.
 
131
</p>
 
132
 
 
133
<p>
 
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
 
137
sub-project.
 
138
</p>
 
139
 
 
140
<h2>Why are all the packages still named twisted.<em>subproject</em>?<a name="auto7"/></h2>
 
141
 
 
142
<p>
 
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.
 
146
</p>
 
147
 
 
148
<h2>What does this mean for existing Twisted developers?<a name="auto8"/></h2>
 
149
 
 
150
<p>
 
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.
 
156
</p>
 
157
 
 
158
</div>
 
159
 
 
160
    <p><a href="../../howto/index.html">Index</a></p>
 
161
    <span class="version">Version: 10.0.0</span>
 
162
  </body>
 
163
</html>
 
 
b'\\ No newline at end of file'