-
-
Notifications
You must be signed in to change notification settings - Fork 1.6k
Restify PEP 206 #144
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Restify PEP 206 #144
Changes from all commits
Commits
File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -5,112 +5,124 @@ Last-Modified: $Date$ | |
Author: A.M. Kuchling <[email protected]> | ||
Status: Withdrawn | ||
Type: Informational | ||
Content-Type: text/x-rst | ||
Created: | ||
Post-History: | ||
|
||
|
||
Introduction | ||
============ | ||
|
||
This PEP describes the Python Advanced Library, a collection of | ||
high-quality and frequently-used third party extension modules. | ||
|
||
This PEP describes the Python Advanced Library, a collection of | ||
high-quality and frequently-used third party extension modules. | ||
|
||
Batteries Included Philosophy | ||
============================= | ||
|
||
The Python source distribution has long maintained the philosophy | ||
of "batteries included" -- having a rich and versatile standard | ||
library which is immediately available, without making the user | ||
download separate packages. This gives the Python language a head | ||
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. | ||
|
||
The Python source distribution has long maintained the philosophy | ||
of "batteries included" -- having a rich and versatile standard | ||
library which is immediately available, without making the user | ||
download separate packages. This gives the Python language a head | ||
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. | ||
|
||
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. | ||
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. | ||
XML parsing: ElementTree + SAX. | ||
|
||
URL retrieval: libcurl? other possibilities? | ||
URL retrieval: libcurl? other possibilities? | ||
|
||
HTML parsing: mxTidy? HTMLParser? | ||
HTML parsing: mxTidy? HTMLParser? | ||
|
||
Async network I/O: Twisted | ||
Async network I/O: Twisted | ||
|
||
RDF parser: ??? | ||
RDF parser: ??? | ||
|
||
HTTP serving: ??? | ||
HTTP serving: ??? | ||
|
||
HTTP cookie processing: ??? | ||
HTTP cookie processing: ??? | ||
|
||
Web framework: A WSGI gateway, perhaps? Paste? | ||
Web framework: A WSGI gateway, perhaps? Paste? | ||
|
||
Graphics: PIL, Chaco. | ||
Graphics: PIL, Chaco. | ||
|
||
|
||
Domain: Scientific Programming | ||
============================== | ||
|
||
Numeric: Numeric, SciPy | ||
Numeric: Numeric, SciPy | ||
|
||
Graphics: PIL, Chaco. | ||
Graphics: PIL, Chaco. | ||
|
||
|
||
Domain: Application Development | ||
=============================== | ||
|
||
GUI toolkit: ??? | ||
GUI toolkit: ??? | ||
|
||
Graphics: Reportlab for PDF generation. | ||
Graphics: Reportlab for PDF generation. | ||
|
||
|
||
Domain: Education | ||
================= | ||
|
||
Graphics: PyGame | ||
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. | ||
|
||
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. | ||
|
||
|
||
Open Issues | ||
=========== | ||
|
||
What other application domains are important? | ||
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. | ||
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. | ||
|
||
|
||
Acknowledgements | ||
|
||
The PEP is based on an earlier draft PEP by Moshe Zadka, titled | ||
"2.0 Batteries Included." | ||
================ | ||
|
||
The PEP is based on an earlier draft PEP by Moshe Zadka, titled | ||
"2.0 Batteries Included." | ||
|
||
|
||
Local Variables: | ||
mode: indented-text | ||
indent-tabs-mode: nil | ||
End: | ||
.. | ||
Local Variables: | ||
mode: indented-text | ||
indent-tabs-mode: nil | ||
End: |
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This PEP does not have the copyright notice, something that's discussed in #123
Should it be added here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe @akuchling (the PEP author) can add one or tell you what it should be? (I presume public domain, like all other PEPs, but it's polite to ask.)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @gvanrossum :)
I won't make changes wrt copyright notice without @akuchling 's input.
If anything, perhaps it should go in a separate PR anyway?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yep, adding a copyright can be a separate PR.