blob: e765d12f523746e544b7c84e3669b1518bbc6456 [file] [log] [blame]
Guido van Rossum99533a92007-12-06 05:07:41 +00001This is Python version 3.0 alpha 2
Guido van Rossum1c896e32007-08-29 23:03:30 +00002==================================
Guido van Rossum91447632000-04-11 17:11:09 +00003
Guido van Rossum4405cf32007-08-30 17:16:55 +00004For notes specific to this release, see RELNOTES in this directory.
5
Guido van Rossum1c896e32007-08-29 23:03:30 +00006Python 3000 (a.k.a. "Py3k", and released as Python 3.0) is a new
7version of the language, which is incompatible with the 2.x line of
8releases. The language is mostly the same, but many details,
9especially how built-in objects like dictionaries and strings work,
10have changed considerably, and a lot of deprecated features have
11finally been removed.
12
13This is an ongoing project; the cleanup isn't expected to be complete
Guido van Rossum99533a92007-12-06 05:07:41 +000014until some time in 2008. In particular there are plans to reorganize
15the standard library namespace.
Guido van Rossum1c896e32007-08-29 23:03:30 +000016
Guido van Rossum50e9fb92006-08-17 05:42:55 +000017
Guido van Rossum1c896e32007-08-29 23:03:30 +000018Release Schedule
19----------------
Guido van Rossum3ff96dd1996-07-30 18:05:04 +000020
Guido van Rossum1c896e32007-08-29 23:03:30 +000021The release plan is to have a series of alpha releases in 2007, beta
22releases in 2008, and a final release in August 2008. The alpha
23releases are primarily aimed at developers who want a sneak peek at
24the new langauge, especially those folks who plan to port their code
25to Python 3000. The hope is that by the time of the final release,
26many 3rd party packages will already be available in a 3.0-compatible
27form.
Guido van Rossum8d90f9d1997-05-22 20:13:25 +000028
Guido van Rossumf501b4e1996-10-25 14:32:48 +000029
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000030Documentation
31-------------
Guido van Rossum91cb9d21995-04-10 11:47:38 +000032
Guido van Rossum1c896e32007-08-29 23:03:30 +000033Documentation for Python 3000 is online, updated twice a day:
Guido van Rossum91cb9d21995-04-10 11:47:38 +000034
Guido van Rossum1c896e32007-08-29 23:03:30 +000035 http://docs.python.org/dev/3.0/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000036
Guido van Rossum1c896e32007-08-29 23:03:30 +000037This is a work in progress; please help improve it!
Barry Warsaw06557452001-12-14 20:47:12 +000038
Guido van Rossum1c896e32007-08-29 23:03:30 +000039The design documents for Python 3000 are also online. While the
40reference documentation is being updated, the PEPs are often the best
41source of information about new features. Start by reading PEP 3000:
Barry Warsaw06557452001-12-14 20:47:12 +000042
Guido van Rossum1c896e32007-08-29 23:03:30 +000043 http://python.org/dev/peps/pep-3000/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000044
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000045
Guido van Rossum1c896e32007-08-29 23:03:30 +000046What's New
Guido van Rossum91cb9d21995-04-10 11:47:38 +000047----------
48
Guido van Rossum1c896e32007-08-29 23:03:30 +000049For an overview of what's new in Python 3000, see Guido van Rossum's
50blog at artima.com:
Guido van Rossum64773801997-11-26 17:07:02 +000051
Guido van Rossum1c896e32007-08-29 23:03:30 +000052 http://www.artima.com/weblogs/index.jsp?blogger=guido
Guido van Rossum64773801997-11-26 17:07:02 +000053
Georg Brandlf3f67f22008-02-22 14:22:51 +000054We try to eventually have a comprehensive overview of the changes in
55the "What's New in Python 3.0" document, found at
56
57 http://docs.python.org/dev/3.0/whatsnew/3.0
58
59Please help write it!
Jack Jansena39ef862001-08-19 21:17:03 +000060
Guido van Rossum91cb9d21995-04-10 11:47:38 +000061
Guido van Rossum99533a92007-12-06 05:07:41 +000062What's New Since 3.0a1
63----------------------
64
65Undoubtedly the biggest change is in the bytes type: 'bytes' is now
66immutable, and there is a new mutable bytes type 'bytearray'. These
67two types are interoperable in every way. For more info on this
68issue, read PEP 3137.
69
70For a more detailed change log, read Misc/NEWS (though this file, too,
71is incomplete, and also doesn't list anything merged in from the 2.6
72release under development).
73
74
Guido van Rossum1c896e32007-08-29 23:03:30 +000075Converting From Python 2.x to 3.0
76---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000077
Guido van Rossum1c896e32007-08-29 23:03:30 +000078Python 2.6 (not yet released) will contain features to help locating
79code that needs to be changed, such as optional warnings when
80deprecated features are used, and backported versions of certain key
81Python 3000 features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000082
Guido van Rossum1c896e32007-08-29 23:03:30 +000083A source-to-source translation tool, "2to3", can take care of the
84mundane task of converting large amounts of source code. It is not a
85complete solution but is complemented by the deprecation warnings in
862.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:07 +000087
Guido van Rossum1c896e32007-08-29 23:03:30 +000088 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:32 +000089
90
Guido van Rossum1c896e32007-08-29 23:03:30 +000091Issue Tracker and Mailing List
92------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +000093
Guido van Rossum1c896e32007-08-29 23:03:30 +000094We're soliciting bug reports about all aspects of the language. Fixes
95are also welcome, preferable in unified diff format. Please use the
96issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +000097
Guido van Rossum1c896e32007-08-29 23:03:30 +000098 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +000099
Guido van Rossum1c896e32007-08-29 23:03:30 +0000100If you're not sure whether you're dealing with a bug or a feature, use
101the mailing list:
102
103 python-3000@python.org
104
105To subscribe to the list, use the mailman form:
106
107 http://mail.python.org/mailman/listinfo/python-3000/
Georg Brandl81299ad2006-02-20 10:24:06 +0000108
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000109
Guido van Rossum1c896e32007-08-29 23:03:30 +0000110Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02 +0000111------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000112
Neal Norwitzbf2604c2007-08-30 17:22:44 +0000113On Unix, Linux, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000114
Guido van Rossum1c896e32007-08-29 23:03:30 +0000115 ./configure
116 make
117 make test
118 sudo make install # or "make altinstall"
119
120You can pass many options to the configure script; run "./configure
121--help" to find out more. On OSX and Cygwin, the executable is called
122python.exe; elsewhere it's just python.
123
124On Mac OS X, if you have configured Python with --enable-framework,
125you should use "make frameworkinstall" to do the installation. Note
126that this installs the Python executable in a place that is not
127normally on your PATH, you may want to set up a symlink in
128/usr/local/bin.
129
Martin v. Löwis0c3842f2007-08-30 05:34:10 +0000130On Windows, see PCbuild/readme.txt.
131
Guido van Rossum1c896e32007-08-29 23:03:30 +0000132If you wish, you can create a subdirectory and invoke configure from
133there. For example:
134
135 mkdir debug
136 cd debug
137 ../configure --with-pydebug
138 make
139 make test
140
141(This will fail if you *also* built at the top-level directory. You
142should do a "make clean" at the toplevel first.)
Guido van Rossumef0f1292007-08-30 14:51:05 +0000143
144
145Copyright and License Information
146---------------------------------
147
148Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007
149Python Software Foundation.
150All rights reserved.
151
152Copyright (c) 2000 BeOpen.com.
153All rights reserved.
154
155Copyright (c) 1995-2001 Corporation for National Research Initiatives.
156All rights reserved.
157
158Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
159All rights reserved.
160
161See the file "LICENSE" for information on the history of this
162software, terms & conditions for usage, and a DISCLAIMER OF ALL
163WARRANTIES.
164
165This Python distribution contains *no* GNU General Public License
166(GPL) code, so it may be used in proprietary projects. There are
167interfaces to some GNU code but these are entirely optional.
168
169All trademarks referenced herein are property of their respective
170holders.