blob: 09071e1d09cd8df2232c717642467aaf45df638b [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
Guido van Rossum1c896e32007-08-29 23:03:30 +00004Python 3000 (a.k.a. "Py3k", and released as Python 3.0) is a new
5version of the language, which is incompatible with the 2.x line of
6releases. The language is mostly the same, but many details,
7especially how built-in objects like dictionaries and strings work,
8have changed considerably, and a lot of deprecated features have
9finally been removed.
10
11This is an ongoing project; the cleanup isn't expected to be complete
12until 2008. In particular there are plans to reorganize the standard
13library namespace.
14
15This README hasn't been fully updated for Python 3000 yet. If you see
16anything that should clearly be changed, fix it (if you have checkin
17permissions) or submit a patch to the issue tracker (see below).
Guido van Rossum50e9fb92006-08-17 05:42:55 +000018
19
Guido van Rossum1c896e32007-08-29 23:03:30 +000020Release Schedule
21----------------
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000022
Guido van Rossum1c896e32007-08-29 23:03:30 +000023The release plan is to have a series of alpha releases in 2007, beta
24releases in 2008, and a final release in August 2008. The alpha
25releases are primarily aimed at developers who want a sneak peek at
26the new langauge, especially those folks who plan to port their code
27to Python 3000. The hope is that by the time of the final release,
28many 3rd party packages will already be available in a 3.0-compatible
29form.
Guido van Rossum8d90f9d1997-05-22 20:13:25 +000030
Guido van Rossumf501b4e1996-10-25 14:32:48 +000031
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000032Documentation
33-------------
Guido van Rossum91cb9d21995-04-10 11:47:38 +000034
Guido van Rossum1c896e32007-08-29 23:03:30 +000035Documentation for Python 3000 is online, updated twice a day:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000036
Guido van Rossum1c896e32007-08-29 23:03:30 +000037 http://docs.python.org/dev/3.0/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000038
Guido van Rossum1c896e32007-08-29 23:03:30 +000039This is a work in progress; please help improve it!
Barry Warsaw06557452001-12-14 20:47:12 +000040
Guido van Rossum1c896e32007-08-29 23:03:30 +000041The design documents for Python 3000 are also online. While the
42reference documentation is being updated, the PEPs are often the best
43source of information about new features. Start by reading PEP 3000:
Barry Warsaw06557452001-12-14 20:47:12 +000044
Guido van Rossum1c896e32007-08-29 23:03:30 +000045 http://python.org/dev/peps/pep-3000/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000046
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000047
Guido van Rossum1c896e32007-08-29 23:03:30 +000048What's New
Guido van Rossum91cb9d21995-04-10 11:47:38 +000049----------
50
Guido van Rossum1c896e32007-08-29 23:03:30 +000051For an overview of what's new in Python 3000, see Guido van Rossum's
52blog at artima.com:
Guido van Rossum64773801997-11-26 17:07:02 +000053
Guido van Rossum1c896e32007-08-29 23:03:30 +000054 http://www.artima.com/weblogs/index.jsp?blogger=guido
Guido van Rossum64773801997-11-26 17:07:02 +000055
Guido van Rossum1c896e32007-08-29 23:03:30 +000056We'll eventually have a comprehensive overview of the changes in a
57"What's New in Python 3.0" document. Please help write it!
Jack Jansena39ef862001-08-19 21:17:03 +000058
Guido van Rossum91cb9d21995-04-10 11:47:38 +000059
Guido van Rossum1c896e32007-08-29 23:03:30 +000060Converting From Python 2.x to 3.0
61---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000062
Guido van Rossum1c896e32007-08-29 23:03:30 +000063Python 2.6 (not yet released) will contain features to help locating
64code that needs to be changed, such as optional warnings when
65deprecated features are used, and backported versions of certain key
66Python 3000 features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000067
Guido van Rossum1c896e32007-08-29 23:03:30 +000068A source-to-source translation tool, "2to3", can take care of the
69mundane task of converting large amounts of source code. It is not a
70complete solution but is complemented by the deprecation warnings in
712.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:07 +000072
Guido van Rossum1c896e32007-08-29 23:03:30 +000073 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:32 +000074
75
Guido van Rossum1c896e32007-08-29 23:03:30 +000076Issue Tracker and Mailing List
77------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +000078
Guido van Rossum1c896e32007-08-29 23:03:30 +000079We're soliciting bug reports about all aspects of the language. Fixes
80are also welcome, preferable in unified diff format. Please use the
81issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +000082
Guido van Rossum1c896e32007-08-29 23:03:30 +000083 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +000084
Guido van Rossum1c896e32007-08-29 23:03:30 +000085If you're not sure whether you're dealing with a bug or a feature, use
86the mailing list:
87
88 python-3000@python.org
89
90To subscribe to the list, use the mailman form:
91
92 http://mail.python.org/mailman/listinfo/python-3000/
Georg Brandl81299ad2006-02-20 10:24:06 +000093
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +000094
Guido van Rossum1c896e32007-08-29 23:03:30 +000095Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000096------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000097
Guido van Rossum1c896e32007-08-29 23:03:30 +000098On Unix, Linx, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07 +000099
Guido van Rossum1c896e32007-08-29 23:03:30 +0000100 ./configure
101 make
102 make test
103 sudo make install # or "make altinstall"
104
105You can pass many options to the configure script; run "./configure
106--help" to find out more. On OSX and Cygwin, the executable is called
107python.exe; elsewhere it's just python.
108
109On Mac OS X, if you have configured Python with --enable-framework,
110you should use "make frameworkinstall" to do the installation. Note
111that this installs the Python executable in a place that is not
112normally on your PATH, you may want to set up a symlink in
113/usr/local/bin.
114
Martin v. Löwis0c3842f2007-08-30 05:34:10 +0000115On Windows, see PCbuild/readme.txt.
116
Guido van Rossum1c896e32007-08-29 23:03:30 +0000117If you wish, you can create a subdirectory and invoke configure from
118there. For example:
119
120 mkdir debug
121 cd debug
122 ../configure --with-pydebug
123 make
124 make test
125
126(This will fail if you *also* built at the top-level directory. You
127should do a "make clean" at the toplevel first.)
Guido van Rossumef0f1292007-08-30 14:51:05 +0000128
129
130Copyright and License Information
131---------------------------------
132
133Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007
134Python Software Foundation.
135All rights reserved.
136
137Copyright (c) 2000 BeOpen.com.
138All rights reserved.
139
140Copyright (c) 1995-2001 Corporation for National Research Initiatives.
141All rights reserved.
142
143Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
144All rights reserved.
145
146See the file "LICENSE" for information on the history of this
147software, terms & conditions for usage, and a DISCLAIMER OF ALL
148WARRANTIES.
149
150This Python distribution contains *no* GNU General Public License
151(GPL) code, so it may be used in proprietary projects. There are
152interfaces to some GNU code but these are entirely optional.
153
154All trademarks referenced herein are property of their respective
155holders.