blob: a2a337b62a44682d7c8dff39196cb3bdbc99864b [file] [log] [blame]
Guido van Rossum91cb9d21995-04-10 11:47:38 +00001This is Python release 1.2
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 Rossum91cb9d21995-04-10 11:47:38 +00008This version provides new functionality as well as bug fixes, lots of
9new documentation, and quite a few new library modules. Everyone
10should upgrade. For a full list of what's new and changed, see
11Misc/NEWS.
Guido van Rossum627b2d71993-12-24 10:39:16 +000012
Guido van Rossum627b2d71993-12-24 10:39:16 +000013
Guido van Rossum91cb9d21995-04-10 11:47:38 +000014What is Python anyway?
15----------------------
16
17Python is an interpreted object-oriented programming language, and is
18often compared to Tcl, Perl or Scheme. For a quick summary of what
19Python can mean for a UNIX/C programmer, read Misc/BLURB.LUTZ.
20
21
22If you don't read instructions
23------------------------------
24
25Congratulations on getting this far. :-)
26
27To start building right away (on UNIX): type "./configure" in the
28current directory and when it finishes, type "make". The section
29Build Instructions below is still recommended reading. :-)
30
31
32Copyright issues
33----------------
34
35Python is COPYRIGHTED but free to use for all. See the full copyright
36notice at the end of this file.
37
38The Python distribution is *not* affected by the GNU Public Licence
39(GPL). There are interfaces to some GNU code but these are entirely
40optional and no GNU code is distributed with Python. For all these
41packages, GPL-free public domain versions also exist.
42
Guido van Rossum627b2d71993-12-24 10:39:16 +000043
Guido van Rossum627b2d71993-12-24 10:39:16 +000044
Guido van Rossum433c8ad1994-08-01 12:07:07 +000045Build instructions
Guido van Rossum91cb9d21995-04-10 11:47:38 +000046==================
Guido van Rossum627b2d71993-12-24 10:39:16 +000047
Guido van Rossum433c8ad1994-08-01 12:07:07 +000048Before you start building Python, you must first configure it. This
49entails (at least) running the script "./configure", which figures out
Guido van Rossum91cb9d21995-04-10 11:47:38 +000050your system configuration and creates several Makefiles. (It takes a
51minute or two -- please be patient!) When it's done, you are ready to
52run make. Typing "make" in the toplevel directory will recursively
53run make in each of the subdirectories Parser, Objects, Python and
54Modules, creating a library file in each one. The executable of the
55interpreter is built in the Modules subdirectory and moved up here
56when it is built. If you want or need to, you can also chdir into
57each subdirectory in turn and run make there manually (do the Modules
58subdirectory last!).
Guido van Rossum627b2d71993-12-24 10:39:16 +000059
Guido van Rossum91cb9d21995-04-10 11:47:38 +000060NOTE: if you rerun the configure script with different options, remove
61all object files by running "make clean" before rebuilding. Believe
62it or not, "make clean" sometimes helps to clean up other inexplicable
63problems as well. Try it before sending in a bug report!
Guido van Rossum627b2d71993-12-24 10:39:16 +000064
Guido van Rossum0a516c91994-09-12 10:58:40 +000065
Guido van Rossum91cb9d21995-04-10 11:47:38 +000066Troubleshooting
67---------------
Guido van Rossum627b2d71993-12-24 10:39:16 +000068
Guido van Rossum91cb9d21995-04-10 11:47:38 +000069If you run into trouble, see section 3 of the FAQ (file Misc/FAQ) for
70hints on what can go wrong, and how to fix it.
71
72
73Platform specific notes
74-----------------------
75
76Linux: It is possible that "makesetup" fails with an obscure sed
77 error. This is a bug in bash. Replace /bin/sh with /bin/ash
78 in both makesetup and Makefile.pre.in. This has been observed
79 in Slackware version 2.2, bash 1.14.3; Slackware 2.1 did not
80 have the problem.
81
82AIX: Read the file Misc/AIX-NOTES before trying to build.
83
84HP-UX: Read the file Misc/HPUX-NOTES if you want to be able to
85 use shared libraries for dynamically loaded modules.
86
87Minix: When using ack, use "CC=cc AR=aal RANLIB=: ./configure"!
88
89SCO: 1) Everything works much better if you add -U__STDC__ to the
90 defs. This is because all the SCO header files are broken.
91 Anything that isn't mentioned in the C standard it's
92 conditionally excluded when __STDC__ is defined.
93
94 2) Due to the U.S. export restrictions, SCO broke the crypt
95 stuff out into a separate library, libcrypt_i.a so the LIBS
96 needed be set to:
97
98 LIBS=' -lsocket -lcrypt_i'
99
100
101Configuring the set of built-in modules
102---------------------------------------
Guido van Rossum19e0c261995-01-17 16:36:34 +0000103
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000104You can configure the interpreter to contain fewer or more built-in
105modules by editing the file Modules/Setup. This file is initially
106copied (when the toplevel Makefile makes Modules/Makefile for the
107first time) from Setup.in; if it does not exist yet, make a copy
108yourself. Never edit Setup.in -- always edit Setup. Read the
109comments in the file for information on what kind of edits you can
110make. When you have edited Setup, Makefile and config.c in Modules
111will automatically be rebuilt the next time you run make in the
Guido van Rossum9444ce01994-10-20 22:10:23 +0000112toplevel directory.
Guido van Rossum627b2d71993-12-24 10:39:16 +0000113
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000114Especially on SGI IRIX, there are modules that interface to many SGI
115specific system libraries, e.g. the GL library and the audio hardware.
116
117
118Setting the optimization/debugging options
119------------------------------------------
120
121If you want to change the optimization/debugging options for the C
122compiler, assign to the OPT variable on the toplevel make command;
123e.g. "make OPT=-g" will build a debugging version of Python on most
124platforms. The default is OPT=-O; a value for OPT in the environment
125when the configure script is run overrides this default (likewise for
126CC; and the initial value for LIBS is used as the base set of
127libraries to link with).
128
129
130Testing
131-------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000132
133To test the interpreter that you have just built, type "make test".
134This runs the test set silently, twice (once with no compiled files,
135once with the compiled files left by the previous test run). Each
136test run should print "All tests OK." and nothing more. (The test set
137does not test the built-in modules, but will find most other problems
138with the interpreter.)
139
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000140IMPORTANT: If the tests fail and you decide to mail a bug report,
141*don't* include the output of "make test". It is useless. Run the
142following command instead:
143
144 PYTHONPATH=../Lib:../Lib/test:./Modules ./python -c 'import testall'
145
146(substituting the top of the source tree for .. if you built in a
147different directory). This gives the output of the tests and shows
148which test failed.
149
150
151Installing
152----------
153
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000154To install the interpreter as /usr/local/bin/python, type "make
155install". To install the library as /usr/local/lib/python, type "make
156libinstall". To install the manual page as
157/usr/local/man/man1/python.1, type "make maninstall". To install the
158Emacs editing mode for python, manually copy the file
159Misc/python-mode.el to your local Emacs lisp directory. The directory
160/usr/local can be overridden at configuration time by passing
161--prefix=DIRECTORY to the configure script, or at make time by passing
162"prefix=DIRECTORY" to make. See below for more information on --prefix.
163
164If you plan to do development of extension modules or to embed Python
165in another application and don't want to reference the original source
166tree, you can type "make inclinstall" and "make libainstall" to
167install the include files and lib*.a files, respectively, as
168/usr/local/include/Py/*.h and /usr/local/lib/python/lib/lib*.a. The
169make libainstall target also installs copies of several other files
170used or produced during the build process which are needed to build
171extensions or to generate their Makefiles.
172
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000173
174Configuration options and variables
175-----------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000176
177Some special cases are handled by passing environment variables or
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000178options to the configure script.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000179
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000180NOTE: if you rerun the configure script with different options, remove
181all object files by running "make clean" before rebuilding.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000182
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000183--with(out)-gcc: The configure script uses gcc (the GNU C compiler) if
184 it finds it. If you don't want this, or if this compiler is
185 installed but broken on your platform, pass the option
186 --without-gcc. You can also pass "CC=cc" (or whatever the
187 name of the proper C compiler is) in the environment, but the
188 advantage of using --without-gcc is that this option is
189 remembered by the config.status script for its --recheck
190 option.
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000191
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000192--prefix, --exec-prefix: If you want to install the binaries and the
193 Python library somewhere else than in /usr/local/{bin,lib},
194 you can pass the option --prefix=DIRECTORY; the interpreter
195 binary will be installed as DIRECTORY/bin/python and the
196 library files as DIRECTORY/lib/python/*. If you pass
197 --exec-prefix=DIRECTORY (as well) this overrides the
198 installation prefix for architecture-dependent files (like the
199 interpreter binary). Note that --prefix=DIRECTORY also
200 affects the default module search path (sys.path), when
201 Modules/config.c is compiled. Passing make the option
202 prefix=DIRECTORY (and/or exec_prefix=DIRECTORY) overrides the
203 prefix set at configuration time; this may be more convenient
204 than re-running the configure script if you change your mind
205 about the install prefix...
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000206
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000207--with-readline: You can use the GNU readline library to improve the
208 interactive user interface: this gives you line editing and
209 command history when calling python interactively. You need
210 to configure build the GNU readline library before running the
211 configure script. Its sources are not distributed with
212 Python; you can ftp them from any GNU mirror site, or from its
213 home site:
214 <URL:ftp://slc2.ins.cwru.edu/pub/dist/readline-2.0.tar.gz> (or
215 a higher version number -- using version 1.x is not
216 recommended).
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000217
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000218 A GPL-free version was posted to comp.sources.misc in volume
219 31 and is widely available from FTP archive sites, e.g.
220 <URL:ftp://gatekeeper.dec.com/.b/usenet/comp.sources.misc/
221 volume31/editline/part01.Z>
222
223 Pass the Python configure script the option
224 --with-readline=DIRECTORY where DIRECTORY is the absolute
225 pathname of the directory where you've built the readline
226 library. Some hints on building and using the readline
227 library are in the FAQ (file Misc/FAQ).
228
229--with-thread: On SGI IRIX, and on Sun SOLARIS 2, you can use multiple
230 threads. To enable this, pass --with-thread. In the
231 Modules/Setup file, enable the thread module. (Threads aren't
232 enabled automatically because there are run-time penalties
233 when support for them is compiled in even if you don't use
234 them.)
235
236--with-sgi-dl: On SGI IRIX 4, dynamic loading of extension modules is
237 supported by the "dl" library by Jack Jansen, which is
238 ftp'able from <URL:ftp://ftp.cwi.nl/pub/dynload/dl-1.6.tar.Z>.
239 This is enabled (after you've ftp'ed and compiled the dl
240 library!) by passing --with-sgi-dl=DIRECTORY where DIRECTORY
241 is the absolute pathname of the dl library. (Don't bother on
242 IRIX 5, it already has dynamic linking using SunOS style
243 shared libraries.) Support for this feature is deprecated.
244
245--with-dl-dld: Dynamic loading of modules is rumoured to be supported
246 on some other systems: VAX (Ultrix), Sun3 (SunOS 3.4), Sequent
247 Symmetry (Dynix), and Atari ST. This is done using a
248 combination of the GNU dynamic loading package
249 (<URL:ftp://ftp.cwi.nl/pub/dynload/dl-dld-1.1.tar.Z>) and an
250 emulation of the SGI dl library mentioned above (the emulation
251 can be found at
252 <URL:ftp://ftp.cwi.nl/pub/dynload/dld-3.2.3.tar.Z>). To
253 enable this, ftp and compile both libraries, then call the
254 configure passing it the option
255 --with-dl-dld=DL_DIRECTORY,DLD_DIRECTORY where DL_DIRECTORY is
256 the absolute pathname of the dl emulation library and
257 DLD_DIRECTORY is the absolute pathname of the GNU dld library.
258 (Don't bother on SunOS 4 or 5, they already have dynamic
259 linking using shared libraries.) Support for this feature is
260 deprecated.
261
262--with-libm, --with-libc: It is possible to specify alternative
263 versions for the Math library (default -lm) and the C library
264 (default the empty string) using the options
265 --with-libm=STRING and --with-libc=STRING, respectively. E.g.
266 if your system requires that you pass -lc_s to the C compiler
267 to use the shared C library, you can pass --with-libc=-lc_s.
268 These libraries are passed after all other libraries, the C
269 library last.
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000270
271
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000272Extensions
273----------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000274
275You can also build an "extended" interpreter, using modules that are
276not contained in the Modules directory. Extensions are distributed as
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000277a separate tar file (currently extensions.tar.gz). See the README
278file there.
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000279
280
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000281Building for multiple architectures (using the VPATH feature)
282-------------------------------------------------------------
283
284If your file system is shared between multiple architectures, it
285usually is not necessary to make copies of the sources for each
286architecture you want to support. If the make program supports the
287VPATH feature, you can create an empty build directory for each
288architecture, and in each directory run the configure script (on the
289appropriate machine with the appropriate options). This creates the
290necessary subdirectories and the Makefiles therein. The Makefiles
291contain a line VPATH=... which points to directory containing the
Guido van Rossum6b111b01994-10-11 15:03:34 +0000292actual sources. (On SGI systems, use "smake" instead of "make" if you
293use VPATH -- don't try gnumake.)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000294
295For example, the following is all you need to build a minimal Python
296in /usr/tmp/python (assuming ~guido/src/python is the toplevel
297directory and you want to build in /usr/tmp/python):
298
299 $ mkdir /usr/tmp/python
300 $ cd /usr/tmp/python
301 $ ~guido/src/python/configure
302 [...]
303 $ make
304 [...]
305 $
306
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000307Note that Modules/Makefile copies the original Setup file to the build
308directory if it finds no Setup file there. This means that you can
309edit the Setup file for each architecture independently. For this
310reason, subsequent changes to the original Setup file are not tracked
311automatically, as they might overwrite local changes. To force a copy
312of a changed original Setup file, delete the target Setup file. (The
313makesetup script supports multiple input files, so if you want to be
314fancy you can change the rules to create an empty Setup.local if it
315doesn't exist and run it with arguments $(srcdir)/Setup Setup.local;
316however this assumes that you only need to add modules.)
317
318
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000319Building on non-UNIX systems
320----------------------------
321
322On non-UNIX systems, you will have to fake the effect of running the
323configure script manually. A good start is to copy the file
324config.h.in to config.h and edit the latter to reflect the actual
325configuration of your system. Most symbols must simply be defined as
3261 only if the corresponding feature is present and can be left alone
327otherwise; however RETSIGTYPE must always be defined, either as int or
328as void, and the *_t type symbols must be defined as some variant of
329int if they need to be defined at all. Then arrange that the symbol
330HAVE_CONFIG_H is defined during compilation (usually by passing an
331argument of the form `-DHAVE_CONFIG_H' to the compiler, but this is
332necessarily system-dependent).
333
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000334I have tried to collect instructions, Makefiles and additional sources
335for various platforms in this release. The following directories
336exist:
337
338Mac/ Apple Macintosh, using THINK C 6.0 or MPW 3.2.
339Dos/ MS-DOS and Windows 3.1, using Microsoft C.
340Nt/ Windows NT, using Microsoft Visual C/C++.
341Os2/ OS/2.
342
343Most of these instructions were last tested with a previous Python
344release, so you may still experience occasional problems. If you have
345fixes or suggestions, please let me know and I'll try to incorporate
346them in the next release.
347
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000348
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000349
350Miscellaneous issues
351====================
352
353
354Documentation
355-------------
356
357All documentation is provided in the subdirectory Doc in the form of
358LaTeX files. In order of importance for new users: Tutorial (tut),
359Library Reference (lib), Language Reference (ref), Extending (ext).
360Especially the Library Reference is of immense value since much of
361Python's power (including the built-in data types and functions!) is
362described here.
363
364To print the documentation from the LaTeX files, chdir into the Doc
365subdirectory, type "make" (let's hope you have LaTeX installed!), and
366send the four resulting PostScript files (tut.ps, lib.ps, ref.ps, and
367ext.ps) to the printer. See the README file there.
368
369All documentation is also available on-line via the World-Wide Web
370(WWW): <URL:http://www.cwi.nl/~guido/Python.html>. It can also be
371downloaded separately from the ftp archives (see below) in Emacs INFO,
372HTML or PostScript form -- see the FAQ (file Misc/FAQ) for more info.
373
374
375Emacs mode
376----------
377
378There's an excellent Emacs editing mode for Python code; see the file
379Misc/python-mode.el. Originally written by Tim Peters, who's no
380longer on the net, it is now maintained by Barry Warsaw
381<bwarsaw@cnri.reston.va.com>.
382
Guido van Rossum3c294ca1995-06-14 18:17:22 +0000383BTW, if you want to use font-lock for Python sources, here's something
384to put in your .emacs file:
385
386 (defun my-python-mode-hook ()
387 (setq font-lock-keywords python-font-lock-keywords)
388 (font-lock-mode 1))
389 (add-hook 'python-mode-hook 'my-python-mode-hook)
390
391
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000392
393Bug reports
394-----------
395
396Bugs are best reported to the comp.lang.python newsgroup or the Python
397mailing list -- see the section "Newsgroup and mailing list" below.
398Before posting, read the FAQ (file Misc/FAQ) first to see if your
399problem has already been answered!
400
401
402Ftp access
403----------
404
405Python's "home ftp site" is ftp.cwi.nl, directory pub/python. See the
406FAQ (file Misc/FAQ) for a list of other ftp sites carrying the Python
407distribution.
408
409
410Newsgroup and mailing list
411--------------------------
412
413There are a newsgroup and a mailing list devoted to Python
414programming, design and bugs. The newsgroup, comp.lang.python,
415contains exactly the same messages as the mailing list. To subscribe
416to the mailing list, send mail containing your real name and e-mail
417address to "python-list-request@cwi.nl" (a real person reads these
418messages, so no LISTPROC or Majordomo commands, please).
419
420
421The Tk interface
422----------------
423
424Tk (the user interface component of John Ousterhout's Tcl language) is
425also usable from Python. Since this requires that you first build and
426install Tcl/Tk, the Tk interface is not enabled by default. It
427requires Tcl 7.3 and Tk 3.6. It doesn't work yet with Tk 4.0-beta!
428(Actually, the C code does, but the Tkinter.py module hasn't been
429adapted yet.) For more info about Tk, including pointers to the
430source, see John Ousterhout's home page at
431<URL:http://playground.sun.com/~ouster/>.
432
433To enable the Python/Tk interface, once you've built and installed
434Tcl/Tk, all you need to do is edit two lines in Modules/Setup; search
435for the string "tkinter". Un-comment one (normally the first) of the
436lines beginning with "#tkinter" and un-comment the line beginning with
437"#TKPATH". (If you have installed Tcl/Tk in unusual places you will
438have to edit the first line as well to fix the -I and -L options.)
439See the Build Instructions above for more details.
440
441There is little documentation. Begin with fetching the "Tk Lifesaver"
Guido van Rossum3c294ca1995-06-14 18:17:22 +0000442document, e.g. <URL:ftp://ftp.cwi.nl/pub/python/doc/tkinter-doc.tar.gz>
443(a gzipped tar file containing a PostScript file). There are demos in
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000444the Demo/tkinter directory, in the subdirectories guido, matt and www.
445
446Note that there's a Python module called "Tkinter" (capital T) which
447lives in Lib/tkinter/Tkinter.py, and a C module called "tkinter"
448(lower case t) which lives in Modules/tkintermodule.c. Demos and
449normal Tk applications only import the Python Tkinter module -- only
450the latter uses the C tkinter module directly. In order to find the C
451tkinter module, it must be compiled and linked into the Python
452interpreter -- the tkinter line in the Setup file does this. In order
453to find the Python Tkinter module, sys.path must be set correctly --
454the TKPATH assignment in the Setup file takes care of this, but only
455if you install Python properly ("make install libinstall"). (You can
456also use dynamic loading for the C tkinter module, in which case you
457must manually fix up sys.path or set $PYTHONPATH for the Python
458Tkinter module.)
459
460
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000461Distribution structure
462----------------------
463
464Most subdirectories have their own README file. Most files have
465comments.
466
467ChangeLog A raw list of changes since the first 1.0.0 BETA release
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000468Contrib/ Interesting or useful Python code contributed by others
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000469Demo/ Demonstration scripts, modules and programs
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000470Doc/ Documentation (LaTeX sources)
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000471Extensions/ Extension modules (distributed separately)
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000472Grammar/ Input for the parser generator
473Include/ Public header files
474Lib/ Python library modules
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000475Makefile.in Source from which config.status creates Makefile
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000476Misc/ Miscellaneous files
477Modules/ Implementation of most built-in modules
478Objects/ Implementation of most built-in object types
479Parser/ The parser and tokenizer and their input handling
480Python/ The "compiler" and interpreter
481README The file you're reading now
Guido van Rossume109aa71995-03-09 14:12:10 +0000482Tools/ Some useful programs written in Python
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000483acconfig.h Additional input for the autoheader program
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000484config.h.in Source from which config.status creates config.h
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000485configure Configuration shell script (GNU autoconf output)
486configure.in Configuration specification (GNU autoconf input)
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000487
488The following files will (may) be created in the toplevel directory by
489the configuration and build processes:
490
491Makefile Build rules
492config.cache cache of configuration variables
493config.h Configuration header
494config.log log from last configure run
495config.status status from last run of configure script
496python The executable interpreter
497tags, TAGS Tags files for vi and Emacs
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000498
499
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000500Author's address
501----------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000502
503Guido van Rossum
504CWI, dept. CST
505P.O. Box 94079
5061090 GB Amsterdam
507The Netherlands
508
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000509E-mail: guido@cwi.nl
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000510
511
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000512
513Copyright notice
514================
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000515
516The Python source is copyrighted, but you can freely use and copy it
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000517as long as you don't change or remove the copyright notice:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000518
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000519----------------------------------------------------------------------
Guido van Rossumaf5b83e1995-01-04 19:02:35 +0000520Copyright 1991-1995 by Stichting Mathematisch Centrum, Amsterdam,
521The Netherlands.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000522
523 All Rights Reserved
524
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000525Permission to use, copy, modify, and distribute this software and its
526documentation for any purpose and without fee is hereby granted,
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000527provided that the above copyright notice appear in all copies and that
Guido van Rossumc561e5d1994-08-23 13:52:46 +0000528both that copyright notice and this permission notice appear in
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000529supporting documentation, and that the names of Stichting Mathematisch
530Centrum or CWI not be used in advertising or publicity pertaining to
531distribution of the software without specific, written prior permission.
532
533STICHTING MATHEMATISCH CENTRUM DISCLAIMS ALL WARRANTIES WITH REGARD TO
534THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND
535FITNESS, IN NO EVENT SHALL STICHTING MATHEMATISCH CENTRUM BE LIABLE
536FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
537WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
538ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT
539OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000540----------------------------------------------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000541
542
Guido van Rossum91cb9d21995-04-10 11:47:38 +0000543--Guido van Rossum, CWI, Amsterdam <mailto:guido@cwi.nl>
544<http://www.cwi.nl/~guido/>