blob: e9d00a99b5692d15565a49878baaffc6ece71ca2 [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
Benjamin Peterson2a691a82008-03-31 01:51:45 +000040All documentation is also available online at the Python web site
41(http://docs.python.org/, see below). It is available online for occasional
42reference, or can be downloaded in many formats for faster access. The
43documentation is downloadable in HTML, PostScript, PDF, LaTeX (through 2.5), and
44reStructuredText (2.6+) formats; the LaTeX and reStructuredText versions are
45primarily for documentation authors, translators, and people with special
46formatting requirements.
47
Guido van Rossum1c896e32007-08-29 23:03:30 +000048This is a work in progress; please help improve it!
Barry Warsaw06557452001-12-14 20:47:12 +000049
Guido van Rossum1c896e32007-08-29 23:03:30 +000050The design documents for Python 3000 are also online. While the
51reference documentation is being updated, the PEPs are often the best
52source of information about new features. Start by reading PEP 3000:
Barry Warsaw06557452001-12-14 20:47:12 +000053
Guido van Rossum1c896e32007-08-29 23:03:30 +000054 http://python.org/dev/peps/pep-3000/
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000055
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000056
Guido van Rossum1c896e32007-08-29 23:03:30 +000057What's New
Guido van Rossum91cb9d21995-04-10 11:47:38 +000058----------
59
Guido van Rossum1c896e32007-08-29 23:03:30 +000060For an overview of what's new in Python 3000, see Guido van Rossum's
61blog at artima.com:
Guido van Rossum64773801997-11-26 17:07:02 +000062
Guido van Rossum1c896e32007-08-29 23:03:30 +000063 http://www.artima.com/weblogs/index.jsp?blogger=guido
Guido van Rossum64773801997-11-26 17:07:02 +000064
Georg Brandlf3f67f22008-02-22 14:22:51 +000065We try to eventually have a comprehensive overview of the changes in
66the "What's New in Python 3.0" document, found at
67
68 http://docs.python.org/dev/3.0/whatsnew/3.0
69
70Please help write it!
Jack Jansena39ef862001-08-19 21:17:03 +000071
Christian Heimesdd15f6c2008-03-16 00:07:10 +000072If you want to install multiple versions of Python see the section below
73entitled "Installing multiple versions".
74
Guido van Rossum91cb9d21995-04-10 11:47:38 +000075
Guido van Rossum99533a92007-12-06 05:07:41 +000076What's New Since 3.0a1
77----------------------
78
79Undoubtedly the biggest change is in the bytes type: 'bytes' is now
80immutable, and there is a new mutable bytes type 'bytearray'. These
81two types are interoperable in every way. For more info on this
82issue, read PEP 3137.
83
84For a more detailed change log, read Misc/NEWS (though this file, too,
85is incomplete, and also doesn't list anything merged in from the 2.6
86release under development).
87
Benjamin Peterson2a691a82008-03-31 01:51:45 +000088Proposals for enhancement
89------------------------------
90
Benjamin Petersonad9d48d2008-04-02 21:49:44 +000091If you have a proposal to change Python, you may want to send an email to the
92comp.lang.python or python-ideas mailing lists for inital feedback. A Python
93Enhancement Proposal (PEP) may be submitted if your idea gains ground. All
94current PEPs, as well as guidelines for submitting a new PEP, are listed at
95http://www.python.org/dev/peps/.
Guido van Rossum99533a92007-12-06 05:07:41 +000096
Guido van Rossum1c896e32007-08-29 23:03:30 +000097Converting From Python 2.x to 3.0
98---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000099
Guido van Rossum1c896e32007-08-29 23:03:30 +0000100Python 2.6 (not yet released) will contain features to help locating
101code that needs to be changed, such as optional warnings when
102deprecated features are used, and backported versions of certain key
103Python 3000 features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000104
Christian Heimesdd15f6c2008-03-16 00:07:10 +0000105
106Installing multiple versions
107----------------------------
108
109On Unix and Mac systems if you intend to install multiple versions of Python
110using the same installation prefix (--prefix argument to the configure
111script) you must take care that your primary python executable is not
112overwritten by the installation of a different versio. All files and
113directories installed using "make altinstall" contain the major and minor
114version and can thus live side-by-side. "make install" also creates
115${prefix}/bin/python which refers to ${prefix}/bin/pythonX.Y. If you intend
116to install multiple versions using the same prefix you must decide which
117version (if any) is your "primary" version. Install that version using
118"make install". Install all other versions using "make altinstall".
119
120For example, if you want to install Python 2.5, 2.6 and 3.0 with 2.6 being
121the primary version, you would execute "make install" in your 2.6 build
122directory and "make altinstall" in the others.
123
124
125Configuration options and variables
126-----------------------------------
127
Guido van Rossum1c896e32007-08-29 23:03:30 +0000128A source-to-source translation tool, "2to3", can take care of the
129mundane task of converting large amounts of source code. It is not a
130complete solution but is complemented by the deprecation warnings in
1312.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000132
Guido van Rossum1c896e32007-08-29 23:03:30 +0000133 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:32 +0000134
135
Guido van Rossum1c896e32007-08-29 23:03:30 +0000136Issue Tracker and Mailing List
137------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000138
Guido van Rossum1c896e32007-08-29 23:03:30 +0000139We're soliciting bug reports about all aspects of the language. Fixes
140are also welcome, preferable in unified diff format. Please use the
141issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +0000142
Guido van Rossum1c896e32007-08-29 23:03:30 +0000143 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +0000144
Guido van Rossum1c896e32007-08-29 23:03:30 +0000145If you're not sure whether you're dealing with a bug or a feature, use
146the mailing list:
147
148 python-3000@python.org
149
150To subscribe to the list, use the mailman form:
151
152 http://mail.python.org/mailman/listinfo/python-3000/
Georg Brandl81299ad2006-02-20 10:24:06 +0000153
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +0000154
Guido van Rossum1c896e32007-08-29 23:03:30 +0000155Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02 +0000156------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000157
Neal Norwitzbf2604c2007-08-30 17:22:44 +0000158On Unix, Linux, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07 +0000159
Guido van Rossum1c896e32007-08-29 23:03:30 +0000160 ./configure
161 make
162 make test
163 sudo make install # or "make altinstall"
164
165You can pass many options to the configure script; run "./configure
166--help" to find out more. On OSX and Cygwin, the executable is called
167python.exe; elsewhere it's just python.
168
169On Mac OS X, if you have configured Python with --enable-framework,
170you should use "make frameworkinstall" to do the installation. Note
171that this installs the Python executable in a place that is not
172normally on your PATH, you may want to set up a symlink in
173/usr/local/bin.
174
Martin v. Löwis0c3842f2007-08-30 05:34:10 +0000175On Windows, see PCbuild/readme.txt.
176
Guido van Rossum1c896e32007-08-29 23:03:30 +0000177If you wish, you can create a subdirectory and invoke configure from
178there. For example:
179
180 mkdir debug
181 cd debug
182 ../configure --with-pydebug
183 make
184 make test
185
186(This will fail if you *also* built at the top-level directory. You
187should do a "make clean" at the toplevel first.)
Guido van Rossumef0f1292007-08-30 14:51:05 +0000188
189
190Copyright and License Information
191---------------------------------
192
Barry Warsaw659fc422008-03-01 17:45:23 +0000193Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008
Guido van Rossumef0f1292007-08-30 14:51:05 +0000194Python Software Foundation.
195All rights reserved.
196
197Copyright (c) 2000 BeOpen.com.
198All rights reserved.
199
200Copyright (c) 1995-2001 Corporation for National Research Initiatives.
201All rights reserved.
202
203Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
204All rights reserved.
205
206See the file "LICENSE" for information on the history of this
207software, terms & conditions for usage, and a DISCLAIMER OF ALL
208WARRANTIES.
209
210This Python distribution contains *no* GNU General Public License
211(GPL) code, so it may be used in proprietary projects. There are
212interfaces to some GNU code but these are entirely optional.
213
214All trademarks referenced herein are property of their respective
215holders.