blob: 3bda2f8bc28cb05989bfb73201b315743ce1d28b [file] [log] [blame]
Guido van Rossum0447a321995-10-08 01:22:33 +00001This is Python release 1.3
2==========================
Guido van Rossum627b2d71993-12-24 10:39:16 +00003
Guido van Rossum627b2d71993-12-24 10:39:16 +00004
Guido van Rossum91cb9d21995-04-10 11:47:38 +00005What's new in this release?
6---------------------------
Guido van Rossum627b2d71993-12-24 10:39:16 +00007
Guido van Rossum84c8c7f1995-08-28 02:44:24 +00008- Keyword parameters (see the last chapter of the tutorial).
9- Third argument to raise (the stacktrace to provide).
10- Faster function and method calls.
11- Jim Fulton's abstract object interface (Include/abstract.h).
12- Support for Tk 4.0 in Tkinter (Tkinter now supports keywords!).
13- Rewritten htmllib.py (HTML parser), with new formatter.py.
14- Rewritten rexec.py (restricted execution).
15- New modules ni.py and ihooks.py (package support and more).
Guido van Rossum0447a321995-10-08 01:22:33 +000016- And lots more that you'll have to discover on your own (see chapter
Guido van Rossum8eca2c21996-02-14 18:37:46 +000017 12 of the Tutorial or the Misc/NEWS file).
Guido van Rossum627b2d71993-12-24 10:39:16 +000018
Guido van Rossum627b2d71993-12-24 10:39:16 +000019
Guido van Rossum91cb9d21995-04-10 11:47:38 +000020What is Python anyway?
21----------------------
22
23Python is an interpreted object-oriented programming language, and is
24often compared to Tcl, Perl or Scheme. For a quick summary of what
25Python can mean for a UNIX/C programmer, read Misc/BLURB.LUTZ.
26
27
28If you don't read instructions
29------------------------------
30
31Congratulations on getting this far. :-)
32
33To start building right away (on UNIX): type "./configure" in the
34current directory and when it finishes, type "make". The section
35Build Instructions below is still recommended reading. :-)
36
37
38Copyright issues
39----------------
40
41Python is COPYRIGHTED but free to use for all. See the full copyright
42notice at the end of this file.
43
44The Python distribution is *not* affected by the GNU Public Licence
45(GPL). There are interfaces to some GNU code but these are entirely
46optional and no GNU code is distributed with Python. For all these
47packages, GPL-free public domain versions also exist.
48
Guido van Rossum627b2d71993-12-24 10:39:16 +000049
Guido van Rossumff840491995-09-18 22:02:47 +000050A modest plug
51=============
52
53
Guido van Rossum0447a321995-10-08 01:22:33 +000054*************************************************************************
55* *
56* Python exists, and is free, thanks to the contributed efforts *
57* of many people. The PSA was created to maximize the results *
58* of those efforts, by helping to coordinate them. The PSA *
59* operates web, ftp and email servers, organizes Python *
60* workshops, and engages in other activities that benefit the *
61* Python user community. The PSA is seeking support for these *
62* activities. See this URL for information on how to join: *
63* http://www.python.org/psa/Joining.html *
64* *
65*************************************************************************
Guido van Rossumff840491995-09-18 22:02:47 +000066
Guido van Rossum627b2d71993-12-24 10:39:16 +000067
Guido van Rossum433c8ad1994-08-01 12:07:07 +000068Build instructions
Guido van Rossum91cb9d21995-04-10 11:47:38 +000069==================
Guido van Rossum627b2d71993-12-24 10:39:16 +000070
Guido van Rossum433c8ad1994-08-01 12:07:07 +000071Before you start building Python, you must first configure it. This
72entails (at least) running the script "./configure", which figures out
Guido van Rossum91cb9d21995-04-10 11:47:38 +000073your system configuration and creates several Makefiles. (It takes a
74minute or two -- please be patient!) When it's done, you are ready to
75run make. Typing "make" in the toplevel directory will recursively
76run make in each of the subdirectories Parser, Objects, Python and
77Modules, creating a library file in each one. The executable of the
78interpreter is built in the Modules subdirectory and moved up here
79when it is built. If you want or need to, you can also chdir into
80each subdirectory in turn and run make there manually (do the Modules
81subdirectory last!).
Guido van Rossum627b2d71993-12-24 10:39:16 +000082
Guido van Rossum91cb9d21995-04-10 11:47:38 +000083NOTE: if you rerun the configure script with different options, remove
84all object files by running "make clean" before rebuilding. Believe
85it or not, "make clean" sometimes helps to clean up other inexplicable
86problems as well. Try it before sending in a bug report!
Guido van Rossum627b2d71993-12-24 10:39:16 +000087
Guido van Rossum0a516c91994-09-12 10:58:40 +000088
Guido van Rossum91cb9d21995-04-10 11:47:38 +000089Troubleshooting
90---------------
Guido van Rossum627b2d71993-12-24 10:39:16 +000091
Guido van Rossum91cb9d21995-04-10 11:47:38 +000092If you run into trouble, see section 3 of the FAQ (file Misc/FAQ) for
93hints on what can go wrong, and how to fix it.
94
95
96Platform specific notes
97-----------------------
98
Guido van Rossum0447a321995-10-08 01:22:33 +000099(Some of these may no longer apply. If you find you can build Python
100on these platforms without the special directions mentioned here, let
101me know so I can remove them!)
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000102
Guido van Rossum8eca2c21996-02-14 18:37:46 +0000103Linux: Once you've built Python, use it to run the regen.py script in
104 the Lib/linux1 directory. Apparently the files as distributed
105 don't match the system headers on some Linux versions.
106
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000107AIX: Read the file Misc/AIX-NOTES before trying to build.
108
109HP-UX: Read the file Misc/HPUX-NOTES if you want to be able to
110 use shared libraries for dynamically loaded modules.
111
112Minix: When using ack, use "CC=cc AR=aal RANLIB=: ./configure"!
113
114SCO: 1) Everything works much better if you add -U__STDC__ to the
115 defs. This is because all the SCO header files are broken.
116 Anything that isn't mentioned in the C standard it's
117 conditionally excluded when __STDC__ is defined.
118
119 2) Due to the U.S. export restrictions, SCO broke the crypt
120 stuff out into a separate library, libcrypt_i.a so the LIBS
121 needed be set to:
122
123 LIBS=' -lsocket -lcrypt_i'
124
125
126Configuring the set of built-in modules
127---------------------------------------
Guido van Rossum19e0c261995-01-17 16:36:34 +0000128
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000129You can configure the interpreter to contain fewer or more built-in
130modules by editing the file Modules/Setup. This file is initially
131copied (when the toplevel Makefile makes Modules/Makefile for the
132first time) from Setup.in; if it does not exist yet, make a copy
133yourself. Never edit Setup.in -- always edit Setup. Read the
134comments in the file for information on what kind of edits you can
135make. When you have edited Setup, Makefile and config.c in Modules
136will automatically be rebuilt the next time you run make in the
Guido van Rossum9444ce01994-10-20 22:10:23 +0000137toplevel directory.
Guido van Rossum627b2d71993-12-24 10:39:16 +0000138
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000139Especially on SGI IRIX, there are modules that interface to many SGI
140specific system libraries, e.g. the GL library and the audio hardware.
141
142
143Setting the optimization/debugging options
144------------------------------------------
145
146If you want to change the optimization/debugging options for the C
147compiler, assign to the OPT variable on the toplevel make command;
148e.g. "make OPT=-g" will build a debugging version of Python on most
149platforms. The default is OPT=-O; a value for OPT in the environment
150when the configure script is run overrides this default (likewise for
151CC; and the initial value for LIBS is used as the base set of
152libraries to link with).
153
154
155Testing
156-------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000157
158To test the interpreter that you have just built, type "make test".
159This runs the test set silently, twice (once with no compiled files,
160once with the compiled files left by the previous test run). Each
161test run should print "All tests OK." and nothing more. (The test set
162does not test the built-in modules, but will find most other problems
163with the interpreter.)
164
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000165IMPORTANT: If the tests fail and you decide to mail a bug report,
166*don't* include the output of "make test". It is useless. Run the
167following command instead:
168
169 PYTHONPATH=../Lib:../Lib/test:./Modules ./python -c 'import testall'
170
171(substituting the top of the source tree for .. if you built in a
172different directory). This gives the output of the tests and shows
173which test failed.
174
175
176Installing
177----------
178
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000179To install the interpreter as /usr/local/bin/python, type "make
180install". To install the library as /usr/local/lib/python, type "make
181libinstall". To install the manual page as
182/usr/local/man/man1/python.1, type "make maninstall". To install the
183Emacs editing mode for python, manually copy the file
184Misc/python-mode.el to your local Emacs lisp directory. The directory
185/usr/local can be overridden at configuration time by passing
186--prefix=DIRECTORY to the configure script, or at make time by passing
187"prefix=DIRECTORY" to make. See below for more information on --prefix.
188
189If you plan to do development of extension modules or to embed Python
190in another application and don't want to reference the original source
191tree, you can type "make inclinstall" and "make libainstall" to
192install the include files and lib*.a files, respectively, as
193/usr/local/include/Py/*.h and /usr/local/lib/python/lib/lib*.a. The
194make libainstall target also installs copies of several other files
195used or produced during the build process which are needed to build
196extensions or to generate their Makefiles.
197
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000198
199Configuration options and variables
200-----------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000201
202Some special cases are handled by passing environment variables or
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000203options to the configure script.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000204
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000205NOTE: if you rerun the configure script with different options, remove
206all object files by running "make clean" before rebuilding.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000207
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000208--with(out)-gcc: The configure script uses gcc (the GNU C compiler) if
209 it finds it. If you don't want this, or if this compiler is
210 installed but broken on your platform, pass the option
211 --without-gcc. You can also pass "CC=cc" (or whatever the
212 name of the proper C compiler is) in the environment, but the
213 advantage of using --without-gcc is that this option is
214 remembered by the config.status script for its --recheck
215 option.
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000216
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000217--prefix, --exec-prefix: If you want to install the binaries and the
218 Python library somewhere else than in /usr/local/{bin,lib},
219 you can pass the option --prefix=DIRECTORY; the interpreter
220 binary will be installed as DIRECTORY/bin/python and the
221 library files as DIRECTORY/lib/python/*. If you pass
222 --exec-prefix=DIRECTORY (as well) this overrides the
223 installation prefix for architecture-dependent files (like the
224 interpreter binary). Note that --prefix=DIRECTORY also
225 affects the default module search path (sys.path), when
226 Modules/config.c is compiled. Passing make the option
227 prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the
228 prefix set at configuration time; this may be more convenient
229 than re-running the configure script if you change your mind
230 about the install prefix...
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000231
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000232--with-readline: You can use the GNU readline library to improve the
233 interactive user interface: this gives you line editing and
234 command history when calling python interactively. You need
235 to configure build the GNU readline library before running the
236 configure script. Its sources are not distributed with
237 Python; you can ftp them from any GNU mirror site, or from its
238 home site:
239 <URL:ftp://slc2.ins.cwru.edu/pub/dist/readline-2.0.tar.gz> (or
240 a higher version number -- using version 1.x is not
241 recommended).
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000242
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000243 A GPL-free version was posted to comp.sources.misc in volume
244 31 and is widely available from FTP archive sites, e.g.
245 <URL:ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/
246 volume31/editline/part01.Z>
247
248 Pass the Python configure script the option
249 --with-readline=DIRECTORY where DIRECTORY is the absolute
250 pathname of the directory where you've built the readline
251 library. Some hints on building and using the readline
252 library are in the FAQ (file Misc/FAQ).
253
254--with-thread: On SGI IRIX, and on Sun SOLARIS 2, you can use multiple
255 threads. To enable this, pass --with-thread. In the
256 Modules/Setup file, enable the thread module. (Threads aren't
257 enabled automatically because there are run-time penalties
258 when support for them is compiled in even if you don't use
259 them.)
260
261--with-sgi-dl: On SGI IRIX 4, dynamic loading of extension modules is
262 supported by the "dl" library by Jack Jansen, which is
263 ftp'able from <URL:ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z>.
264 This is enabled (after you've ftp'ed and compiled the dl
265 library!) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
266 is the absolute pathname of the dl library. (Don't bother on
267 IRIX 5, it already has dynamic linking using SunOS style
268 shared libraries.) Support for this feature is deprecated.
269
270--with-dl-dld: Dynamic loading of modules is rumoured to be supported
271 on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent
272 Symmetry (Dynix), and Atari ST. This is done using a
273 combination of the GNU dynamic loading package
274 (<URL:ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z>) and an
275 emulation of the SGI dl library mentioned above (the emulation
276 can be found at
277 <URL:ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z>). To
278 enable this, ftp and compile both libraries, then call the
279 configure passing it the option
280 --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is
281 the absolute pathname of the dl emulation library and
282 DLD_DIRECTORY is the absolute pathname of the GNU dld library.
283 (Don't bother on SunOS 4 or 5, they already have dynamic
284 linking using shared libraries.) Support for this feature is
285 deprecated.
286
287--with-libm, --with-libc: It is possible to specify alternative
288 versions for the Math library (default -lm) and the C library
289 (default the empty string) using the options
290 --with-libm=STRING and --with-libc=STRING, respectively. E.g.
291 if your system requires that you pass -lc_s to the C compiler
292 to use the shared C library, you can pass --with-libc=-lc_s.
293 These libraries are passed after all other libraries, the C
294 library last.
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000295
296
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000297Extensions
298----------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000299
300You can also build an "extended" interpreter, using modules that are
301not contained in the Modules directory. Extensions are distributed as
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000302a separate tar file (currently extensions.tar.gz). See the README
303file there.
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000304
305
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000306Building for multiple architectures (using the VPATH feature)
307-------------------------------------------------------------
308
309If your file system is shared between multiple architectures, it
310usually is not necessary to make copies of the sources for each
311architecture you want to support. If the make program supports the
312VPATH feature, you can create an empty build directory for each
313architecture, and in each directory run the configure script (on the
314appropriate machine with the appropriate options). This creates the
315necessary subdirectories and the Makefiles therein. The Makefiles
316contain a line VPATH=... which points to directory containing the
Guido van Rossum6b111b01994-10-11 15:03:34 +0000317actual sources. (On SGI systems, use "smake" instead of "make" if you
318use VPATH -- don't try gnumake.)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000319
320For example, the following is all you need to build a minimal Python
321in /usr/tmp/python (assuming ~guido/src/python is the toplevel
322directory and you want to build in /usr/tmp/python):
323
324 $ mkdir /usr/tmp/python
325 $ cd /usr/tmp/python
326 $ ~guido/src/python/configure
327 [...]
328 $ make
329 [...]
330 $
331
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000332Note that Modules/Makefile copies the original Setup file to the build
333directory if it finds no Setup file there. This means that you can
334edit the Setup file for each architecture independently. For this
335reason, subsequent changes to the original Setup file are not tracked
336automatically, as they might overwrite local changes. To force a copy
337of a changed original Setup file, delete the target Setup file. (The
338makesetup script supports multiple input files, so if you want to be
339fancy you can change the rules to create an empty Setup.local if it
340doesn't exist and run it with arguments $(srcdir)/Setup Setup.local;
341however this assumes that you only need to add modules.)
342
343
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000344Building on non-UNIX systems
345----------------------------
346
347On non-UNIX systems, you will have to fake the effect of running the
348configure script manually. A good start is to copy the file
349config.h.in to config.h and edit the latter to reflect the actual
350configuration of your system. Most symbols must simply be defined as
3511 only if the corresponding feature is present and can be left alone
352otherwise; however RETSIGTYPE must always be defined, either as int or
353as void, and the *_t type symbols must be defined as some variant of
354int if they need to be defined at all. Then arrange that the symbol
355HAVE_CONFIG_H is defined during compilation (usually by passing an
356argument of the form `-DHAVE_CONFIG_H' to the compiler, but this is
357necessarily system-dependent).
358
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000359I have tried to collect instructions, Makefiles and additional sources
360for various platforms in this release. The following directories
361exist:
362
363Mac/ Apple Macintosh, using THINK C 6.0 or MPW 3.2.
364Dos/ MS-DOS and Windows 3.1, using Microsoft C.
365Nt/ Windows NT, using Microsoft Visual C/C++.
366Os2/ OS/2.
367
368Most of these instructions were last tested with a previous Python
369release, so you may still experience occasional problems. If you have
370fixes or suggestions, please let me know and I'll try to incorporate
371them in the next release.
372
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000373
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000374
375Miscellaneous issues
376====================
377
378
379Documentation
380-------------
381
382All documentation is provided in the subdirectory Doc in the form of
383LaTeX files. In order of importance for new users: Tutorial (tut),
384Library Reference (lib), Language Reference (ref), Extending (ext).
385Especially the Library Reference is of immense value since much of
386Python's power (including the built-in data types and functions!) is
387described here.
388
389To print the documentation from the LaTeX files, chdir into the Doc
390subdirectory, type "make" (let's hope you have LaTeX installed!), and
391send the four resulting PostScript files (tut.ps, lib.ps, ref.ps, and
392ext.ps) to the printer. See the README file there.
393
394All documentation is also available on-line via the World-Wide Web
395(WWW): <URL:http://www.cwi.nl/~guido/Python.html>. It can also be
396downloaded separately from the ftp archives (see below) in Emacs INFO,
397HTML or PostScript form -- see the FAQ (file Misc/FAQ) for more info.
398
399
400Emacs mode
401----------
402
403There's an excellent Emacs editing mode for Python code; see the file
404Misc/python-mode.el. Originally written by Tim Peters, who's no
405longer on the net, it is now maintained by Barry Warsaw
406<bwarsaw@cnri.reston.va.com>.
407
Guido van Rossum3c294ca1995-06-14 18:17:22 +0000408BTW, if you want to use font-lock for Python sources, here's something
409to put in your .emacs file:
410
411 (defun my-python-mode-hook ()
412 (setq font-lock-keywords python-font-lock-keywords)
413 (font-lock-mode 1))
414 (add-hook 'python-mode-hook 'my-python-mode-hook)
415
416
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000417
418Bug reports
419-----------
420
421Bugs are best reported to the comp.lang.python newsgroup or the Python
422mailing list -- see the section "Newsgroup and mailing list" below.
423Before posting, read the FAQ (file Misc/FAQ) first to see if your
424problem has already been answered!
425
426
427Ftp access
428----------
429
430Python's "home ftp site" is ftp.cwi.nl, directory pub/python. See the
431FAQ (file Misc/FAQ) for a list of other ftp sites carrying the Python
432distribution.
433
434
435Newsgroup and mailing list
436--------------------------
437
438There are a newsgroup and a mailing list devoted to Python
439programming, design and bugs. The newsgroup, comp.lang.python,
440contains exactly the same messages as the mailing list. To subscribe
441to the mailing list, send mail containing your real name and e-mail
442address to "python-list-request@cwi.nl" (a real person reads these
443messages, so no LISTPROC or Majordomo commands, please).
444
445
446The Tk interface
447----------------
448
449Tk (the user interface component of John Ousterhout's Tcl language) is
450also usable from Python. Since this requires that you first build and
451install Tcl/Tk, the Tk interface is not enabled by default. It
Guido van Rossum84c8c7f1995-08-28 02:44:24 +0000452requires Tcl 7.4 and Tk 4.0. (Support for Tk 3.6 and Tcl 7.3 can be
453found in Lib/tk3inter/.)
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000454
455To enable the Python/Tk interface, once you've built and installed
456Tcl/Tk, all you need to do is edit two lines in Modules/Setup; search
Jack Jansen10d0f8f1995-10-23 14:36:05 +0000457for the string "_tkinter". Un-comment one (normally the first) of the
458lines beginning with "#_tkinter" and un-comment the line beginning with
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000459"#TKPATH". (If you have installed Tcl/Tk in unusual places you will
460have to edit the first line as well to fix the -I and -L options.)
461See the Build Instructions above for more details.
462
463There is little documentation. Begin with fetching the "Tk Lifesaver"
Guido van Rossum3c294ca1995-06-14 18:17:22 +0000464document, e.g. <URL:ftp://ftp.cwi.nl/pub/python/doc/tkinter-doc.tar.gz>
465(a gzipped tar file containing a PostScript file). There are demos in
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000466the Demo/tkinter directory, in the subdirectories guido, matt and www.
467
468Note that there's a Python module called "Tkinter" (capital T) which
469lives in Lib/tkinter/Tkinter.py, and a C module called "tkinter"
Jack Jansen10d0f8f1995-10-23 14:36:05 +0000470(lower case t) which lives in Modules/_tkinter.c. Demos and
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000471normal Tk applications only import the Python Tkinter module -- only
Jack Jansen10d0f8f1995-10-23 14:36:05 +0000472the latter uses the C _tkinter module directly. In order to find the C
473_tkinter module, it must be compiled and linked into the Python
474interpreter -- the _tkinter line in the Setup file does this. In order
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000475to find the Python Tkinter module, sys.path must be set correctly --
476the TKPATH assignment in the Setup file takes care of this, but only
477if you install Python properly ("make install libinstall"). (You can
Jack Jansen10d0f8f1995-10-23 14:36:05 +0000478also use dynamic loading for the C _tkinter module, in which case you
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000479must manually fix up sys.path or set $PYTHONPATH for the Python
480Tkinter module.)
481
Guido van Rossum0447a321995-10-08 01:22:33 +0000482See <URL:http://www.smli.com/research/tcl/> for more info on where
Guido van Rossum84c8c7f1995-08-28 02:44:24 +0000483to get Tcl/Tk.
484
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000485
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000486Distribution structure
487----------------------
488
489Most subdirectories have their own README file. Most files have
490comments.
491
492ChangeLog A raw list of changes since the first 1.0.0 BETA release
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000493Contrib/ Interesting or useful Python code contributed by others
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000494Demo/ Demonstration scripts, modules and programs
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000495Doc/ Documentation (LaTeX sources)
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000496Extensions/ Extension modules (distributed separately)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000497Grammar/ Input for the parser generator
498Include/ Public header files
499Lib/ Python library modules
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000500Makefile.in Source from which config.status creates Makefile
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000501Misc/ Miscellaneous files
502Modules/ Implementation of most built-in modules
503Objects/ Implementation of most built-in object types
504Parser/ The parser and tokenizer and their input handling
505Python/ The "compiler" and interpreter
506README The file you're reading now
Guido van Rossume109aa71995-03-09 14:12:10 +0000507Tools/ Some useful programs written in Python
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000508acconfig.h Additional input for the autoheader program
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000509config.h.in Source from which config.status creates config.h
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000510configure Configuration shell script (GNU autoconf output)
511configure.in Configuration specification (GNU autoconf input)
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000512
513The following files will (may) be created in the toplevel directory by
514the configuration and build processes:
515
516Makefile Build rules
517config.cache cache of configuration variables
518config.h Configuration header
519config.log log from last configure run
520config.status status from last run of configure script
521python The executable interpreter
522tags, TAGS Tags files for vi and Emacs
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000523
524
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000525Author's address
526----------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000527
528Guido van Rossum
529CWI, dept. CST
530P.O. Box 94079
5311090 GB Amsterdam
532The Netherlands
533
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000534E-mail: guido@cwi.nl
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000535
536
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000537
538Copyright notice
539================
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000540
541The Python source is copyrighted, but you can freely use and copy it
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000542as long as you don't change or remove the copyright notice:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000543
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000544----------------------------------------------------------------------
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000545Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
546The Netherlands.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000547
548 All Rights Reserved
549
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000550Permission to use, copy, modify, and distribute this software and its
551documentation for any purpose and without fee is hereby granted,
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000552provided that the above copyright notice appear in all copies and that
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000553both that copyright notice and this permission notice appear in
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000554supporting documentation, and that the names of Stichting Mathematisch
555Centrum or CWI not be used in advertising or publicity pertaining to
556distribution of the software without specific, written prior permission.
557
558STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
559THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
560FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
561FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
562WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
563ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
564OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000565----------------------------------------------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000566
567
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000568--Guido van Rossum, CWI, Amsterdam <mailto:guido@cwi.nl>
569<http://www.cwi.nl/~guido/>