2000-07-13 23:53:53 -04:00
|
|
|
PEP: 206
|
2005-06-27 16:31:59 -04:00
|
|
|
Title: Python Advanced Library
|
2000-07-13 23:53:53 -04:00
|
|
|
Version: $Revision$
|
2006-03-23 15:13:19 -05:00
|
|
|
Last-Modified: $Date$
|
2005-06-27 16:31:59 -04:00
|
|
|
Author: A.M. Kuchling <amk@amk.ca>
|
2005-09-28 10:10:52 -04:00
|
|
|
Status: Withdrawn
|
2007-06-19 00:20:07 -04:00
|
|
|
Type: Informational
|
|
|
|
Created:
|
|
|
|
Post-History:
|
2000-07-14 10:21:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
This PEP describes the Python Advanced Library, a collection of
|
|
|
|
high-quality and frequently-used third party extension modules.
|
2000-07-14 10:21:51 -04:00
|
|
|
|
|
|
|
Batteries Included Philosophy
|
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
The Python source distribution has long maintained the philosophy
|
|
|
|
of "batteries included" -- having a rich and versatile standard
|
2000-07-14 10:21:51 -04:00
|
|
|
library which is immediately available, without making the user
|
|
|
|
download separate packages. This gives the Python language a head
|
2005-06-27 16:31:59 -04:00
|
|
|
start in many projects.
|
|
|
|
|
|
|
|
However, the standard library modules aren't always the best
|
|
|
|
choices for a job. Some library modules were quick hacks
|
|
|
|
(e.g. calendar, commands), some were designed poorly and are now
|
|
|
|
near-impossible to fix (cgi), and some have been rendered obsolete
|
|
|
|
by other, more complete modules (binascii offers the same features
|
|
|
|
as the binhex, uu, base64 modules). This PEP describes a list of
|
|
|
|
third-party modules that make Python more competitive for various
|
|
|
|
application domains, forming the Python Advanced Library.
|
|
|
|
|
|
|
|
The deliverable is a set of scripts that will retrieve, build, and
|
|
|
|
install the packages for a particular application domain. The
|
|
|
|
Python Package Index now contains enough information to let
|
|
|
|
software automatically find packages and download them, so the
|
|
|
|
time is ripe to implement this.
|
2000-07-15 19:52:40 -04:00
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
Currently this document doesn't suggest *removing* modules from
|
|
|
|
the standard library that are superseded by a third-party module.
|
|
|
|
That's difficult to do because it entails many backward-compatibility
|
|
|
|
problems, so it's not worth bothering with now.
|
|
|
|
|
|
|
|
Please suggest additional domains of interest.
|
|
|
|
|
|
|
|
|
|
|
|
Domain: Web tasks
|
|
|
|
|
|
|
|
XML parsing: ElementTree + SAX.
|
|
|
|
|
|
|
|
URL retrieval: libcurl? other possibilities?
|
|
|
|
|
|
|
|
HTML parsing: mxTidy? HTMLParser?
|
|
|
|
|
|
|
|
Async network I/O: Twisted
|
|
|
|
|
|
|
|
RDF parser: ???
|
|
|
|
|
|
|
|
HTTP serving: ???
|
|
|
|
|
|
|
|
HTTP cookie processing: ???
|
|
|
|
|
|
|
|
Web framework: A WSGI gateway, perhaps? Paste?
|
2000-07-14 10:21:51 -04:00
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
Graphics: PIL, Chaco.
|
2000-07-14 10:21:51 -04:00
|
|
|
|
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
Domain: Scientific Programming
|
2000-07-14 10:21:51 -04:00
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
Numeric: Numeric, SciPy
|
2000-07-14 10:21:51 -04:00
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
Graphics: PIL, Chaco.
|
2000-07-14 10:21:51 -04:00
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
|
|
|
|
Domain: Application Development
|
|
|
|
|
|
|
|
GUI toolkit: ???
|
|
|
|
|
|
|
|
Graphics: Reportlab for PDF generation.
|
|
|
|
|
|
|
|
|
|
|
|
Domain: Education
|
|
|
|
|
|
|
|
Graphics: PyGame
|
|
|
|
|
|
|
|
|
|
|
|
Software covered by the GNU General Public License
|
|
|
|
|
|
|
|
Some of these third-party modules are covered by the GNU General
|
|
|
|
Public License and the GNU Lesser General Public License.
|
|
|
|
Providing a script to download and install such packages, or even
|
|
|
|
assembling all these packages into a single tarball or CD-ROM,
|
|
|
|
shouldn't cause any difficulties with the GPL, under the "mere
|
|
|
|
aggregation" clause of the license.
|
|
|
|
|
2001-01-10 09:35:50 -05:00
|
|
|
|
|
|
|
Open Issues
|
2000-07-14 10:21:51 -04:00
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
What other application domains are important?
|
|
|
|
|
|
|
|
Should this just be a set of Ubuntu or Debian packages? Compiling
|
|
|
|
things such as PyGame can be very complicated and may be too
|
|
|
|
difficult to automate.
|
|
|
|
|
2000-07-13 23:53:53 -04:00
|
|
|
|
2005-06-27 16:31:59 -04:00
|
|
|
Acknowledgements
|
|
|
|
|
|
|
|
The PEP is based on an earlier draft PEP by Moshe Zadka, titled
|
|
|
|
"2.0 Batteries Included."
|
2001-01-23 06:33:04 -05:00
|
|
|
|
2000-07-13 23:53:53 -04:00
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
mode: indented-text
|
|
|
|
indent-tabs-mode: nil
|
|
|
|
End:
|