1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>The Future Of Paste — Paste v1.7.5 documentation</title>
<link rel="stylesheet" href="_static/default.css" type="text/css" />
<link rel="stylesheet" href="_static/pygments.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '1.7.5',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="_static/jquery.js"></script>
<script type="text/javascript" src="_static/underscore.js"></script>
<script type="text/javascript" src="_static/doctools.js"></script>
<link rel="top" title="Paste v1.7.5 documentation" href="index.html" />
<link rel="next" title="Testing Applications with Paste" href="testing-applications.html" />
<link rel="prev" title="News" href="news.html" />
<link rel="stylesheet" type="text/css"
href="_static/paste.css.html">
</head>
<body>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
accesskey="I">index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="testing-applications.html" title="Testing Applications with Paste"
accesskey="N">next</a> |</li>
<li class="right" >
<a href="news.html" title="News"
accesskey="P">previous</a> |</li>
<li><a href="index.html">Paste v1.7.5 documentation</a> »</li>
</ul>
</div>
<div class="document">
<div class="documentwrapper">
<div class="bodywrapper">
<div class="body">
<div class="section" id="the-future-of-paste">
<h1>The Future Of Paste<a class="headerlink" href="#the-future-of-paste" title="Permalink to this headline">¶</a></h1>
<div class="section" id="introduction">
<h2>Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline">¶</a></h2>
<p>Paste has been under development for a while, and has lots of code in it. Too much code! The code is largely decoupled except for some core functions shared by many parts of the code. Those core functions are largely replaced in <a class="reference external" href="http://pythonpaste.org/webob/">WebOb</a>, and replaced with better implementations.</p>
<p>The future of these pieces is to split them into independent packages, and refactor the internal Paste dependencies to rely instead on WebOb.</p>
</div>
<div class="section" id="already-extracted">
<h2>Already Extracted<a class="headerlink" href="#already-extracted" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt>paste.fixture:</dt>
<dd>WebTest
ScriptTest</dd>
<dt>paste.lint:</dt>
<dd>wsgiref.validate</dd>
<dt>paste.exceptions and paste.evalexception:</dt>
<dd>WebError</dd>
<dt>paste.util.template:</dt>
<dd>Tempita</dd>
</dl>
</div>
<div class="section" id="to-be-separated">
<h2>To Be Separated<a class="headerlink" href="#to-be-separated" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt>paste.httpserver and paste.debug.watchthreads:</dt>
<dd>Not sure what to call this.</dd>
<dt>paste.cascade and paste.errordocuments:</dt>
<dd>Not sure; Ben has an implementation of errordocuments in <tt class="docutils literal"><span class="pre">pylons.middleware.StatusCodeRedirect</span></tt></dd>
<dt>paste.urlmap, paste.deploy.config.PrefixMiddleware:</dt>
<dd>In... some routing thing? Together with the previous package?</dd>
<dt>paste.proxy:</dt>
<dd>WSGIProxy (needs lots of cleanup though)</dd>
<dt>paste.fileapp, paste.urlparser.StaticURLParser, paste.urlparser.PkgResourcesParser:</dt>
<dd>In some new file-serving package.</dd>
<dt>paste.cgiapp, wphp.fcgi_app:</dt>
<dd>Some proxyish app... maybe WSGIProxy?</dd>
<dt>paste.translogger, paste.debug.prints, paste.util.threadedprint, wsgifilter.proxyapp.DebugHeaders:</dt>
<dd>Some... other place. Something loggy.</dd>
<dt>paste.registry, paste.config:</dt>
<dd>Not sure. Alberto Valverde expressed interest in splitting out paste.registry.</dd>
<dt>paste.cgitb_catcher:</dt>
<dd>Move to WebError? Not sure if it matters. For some reason people use this, though.</dd>
</dl>
</div>
<div class="section" id="to-deprecate">
<h2>To Deprecate<a class="headerlink" href="#to-deprecate" title="Permalink to this headline">¶</a></h2>
<p>(In that, I won’t extract these anywhere; I’m not going to do any big deletes anytime soon, though)</p>
<dl class="docutils">
<dt>paste.recursive</dt>
<dd>Better to do it manually (with webob.Request.get_response)</dd>
<dt>paste.wsgiwrappers, paste.request, paste.response, paste.wsgilib, paste.httpheaders, paste.httpexceptions:</dt>
<dd>All the functionality is already in WebOb.</dd>
<dt>paste.urlparser.URLParser:</dt>
<dd>Really this is tied to paste.webkit more than anything.</dd>
<dt>paste.auth.*:</dt>
<dd>Well, these all need to be refactored, and replacements exist in AuthKit and repoze.who. Some pieces might still have utility.</dd>
<dt>paste.debug.profile:</dt>
<dd>I think repoze.profile supersedes this.</dd>
<dt>paste.debug.wdg_validator:</dt>
<dd>It could get reimplemented with more options for validators, but I’m not really that interested at the moment. The code is nothing fancy.</dd>
<dt>paste.transaction:</dt>
<dd>More general in repoze.tm</dd>
<dt>paste.url:</dt>
<dd>No one uses this</dd>
</dl>
</div>
<div class="section" id="undecided">
<h2>Undecided<a class="headerlink" href="#undecided" title="Permalink to this headline">¶</a></h2>
<dl class="docutils">
<dt>paste.debug.fsdiff:</dt>
<dd>Maybe ScriptTest?</dd>
<dt>paste.session:</dt>
<dd>It’s an okay naive session system. But maybe Beaker makes it irrelevant (Beaker does seem slightly more complex to setup). But then, this can just live here indefinitely.</dd>
<dt>paste.gzipper:</dt>
<dd>I’m a little uncomfortable with this in concept. It’s largely in WebOb right now, but not as middleware.</dd>
<dt>paste.reloader:</dt>
<dd>Maybe this should be moved to paste.script (i.e., paster serve)</dd>
<dt>paste.debug.debugapp, paste.script.testapp:</dt>
<dd>Alongside other debugging tools, I guess</dd>
<dt>paste.progress:</dt>
<dd>Not sure this works.</dd>
</dl>
</div>
</div>
</div>
</div>
</div>
<div class="sphinxsidebar">
<div class="sphinxsidebarwrapper">
<h3><a href="http://pythonpaste.org/" class="invisible-link">Python Paste</a></h3>
<ul>
<li><a href="http://trac.pythonpaste.org">Issue tracker</a></li>
<li><a href="http://pythonpaste.org/">Paste core</a></li>
<li><a href="http://pythonpaste.org/webob/">WebOb</a></li>
<li><a href="http://pythonpaste.org/deploy/">Paste Deploy</a></li>
<li><a href="http://pythonpaste.org/script/">Paste Script</a></li>
<li><a href="http://pythonpaste.org/webtest/">WebTest</a></li>
<li><a href="http://pythonpaste.org/scripttest/">ScriptType</a></li>
<li><a href="http://pythonpaste.org/initools/">INITools</a></li>
<li><a href="http://pythonpaste.org/tempita/">Tempita</a></li>
<li><a href="http://pythonpaste.org/waitforit/">WaitForIt</a></li>
<li><a href="http://pythonpaste.org/wphp/">WPHP</a></li>
<li><a href="http://pythonpaste.org/wsgifilter/">WSGIFilter</a></li>
<li><a href="http://pythonpaste.org/wsgiproxy/">WSGIProxy</a></li>
</ul>
<h3><a href="index.html">Table Of Contents</a></h3>
<ul>
<li><a class="reference internal" href="#">The Future Of Paste</a><ul>
<li><a class="reference internal" href="#introduction">Introduction</a></li>
<li><a class="reference internal" href="#already-extracted">Already Extracted</a></li>
<li><a class="reference internal" href="#to-be-separated">To Be Separated</a></li>
<li><a class="reference internal" href="#to-deprecate">To Deprecate</a></li>
<li><a class="reference internal" href="#undecided">Undecided</a></li>
</ul>
</li>
</ul>
<h4>Previous topic</h4>
<p class="topless"><a href="news.html"
title="previous chapter">News</a></p>
<h4>Next topic</h4>
<p class="topless"><a href="testing-applications.html"
title="next chapter">Testing Applications with Paste</a></p>
<h3>This Page</h3>
<ul class="this-page-menu">
<li><a href="_sources/future.txt"
rel="nofollow">Show Source</a></li>
</ul>
<div id="searchbox" style="display: none">
<h3>Quick search</h3>
<form class="search" action="search.html" method="get">
<input type="text" name="q" size="18" />
<input type="submit" value="Go" />
<input type="hidden" name="check_keywords" value="yes" />
<input type="hidden" name="area" value="default" />
</form>
<p class="searchtip" style="font-size: 90%">
Enter search terms or a module, class or function name.
</p>
</div>
<script type="text/javascript">$('#searchbox').show(0);</script>
</div>
</div>
<div class="clearer"></div>
</div>
<div class="related">
<h3>Navigation</h3>
<ul>
<li class="right" style="margin-right: 10px">
<a href="genindex.html" title="General Index"
>index</a></li>
<li class="right" >
<a href="py-modindex.html" title="Python Module Index"
>modules</a> |</li>
<li class="right" >
<a href="testing-applications.html" title="Testing Applications with Paste"
>next</a> |</li>
<li class="right" >
<a href="news.html" title="News"
>previous</a> |</li>
<li><a href="index.html">Paste v1.7.5 documentation</a> »</li>
</ul>
</div>
<div class="footer">
© Copyright 2008, Ian Bicking.
Last updated on Sep 14, 2010.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.0.1.
</div>
</body>
</html>
|