8000 Restify PEP 206 (#144) · python/peps@a6f1efa · GitHub
[go: up one dir, main page]

Skip to content

Commit a6f1efa

Browse files
Mariattabrettcannon
authored andcommitted
Restify PEP 206 (#144)
1 parent daebe20 commit a6f1efa

File tree

1 file changed

+73
-61
lines changed

1 file changed

+73
-61
lines changed

pep-0206.txt

Lines changed: 73 additions & 61 deletions
+
Providing a script to download and install such packages, or even
Original file line numberDiff line numberDiff line change
@@ -5,112 +5,124 @@ Last-Modified: $Date$
55
Author: A.M. Kuchling <amk@amk.ca>
66
Status: Withdrawn
77
Type: Informational
8+
Content-Type: text/x-rst
89
Created:
910
Post-History:
1011

1112

1213
Introduction
14+
============
15+
16+
This PEP describes the Python Advanced Library, a collection of
17+
high-quality and frequently-used third party extension modules.
1318

14-
This PEP describes the Python Advanced Library, a collection of
15-
high-quality and frequently-used third party extension modules.
1619

1720
Batteries Included Philosophy
21+
=============================
22+
23+
The Python source distribution has long maintained the philosophy
24+
of "batteries included" -- having a rich and versatile standard
25+
library which is immediately available, without making the user
26+
download separate packages. This gives the Python language a head
27+
start in many projects.
28+
29+
However, the standard library modules aren't always the best
30+
choices for a job. Some library modules were quick hacks
31+
(e.g. calendar, commands), some were designed poorly and are now
32+
near-impossible to fix (cgi), and some have been rendered obsolete
33+
by other, more complete modules (binascii offers the same features
34+
as the binhex, uu, base64 modules). This PEP describes a list of
35+
third-party modules that make Python more competitive for various
36+
application domains, forming the Python Advanced Library.
37+
38+
The deliverable is a set of scripts that will retrieve, build, and
39+
install the packages for a particular application domain. The
40+
Python Package Index now contains enough information to let
41+
software automatically find packages and download them, so the
42+
time is ripe to implement this.
1843

19-
The Python source distribution has long maintained the philosophy
20-
of "batteries included" -- having a rich and versatile standard
21-
library which is immediately available, without making the user
22-
download separate packages. This gives the Python language a head
23-
start in many projects.
24-
25-
However, the standard library modules aren't always the best
26-
choices for a job. Some library modules were quick hacks
27-
(e.g. calendar, commands), some were designed poorly and are now
28-
near-impossible to fix (cgi), and some have been rendered obsolete
29-
by other, more complete modules (binascii offers the same features
30-
as the binhex, uu, base64 modules). This PEP describes a list of
31-
third-party modules that make Python more competitive for various
32-
application domains, forming the Python Advanced Library.
33-
34-
The deliverable is a set of scripts that will retrieve, build, and
35-
install the packages for a particular application domain. The
36-
Python Package Index now contains enough information to let
37-
software automatically find packages and download them, so the
38-
time is ripe to implement this.
39-
40-
Currently this document doesn't suggest *removing* modules from
41-
the standard library that are superseded by a third-party module.
42-
That's difficult to do because it entails many backward-compatibility
43-
problems, so it's not worth bothering with now.
44-
45-
Please suggest additional domains of interest.
44+
Currently this document doesn't suggest *removing* modules from
45+
the standard library that are superseded by a third-party module.
46+
That's difficult to do because it entails many backward-compatibility
47+
problems, so it's not worth bothering with now.
48+
49+
Please suggest additional domains of interest.
4650

4751

4852
Domain: Web tasks
53+
=================
4954

50-
XML parsing: ElementTree + SAX.
55+
XML parsing: ElementTree + SAX.
5156

52-
URL retrieval: libcurl? other possibilities?
57+
URL retrieval: libcurl? other possibilities?
5358

54-
HTML parsing: mxTidy? HTMLParser?
59+
HTML parsing: mxTidy? HTMLParser?
5560

56-
Async network I/O: Twisted
61+
Async network I/O: Twisted
5762

58-
RDF parser: ???
63+
RDF parser: ???
5964

60-
HTTP serving: ???
65+
HTTP serving: ???
6166

62-
HTTP cookie processing: ???
67+
HTTP cookie processing: ???
6368

64-
Web framework: A WSGI gateway, perhaps? Paste?
69+
Web framework: A WSGI gateway, perhaps? Paste?
6570

66-
Graphics: PIL, Chaco.
71+
Graphics: PIL, Chaco.
6772

6873

6974
Domain: Scientific Programming
75+
==============================
7076

71-
Numeric: Numeric, SciPy
77+
Numeric: Numeric, SciPy
7278

73-
Graphics: PIL, Chaco.
79+
Graphics: PIL, Chaco.
7480

7581

7682
Domain: Application Development
83+
===============================
7784

78-
GUI toolkit: ???
85+
GUI toolkit: ???
7986

80-
Graphics: Reportlab for PDF generation.
87+
Graphics: Reportlab for PDF generation.
8188

8289

8390
Domain: Education
91+
=================
8492

85-
Graphics: PyGame
93+
Graphics: PyGame
8694

8795

8896
Software covered by the GNU General Public License
97+
==================================================
98+
99+
Some of these third-party modules are covered by the GNU General
100+
Public License and the GNU Lesser General Public License.
101
102+
assembling all these packages into a single tarball or CD-ROM,
103+
shouldn't cause any difficulties with the GPL, under the "mere
104+
aggregation" clause of the license.
89105

90-
Some of these third-party modules are covered by the GNU General
91-
Public License and the GNU Lesser General Public License.
92-
Providing a script to download and install such packages, or even
93-
assembling all these packages into a single tarball or CD-ROM,
94-
shouldn't cause any difficulties with the GPL, under the "mere
95-
aggregation" clause of the license.
96-
97106

98107
Open Issues
108+
===========
99109

100-
What other application domains are important?
110+
What other application domains are important?
101111

102-
Should this just be a set of Ubuntu or Debian packages? Compiling
103-
things such as PyGame can be very complicated and may be too
104-
difficult to automate.
112+
Should this just be a set of Ubuntu or Debian packages? Compiling
113+
things such as PyGame can be very complicated and may be too
114+
difficult to automate.
105115

106116

107117
Acknowledgements
108-
109-
The PEP is based on an earlier draft PEP by Moshe Zadka, titled
110-
"2.0 Batteries Included."
118+
================
119+
120+
The PEP is based on an earlier draft PEP by Moshe Zadka, titled
121+
"2.0 Batteries Included."
111122

112123

113-
Local Variables:
114-
mode: indented-text
115-
indent-tabs-mode: nil
116-
End:
124+
..
125+
Local Variables:
126+
mode: indented-text
127+
indent-tabs-mode: nil
128+
End:

0 commit comments

Comments
 (0)
0