blob: 6aec2a495ed2cb0326c059e3f412ddcb09351bd4 [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
Guido van Rossum1c896e32007-08-29 23:03:30 +000054We'll eventually have a comprehensive overview of the changes in a
55"What's New in Python 3.0" document. Please help write it!
Jack Jansena39ef862001-08-19 21:17:03 +000056
Guido van Rossum91cb9d21995-04-10 11:47:38 +000057
Guido van Rossum99533a92007-12-06 05:07:41 +000058What's New Since 3.0a1
59----------------------
60
61Undoubtedly the biggest change is in the bytes type: 'bytes' is now
62immutable, and there is a new mutable bytes type 'bytearray'. These
63two types are interoperable in every way. For more info on this
64issue, read PEP 3137.
65
66For a more detailed change log, read Misc/NEWS (though this file, too,
67is incomplete, and also doesn't list anything merged in from the 2.6
68release under development).
69
70
Guido van Rossum1c896e32007-08-29 23:03:30 +000071Converting From Python 2.x to 3.0
72---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000073
Guido van Rossum1c896e32007-08-29 23:03:30 +000074Python 2.6 (not yet released) will contain features to help locating
75code that needs to be changed, such as optional warnings when
76deprecated features are used, and backported versions of certain key
77Python 3000 features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000078
Guido van Rossum1c896e32007-08-29 23:03:30 +000079A source-to-source translation tool, "2to3", can take care of the
80mundane task of converting large amounts of source code. It is not a
81complete solution but is complemented by the deprecation warnings in
822.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:07 +000083
Guido van Rossum1c896e32007-08-29 23:03:30 +000084 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:32 +000085
86
Guido van Rossum1c896e32007-08-29 23:03:30 +000087Issue Tracker and Mailing List
88------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +000089
Guido van Rossum1c896e32007-08-29 23:03:30 +000090We're soliciting bug reports about all aspects of the language. Fixes
91are also welcome, preferable in unified diff format. Please use the
92issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +000093
Guido van Rossum1c896e32007-08-29 23:03:30 +000094 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +000095
Guido van Rossum1c896e32007-08-29 23:03:30 +000096If you're not sure whether you're dealing with a bug or a feature, use
97the mailing list:
98
99 python-3000@python.org
100
101To subscribe to the list, use the mailman form:
102
103 http://mail.python.org/mailman/listinfo/python-3000/
Georg Brandl81299ad2006-02-20 10:24:06 +0000104
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000105
Guido van Rossum1c896e32007-08-29 23:03:30 +0000106Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02 +0000107------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000108
Neal Norwitzbf2604c2007-08-30 17:22:44 +0000109On Unix, Linux, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000110
Guido van Rossum1c896e32007-08-29 23:03:30 +0000111 ./configure
112 make
113 make test
114 sudo make install # or "make altinstall"
115
116You can pass many options to the configure script; run "./configure
117--help" to find out more. On OSX and Cygwin, the executable is called
118python.exe; elsewhere it's just python.
119
120On Mac OS X, if you have configured Python with --enable-framework,
121you should use "make frameworkinstall" to do the installation. Note
122that this installs the Python executable in a place that is not
123normally on your PATH, you may want to set up a symlink in
124/usr/local/bin.
125
Martin v. Löwis0c3842f2007-08-30 05:34:10 +0000126On Windows, see PCbuild/readme.txt.
127
Guido van Rossum1c896e32007-08-29 23:03:30 +0000128If you wish, you can create a subdirectory and invoke configure from
129there. For example:
130
131 mkdir debug
132 cd debug
133 ../configure --with-pydebug
134 make
135 make test
136
137(This will fail if you *also* built at the top-level directory. You
138should do a "make clean" at the toplevel first.)
Guido van Rossumef0f1292007-08-30 14:51:05 +0000139
140
141Copyright and License Information
142---------------------------------
143
144Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007
145Python Software Foundation.
146All rights reserved.
147
148Copyright (c) 2000 BeOpen.com.
149All rights reserved.
150
151Copyright (c) 1995-2001 Corporation for National Research Initiatives.
152All rights reserved.
153
154Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
155All rights reserved.
156
157See the file "LICENSE" for information on the history of this
158software, terms & conditions for usage, and a DISCLAIMER OF ALL
159WARRANTIES.
160
161This Python distribution contains *no* GNU General Public License
162(GPL) code, so it may be used in proprietary projects. There are
163interfaces to some GNU code but these are entirely optional.
164
165All trademarks referenced herein are property of their respective
166holders.