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