2000-07-13 23:53:53 -04:00
|
|
|
|
PEP: 206
|
|
|
|
|
Title: 2.0 Batteries Included
|
|
|
|
|
Version: $Revision$
|
|
|
|
|
Owner: moshez@math.huji.ac.il (Moshe Zadka)
|
|
|
|
|
Python-Version: 2.0
|
2000-07-14 10:21:51 -04:00
|
|
|
|
Status: Draft
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Introduction
|
|
|
|
|
|
|
|
|
|
This PEP describes the `batteries included' proposal for Python
|
|
|
|
|
2.0, the fat distribution containing commonly used third party
|
|
|
|
|
extension modules. This PEP tracks the status and ownership of
|
|
|
|
|
this proposal, slated for introduction in Python 2.0. It contains
|
|
|
|
|
a description of the proposal and outlines how to support it.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Batteries Included Philosophy
|
|
|
|
|
|
|
|
|
|
The Python source distribution always 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 Python standard library
|
|
|
|
|
often relies on important Open Source libraries which might be
|
|
|
|
|
unavailable on many computers, so that the user has to separately
|
|
|
|
|
download and compile those. Some examples are the zlib
|
|
|
|
|
compression library, and the gmp number manipulation library.
|
|
|
|
|
|
|
|
|
|
TBD -- can anyone give reference to some article describing
|
|
|
|
|
TBD -- "batteries included?"
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
The Proposed Solution
|
|
|
|
|
|
|
|
|
|
The proposed solution is to download a few important third-party
|
|
|
|
|
libraries, and distribute them with the source distribution of
|
|
|
|
|
Python. In addition, the build procedure will be changed to build
|
|
|
|
|
those libraries by default, and build the Python modules which
|
|
|
|
|
rely on them linked against those libraries. Individual users
|
|
|
|
|
will still be able to link the Python modules against already
|
|
|
|
|
installed libraries, or disable them completely.
|
|
|
|
|
|
|
|
|
|
Additionally, some Open Source third-party modules will also be
|
|
|
|
|
distributed together with the source distribution.
|
|
|
|
|
|
|
|
|
|
TBD -- does this mean some will be distributed but not enabled by
|
|
|
|
|
default? [ed]
|
|
|
|
|
|
|
|
|
|
Here is the list of libraries which are proposed to be dealt with
|
|
|
|
|
in this manner, and where they can be downloaded:
|
|
|
|
|
|
|
|
|
|
zlib -- http://www.info-zip.org/pub/infozip/zlib/zlib.tar.gz
|
2000-07-14 10:37:20 -04:00
|
|
|
|
expat -- ftp://ftp.jclark.com/pub/xml/expat.zip
|
2000-07-14 10:21:51 -04:00
|
|
|
|
Tcl -- http://dev.scriptics.com:80/download/tcl/tcl8_3/tcl8.3.1.tar.gz
|
|
|
|
|
Tk -- http://dev.scriptics.com:80/download/tcl/tcl8_3/tk8.3.1.tar.gz
|
|
|
|
|
PIL -- http://www.pythonware.com/downloads/Imaging-1.1.tar.gz
|
|
|
|
|
ncurses -- ftp://dickey.his.com/ncurses/ncurses.tar.gz
|
|
|
|
|
|
2000-07-14 10:37:20 -04:00
|
|
|
|
TBD, the following four:
|
|
|
|
|
|
|
|
|
|
libjpeg -- ftp://ftp.uu.net/graphics/jpeg/jpegsrc.v6b.tar.gz
|
|
|
|
|
NumPy -- http://download.sourceforge.net/numpy/Numerical-15.3.tgz
|
|
|
|
|
Pmw -- ftp://ftp.dscpl.com.au/pub/pmw/Pmw.0.8.4.tar.gz
|
|
|
|
|
BLT -- ftp://ftp.tcltk.com/aa004735/pub/blt/BLT2.4u.tar.gz
|
|
|
|
|
|
2000-07-14 10:21:51 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Software covered by the GNU Public License
|
|
|
|
|
|
|
|
|
|
TBD -- please explain why GPL'd software is not included in Python
|
|
|
|
|
(and perhaps the difference between GPL and LGPL).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Open Issues
|
|
|
|
|
|
|
|
|
|
Where does all this source live?
|
|
|
|
|
|
|
|
|
|
What should the build procedure look like?
|
|
|
|
|
|
|
|
|
|
What to do if compilation of a supporting library fails?
|
|
|
|
|
|
|
|
|
|
ESR also mentioned libpng, but I don't know of a Python module
|
|
|
|
|
that uses it.
|
2000-07-13 23:53:53 -04:00
|
|
|
|
|
2000-07-14 10:37:20 -04:00
|
|
|
|
How does all this fit in with distutils?
|
|
|
|
|
|
2000-07-13 23:53:53 -04:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Local Variables:
|
|
|
|
|
mode: indented-text
|
|
|
|
|
indent-tabs-mode: nil
|
|
|
|
|
End:
|