cpython/Doc
Fred Drake 300775d222 Hide \varvars from "public" interface. 1998-04-17 02:17:00 +00:00
..
api Some patches by Drew Csillag; plus a few of my own uncommitted changes. 1998-04-14 20:21:10 +00:00
ext "ZeroDevisionError" --> "ZeroDivisionError" 1998-04-13 00:50:04 +00:00
html
icons
info Corrected citation markup in first paragraph. 1998-03-05 19:33:10 +00:00
lib Signature for dir() omitted the optional argument. 1998-04-16 22:10:27 +00:00
mac Caught a few more spurious \setindexsubitem macros.... 1998-04-07 22:06:41 +00:00
perl New helper functions to help deal with parameter parsing. 1998-04-17 02:15:42 +00:00
ref Change the date to March 6, 1998. 1998-03-06 21:43:09 +00:00
templates Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
texinputs Hide \varvars from "public" interface. 1998-04-17 02:17:00 +00:00
tools Fix the broken PDF links, really this time! 1998-04-15 17:50:22 +00:00
tut Fixed example to load the startup file from a script (didn't test for the 1998-04-13 01:31:10 +00:00
.cvsignore Ignore *.bkm files. 1998-03-06 21:22:34 +00:00
Makefile Added dependency on the tools/toc2bkm.py script for the PDF files. 1998-04-15 14:50:56 +00:00
README Added note about current status of info generation. 1998-04-09 15:19:41 +00:00
TODO Added note about weird sequencing of <PRE> & <dl> around {verbatim} sections. 1998-03-27 05:18:45 +00:00
api.tex Some patches by Drew Csillag; plus a few of my own uncommitted changes. 1998-04-14 20:21:10 +00:00
boilerplate.tex Fix version number. 1998-04-13 20:29:45 +00:00
copyright.tex Mark the URL "ftp://ftp.python.org" with \url{}. 1998-02-11 14:42:06 +00:00
ext.tex "ZeroDevisionError" --> "ZeroDivisionError" 1998-04-13 00:50:04 +00:00
howto.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
index.html
lib.tex Add imaplib to appropriate lists. 1998-04-11 04:27:07 +00:00
libaifc.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libal.tex Remove over-active replace-string turds. 1998-04-11 16:24:21 +00:00
liballos.tex Added \label{} for logical addressing. 1998-02-18 15:22:08 +00:00
libamoeba.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libanydbm.tex Separate sections on anydbm and dumbdbm. 1998-04-07 22:08:02 +00:00
libarray.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libaudioop.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libbase64.tex Removed obsolete \setindexsubitem macros. 1998-04-04 06:46:51 +00:00
libbasehttp.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libbastion.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libbinascii.tex Logical markup. 1998-04-03 03:44:56 +00:00
libbinhex.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libbltin.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libcd.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libcgi.tex Use shorter labels; using long labels creates problems on the Macintosh. 1998-04-14 17:19:54 +00:00
libcmath.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libcode.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libcommands.tex Added comment crediting Sue Williams with this documentation section (the 1998-04-03 06:56:31 +00:00
libcopy.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libcopyreg.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libcrypt.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libcrypto.tex Added index entries. 1998-04-04 06:46:05 +00:00
libctb.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libdbm.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libdis.tex Revert markup around list of display fields from the disassembler; it doesn't 1998-04-13 16:15:02 +00:00
liberrno.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libexcs.tex Remove all \bcode / \ecode cruft; this is no longer needed. See previous 1998-02-13 06:58:54 +00:00
libfcntl.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libfileinput.tex Document fileinput. 1998-04-04 04:20:51 +00:00
libfl.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libfm.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libfnmatch.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libformatter.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libframework.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libftplib.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libfuncs.tex Signature for dir() omitted the optional argument. 1998-04-16 22:10:27 +00:00
libgdbm.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libgetopt.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libgl.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libglob.tex Don't assume that \version expands to the 3-character major.minor number; it 1998-04-09 14:12:11 +00:00
libgopherlib.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libgrp.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libgzip.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libhtmllib.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libhttplib.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libimageop.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libimaplib.tex Use {memberdesc} to mark the instance attributes. 1998-04-11 15:11:55 +00:00
libimgfile.tex Include () after function name. 1998-04-11 16:57:05 +00:00
libimghdr.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libimp.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libintro.tex Added \label{} for logical addressing. 1998-02-18 15:21:26 +00:00
libjpeg.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libkeyword.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
liblocale.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libmac.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmacconsole.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmacdnr.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmacfs.tex Caught a few more spurious \setindexsubitem macros.... 1998-04-07 22:06:41 +00:00
libmacic.tex Use {classdesc} and {memberdesc} where appropriate. 1998-04-07 22:01:33 +00:00
libmacos.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmacostools.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmacspeech.tex Logical markup. 1998-04-04 06:23:02 +00:00
libmactcp.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmacui.tex Logical markup. 1998-04-04 06:23:02 +00:00
libmailbox.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmailcap.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmain.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmarshal.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmath.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libmd5.tex Remove obsolete \setindexsubitem macro. 1998-04-04 06:35:41 +00:00
libmimetools.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libmimify.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libminiae.tex Logical markup. 1998-04-04 06:23:02 +00:00
libmisc.tex Remove obsolete module rand from list of modules. 1998-04-11 04:22:02 +00:00
libmm.tex Added \label{} for logical addressing. 1998-02-18 15:22:08 +00:00
libmods.tex
libmpz.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libni.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libnntplib.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libobjs.tex \nodename{} must immediately follow \chapter{} to be handled correctly; 1998-02-19 14:00:22 +00:00
liboperator.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libos.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libpanel.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libparser.tex No more threats, just list the new methods under "AST Objects". 1998-04-13 18:46:16 +00:00
libpdb.tex Fixed some index entries. 1998-04-07 19:14:17 +00:00
libpickle.tex Change order of \seemodule macros at end of pickle module section. 1998-04-11 20:43:51 +00:00
libposix.tex Caught a few more spurious \setindexsubitem macros.... 1998-04-07 22:06:41 +00:00
libposixfile.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libppath.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libpprint.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libprofile.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libpwd.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libpython.tex Add cPickle to the list of modules in the chapter. 1998-04-12 03:08:41 +00:00
libqueue.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libquopri.tex Small consistency nits. 1998-04-03 07:06:56 +00:00
librand.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
librandom.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libre.tex Many markup changes (to \regexp, mostly) 1998-04-09 14:56:04 +00:00
libregex.tex Use the correct URL to AMK's regex-to-re HOWTO! 1998-04-09 14:06:33 +00:00
libregsub.tex Updated URL to AMK's regex-to-re HOWTO. 1998-04-09 14:03:00 +00:00
libresource.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
librestricted.tex Added reference to AMK's HOWTO on the topic. 1998-04-09 14:02:02 +00:00
librexec.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
librfc822.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
librgbimg.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
librotor.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libselect.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libsgi.tex Added \label{} for logical addressing. 1998-02-18 15:40:11 +00:00
libsgmllib.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libshelve.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libsignal.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libsite.tex Don't assume that \version expands to the 3-character major.minor number; it 1998-04-09 14:12:11 +00:00
libsocket.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libsocksvr.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libsomeos.tex Added \label{} for logical addressing. 1998-02-18 15:39:15 +00:00
libsoundex.tex Added a reference to the discussion in Knuth's "Sorting and Searching", and 1998-04-07 19:58:19 +00:00
libstat.tex Correct definition of CTIME. 1998-04-08 22:44:25 +00:00
libstd.tex
libstdwin.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libstring.tex Caught a few more spurious \setindexsubitem macros.... 1998-04-07 22:06:41 +00:00
libstrings.tex Add cStringIO to the list of modules in the chapter. 1998-04-12 03:07:35 +00:00
libstrio.tex Document cPickle and cStringIO. 1998-04-11 20:05:43 +00:00
libstruct.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libsun.tex Separate chapter and section. 1998-02-19 18:59:48 +00:00
libsunaudio.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libsymbol.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libsys.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libsyslog.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libtempfile.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libtemplate.tex Start at updating the template a little bit. There's a lot of stuff that's 1998-04-03 21:25:16 +00:00
libtermios.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libthread.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libtime.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libtoken.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libtraceback.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libtypes.tex Lighten up tables. 1998-04-11 20:53:03 +00:00
libtypes2.tex "alternative" is a noun, use "alternate" for the adjective. 1998-04-03 07:12:52 +00:00
libundoc.tex Added entry for Tkdnd.py. 1998-04-14 04:55:43 +00:00
libunix.tex Added \label{} for logical addressing. 1998-02-18 15:47:17 +00:00
liburllib.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
liburlparse.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libuser.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libuserdict.tex Separate UserDict and UserList documentation into separate sections. 1998-04-07 20:05:33 +00:00
libuu.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libwhichdb.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libwhrandom.tex Remove all uses of \sectcode; we can now use logical markup everywhere. 1998-04-04 07:23:21 +00:00
libwww.tex Add imaplib to appropriate lists. 1998-04-11 04:27:07 +00:00
libxdrlib.tex Use shorter labels; using long labels creates problems on the Macintosh. 1998-04-14 17:19:54 +00:00
libxmllib.tex Remove obsolete \setindexsubitem macros. 1998-04-04 07:15:02 +00:00
libzlib.tex Removed misleading comment about GNU software. This module and the zlib 1998-04-09 15:41:44 +00:00
texipost.dat
texipre.dat Corrected citation markup in first paragraph. 1998-03-05 19:33:10 +00:00
tut.tex Fixed example to load the startup file from a script (didn't test for the 1998-04-13 01:31:10 +00:00

README

Python main documentation -- in LaTeX
-------------------------------------

This directory contains the LaTeX sources to the Python documentation.
They now require LaTeX2e (LaTeX 2.09 compatibility is dropped).

The Python Reference Manual is no longer maintained in LaTeX.  It is
now a FrameMaker document.  The FrameMaker 5.0 files (ref.book,
ref*.doc) as well as PostScript generated (ref.ps) from it are in the
subdirectory ref/.  (See <ftp://ftp.adobe.com/pub/adobe/framereader>
for a free reader for FrameMaker documents, for some platforms.)  Many 
thanks to Robin Friedrich for the conversion of the Reference Manual
to FrameMaker and his work on its index.

If you don't have LaTeX, or if you'd rather not format the
documentation yourself, you can ftp a tar file containing HTML, PDF,
or PostScript versions of all documents.  Additional formats may be
available.  These should be in the same place where you fetched the
main Python distribution (try <http://www.python.org> or
<ftp://ftp.python.org>).

The following are the LaTeX source files:

	tut.tex				The tutorial
	lib.tex, lib*.tex		The library reference
	ext.tex				How to extend Python
	api.tex				Reference for the Python/C API

All use the "manual" document class and "python" package, derived from 
the old "myformat.sty" style file.  These contains many macro
definitions useful in documenting Python, and set some style parameters.

There's a Makefile to call LaTeX and the other utilities in the right
order and the right number of times.  This will produce DVI files for
each document made; to preview them, use xdvi.  PostScript is produced
by the same Makefile target that produces the DVI files.  This uses
the dvips tool.  Printing depends on local conventions; at our site,
we use lpr.  For example:

	make lib			# create lib.dvi and lib.ps
	xdvi lib			# preview lib.dvi
	lpr lib.ps			# print on default printer


What if I find a bug?
---------------------

First, check that the bug is present in the online version of the
documentation at <http://www.python.org/docs/>; we may have already
fixed it.

If we haven't, tell us about it.  We'd like the documentation to be
complete and accurate, but have limited time.  If you discover any
inconsistencies between the documentation and implementation, or just
have suggestions as to how to improve the documentation, let is know!
Send comments and patches to the Python Documentation Team:

			   python-docs@python.org

Thanks!


What tools do I need?
---------------------

You need to install Python; some of the scripts used to produce the
documentation are written in Python.

The simplest way to get the rest of the tools in the configuration we
used is to install the teTeX TeX distribution, version 0.9.  More
information is available on teTeX at <http://www.tug.org/tetex/>.
This is a UNIX-only TeX distribution at this time.  Note that the 0.9
release is still in testing; this documentation release was tested
with the 18 Mar 1998 release.  We'll be upgrading to the final version 
when it becomes available.

If you don't want to get teTeX, or if you're not using UNIX, here is
what you'll need:

To create DVI, PDF, or PostScript files:

	- LaTeX2e, 1995/12/01 or newer.  Older versions are likely to 
	  choke.

	- makeindex.  This is used to produce the indexes for the
	  library reference and Python/C API reference.

To create PDF files:

	- pdflatex.  We used the one in the teTeX 0.9 distribution
	  (version 0.12f at the time of this writing).  Versions even
	  a couple of patchlevels different are highly likely to
	  fail due to syntax changes for some of the pdftex
	  primitives.

To create PostScript files:

	- dvips.  Most TeX installations include this.  If you don't
	  have one, check CTAN (<ftp://ctan.tug.org/tex-archive/>).

To create info files:

	(Note that info is not currently supported.  If you need it,
	please fix or replace tools/partparse.py and send the new
	version to python-docs@python.org.  We'll be glad to provide
	free copies of the info files to anyone who can support the
	process.  ;-)

	- makeinfo.  This is available from any GNU mirror.

	- emacs or xemacs.  Emacs is available from the same place as
	  makeinfo, and xemacs is available from ftp.xemacs.org.

To create HTML files:

	- Perl 5.004_04 or newer.  Find the software at
	  <http://language.perl.com/info/software.html>.

	- LaTeX2HTML 98.1p1, or newer.  Releases are available at
	  <http://www-dsed.llnl.gov/files/programs/unix/latex2html/>.


What if Times fonts are not available?
--------------------------------------

As distributed, the LaTeX documents use PostScript Times fonts.  This
is done since they are much better looking and produce smaller
PostScript files.  If, however, your TeX installation does not support 
them, they may be easily disabled.  Edit the file
texiinputs/manual.cls and comment out the line that starts
"\RequirePackage{times}" using a "%" character at the beginning of the
line.  An alternative is to install the right fonts and LaTeX style
file.


What if I want to use A4 paper?
-------------------------------

Edit the file texinputs/manual.cls.  Change the line that reads:

    \LoadClass[twoside,openright]{report}

to say:

    \LoadClass[a4paper,twoside,openright]{report}

Now do a "make clean all" to generate PostScript files.


Making HTML files
-----------------

The LaTeX documents can be converted to HTML using Nikos Drakos'
LaTeX2HTML converter.  See the Makefile; after some twiddling, "make
l2h" should do the trick.

For the reference manual, we use Harlequin's webmaker.  We're not very 
happy with it and hope that eventually FrameMaker will be able to
produce HTML without third party help.


What else is in here?
---------------------

There is a new LaTeX document class called "howto".  This is used for
the new series of Python HOWTO documents which is being coordinated by 
Andrew Kuchling <amk@acm.org>.  The file howto.tex is a commented
template which may be used an example.  A script to "do the right
thing" to format a howto document is included as tools/mkhowto.sh.
Support for this document class is still new, but is expected to
evolve rapidly.  Use "mkhowto.sh --help" for information on using the
formatting tool.


Copyright notice
================

The Python source is copyrighted, but you can freely use and copy it
as long as you don't change or remove the copyright notice:

----------------------------------------------------------------------
Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
The Netherlands.

                        All Rights Reserved

Permission to use, copy, modify, and distribute this software and its
documentation for any purpose and without fee is hereby granted,
provided that the above copyright notice appear in all copies and that
both that copyright notice and this permission notice appear in
supporting documentation, and that the names of Stichting Mathematisch
Centrum or CWI or Corporation for National Research Initiatives or
CNRI not be used in advertising or publicity pertaining to
distribution of the software without specific, written prior
permission.

While CWI is the initial source for this software, a modified version
is made available by the Corporation for National Research Initiatives
(CNRI) at the Internet address ftp://ftp.python.org.

STICHTING MATHEMATISCH CENTRUM AND CNRI DISCLAIM ALL WARRANTIES WITH
REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH
CENTRUM OR CNRI BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL
DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR
PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER
TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
PERFORMANCE OF THIS SOFTWARE.
----------------------------------------------------------------------