blob: 7cc85dad66687428ea7f9041a47595e6435965a1 [file] [log] [blame]
Guido van Rossum1c896e32007-08-29 23:03:30 +00001This is Python version 3.0 alpha 1
2==================================
Guido van Rossum91447632000-04-11 17:11:09 +00003
Thomas Wouters902d6eb2007-01-09 23:18:33 +00004Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007
5Python Software Foundation.
Guido van Rossum67345eb2001-01-18 14:51:12 +00006All rights reserved.
7
Guido van Rossumc07d5fa2000-09-01 22:50:02 +00008Copyright (c) 2000 BeOpen.com.
9All rights reserved.
10
Guido van Rossum23f7aed2001-04-12 20:53:31 +000011Copyright (c) 1995-2001 Corporation for National Research Initiatives.
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000012All rights reserved.
13
Guido van Rossum6ebd2992000-09-03 04:47:47 +000014Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000015All rights reserved.
16
Guido van Rossum4f40c2d2000-09-05 16:46:22 +000017
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000018License information
19-------------------
20
Guido van Rossum4f40c2d2000-09-05 16:46:22 +000021See the file "LICENSE" for information on the history of this
22software, terms & conditions for usage, and a DISCLAIMER OF ALL
23WARRANTIES.
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000024
Guido van Rossum1c896e32007-08-29 23:03:30 +000025This Python distribution contains *no* GNU General Public License
26(GPL) code, so it may be used in proprietary projects. There are
27interfaces to some GNU code but these are entirely optional.
Guido van Rossum4f40c2d2000-09-05 16:46:22 +000028
29All trademarks referenced herein are property of their respective
30holders.
Guido van Rossum79808261997-12-11 18:01:47 +000031
32
Guido van Rossum1c896e32007-08-29 23:03:30 +000033About Python 3000
34-----------------
Guido van Rossum50e9fb92006-08-17 05:42:55 +000035
Guido van Rossum1c896e32007-08-29 23:03:30 +000036Python 3000 (a.k.a. "Py3k", and released as Python 3.0) is a new
37version of the language, which is incompatible with the 2.x line of
38releases. The language is mostly the same, but many details,
39especially how built-in objects like dictionaries and strings work,
40have changed considerably, and a lot of deprecated features have
41finally been removed.
42
43This is an ongoing project; the cleanup isn't expected to be complete
44until 2008. In particular there are plans to reorganize the standard
45library namespace.
46
47This README hasn't been fully updated for Python 3000 yet. If you see
48anything that should clearly be changed, fix it (if you have checkin
49permissions) or submit a patch to the issue tracker (see below).
Guido van Rossum50e9fb92006-08-17 05:42:55 +000050
51
Guido van Rossum1c896e32007-08-29 23:03:30 +000052Release Schedule
53----------------
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000054
Guido van Rossum1c896e32007-08-29 23:03:30 +000055The release plan is to have a series of alpha releases in 2007, beta
56releases in 2008, and a final release in August 2008. The alpha
57releases are primarily aimed at developers who want a sneak peek at
58the new langauge, especially those folks who plan to port their code
59to Python 3000. The hope is that by the time of the final release,
60many 3rd party packages will already be available in a 3.0-compatible
61form.
Guido van Rossum8d90f9d1997-05-22 20:13:25 +000062
Guido van Rossumf501b4e1996-10-25 14:32:48 +000063
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000064Documentation
65-------------
Guido van Rossum91cb9d21995-04-10 11:47:38 +000066
Guido van Rossum1c896e32007-08-29 23:03:30 +000067Documentation for Python 3000 is online, updated twice a day:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000068
Guido van Rossum1c896e32007-08-29 23:03:30 +000069 http://docs.python.org/dev/3.0/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000070
Guido van Rossum1c896e32007-08-29 23:03:30 +000071This is a work in progress; please help improve it!
Barry Warsaw06557452001-12-14 20:47:12 +000072
Guido van Rossum1c896e32007-08-29 23:03:30 +000073The design documents for Python 3000 are also online. While the
74reference documentation is being updated, the PEPs are often the best
75source of information about new features. Start by reading PEP 3000:
Barry Warsaw06557452001-12-14 20:47:12 +000076
Guido van Rossum1c896e32007-08-29 23:03:30 +000077 http://python.org/dev/peps/pep-3000/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000078
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000079
Guido van Rossum1c896e32007-08-29 23:03:30 +000080What's New
Guido van Rossum91cb9d21995-04-10 11:47:38 +000081----------
82
Guido van Rossum1c896e32007-08-29 23:03:30 +000083For an overview of what's new in Python 3000, see Guido van Rossum's
84blog at artima.com:
Guido van Rossum64773801997-11-26 17:07:02 +000085
Guido van Rossum1c896e32007-08-29 23:03:30 +000086 http://www.artima.com/weblogs/index.jsp?blogger=guido
Guido van Rossum64773801997-11-26 17:07:02 +000087
Guido van Rossum1c896e32007-08-29 23:03:30 +000088We'll eventually have a comprehensive overview of the changes in a
89"What's New in Python 3.0" document. Please help write it!
Jack Jansena39ef862001-08-19 21:17:03 +000090
Guido van Rossum91cb9d21995-04-10 11:47:38 +000091
Guido van Rossum1c896e32007-08-29 23:03:30 +000092Converting From Python 2.x to 3.0
93---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000094
Guido van Rossum1c896e32007-08-29 23:03:30 +000095Python 2.6 (not yet released) will contain features to help locating
96code that needs to be changed, such as optional warnings when
97deprecated features are used, and backported versions of certain key
98Python 3000 features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000099
Guido van Rossum1c896e32007-08-29 23:03:30 +0000100A source-to-source translation tool, "2to3", can take care of the
101mundane task of converting large amounts of source code. It is not a
102complete solution but is complemented by the deprecation warnings in
1032.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000104
Guido van Rossum1c896e32007-08-29 23:03:30 +0000105 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:32 +0000106
107
Guido van Rossum1c896e32007-08-29 23:03:30 +0000108Issue Tracker and Mailing List
109------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000110
Guido van Rossum1c896e32007-08-29 23:03:30 +0000111We're soliciting bug reports about all aspects of the language. Fixes
112are also welcome, preferable in unified diff format. Please use the
113issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +0000114
Guido van Rossum1c896e32007-08-29 23:03:30 +0000115 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000116
Guido van Rossum1c896e32007-08-29 23:03:30 +0000117If you're not sure whether you're dealing with a bug or a feature, use
118the mailing list:
119
120 python-3000@python.org
121
122To subscribe to the list, use the mailman form:
123
124 http://mail.python.org/mailman/listinfo/python-3000/
Georg Brandl81299ad2006-02-20 10:24:06 +0000125
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000126
Guido van Rossum1c896e32007-08-29 23:03:30 +0000127Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02 +0000128------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000129
Guido van Rossum1c896e32007-08-29 23:03:30 +0000130On Unix, Linx, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000131
Guido van Rossum1c896e32007-08-29 23:03:30 +0000132 ./configure
133 make
134 make test
135 sudo make install # or "make altinstall"
136
137You can pass many options to the configure script; run "./configure
138--help" to find out more. On OSX and Cygwin, the executable is called
139python.exe; elsewhere it's just python.
140
141On Mac OS X, if you have configured Python with --enable-framework,
142you should use "make frameworkinstall" to do the installation. Note
143that this installs the Python executable in a place that is not
144normally on your PATH, you may want to set up a symlink in
145/usr/local/bin.
146
Martin v. Löwis0c3842f2007-08-30 05:34:10 +0000147On Windows, see PCbuild/readme.txt.
148
Guido van Rossum1c896e32007-08-29 23:03:30 +0000149If you wish, you can create a subdirectory and invoke configure from
150there. For example:
151
152 mkdir debug
153 cd debug
154 ../configure --with-pydebug
155 make
156 make test
157
158(This will fail if you *also* built at the top-level directory. You
159should do a "make clean" at the toplevel first.)