blob: 8b9d01298c94678a62411e2861d7ec045936c16b [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 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
14until 2008. In particular there are plans to reorganize the standard
15library namespace.
16
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 Rossum1c896e32007-08-29 23:03:30 +000058Converting From Python 2.x to 3.0
59---------------------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000060
Guido van Rossum1c896e32007-08-29 23:03:30 +000061Python 2.6 (not yet released) will contain features to help locating
62code that needs to be changed, such as optional warnings when
63deprecated features are used, and backported versions of certain key
64Python 3000 features.
Guido van Rossum433c8ad1994-08-01 12:07:07 +000065
Guido van Rossum1c896e32007-08-29 23:03:30 +000066A source-to-source translation tool, "2to3", can take care of the
67mundane task of converting large amounts of source code. It is not a
68complete solution but is complemented by the deprecation warnings in
692.6. This tool is currently available via the Subversion sandbox:
Guido van Rossum433c8ad1994-08-01 12:07:07 +000070
Guido van Rossum1c896e32007-08-29 23:03:30 +000071 http://svn.python.org/view/sandbox/trunk/2to3/
Martin v. Löwis2df66942000-12-13 14:14:32 +000072
73
Guido van Rossum1c896e32007-08-29 23:03:30 +000074Issue Tracker and Mailing List
75------------------------------
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +000076
Guido van Rossum1c896e32007-08-29 23:03:30 +000077We're soliciting bug reports about all aspects of the language. Fixes
78are also welcome, preferable in unified diff format. Please use the
79issue tracker:
Fred Drake6caae142000-10-25 17:51:02 +000080
Guido van Rossum1c896e32007-08-29 23:03:30 +000081 http://bugs.python.org/
Guido van Rossum76be6ed1995-01-02 18:33:54 +000082
Guido van Rossum1c896e32007-08-29 23:03:30 +000083If you're not sure whether you're dealing with a bug or a feature, use
84the mailing list:
85
86 python-3000@python.org
87
88To subscribe to the list, use the mailman form:
89
90 http://mail.python.org/mailman/listinfo/python-3000/
Georg Brandl81299ad2006-02-20 10:24:06 +000091
Michael W. Hudson71dcc3e2005-02-22 15:33:26 +000092
Guido van Rossum1c896e32007-08-29 23:03:30 +000093Build Instructions
Guido van Rossumc07d5fa2000-09-01 22:50:02 +000094------------------
Guido van Rossum433c8ad1994-08-01 12:07:07 +000095
Guido van Rossum1c896e32007-08-29 23:03:30 +000096On Unix, Linx, BSD, OSX, and Cygwin:
Guido van Rossum433c8ad1994-08-01 12:07:07 +000097
Guido van Rossum1c896e32007-08-29 23:03:30 +000098 ./configure
99 make
100 make test
101 sudo make install # or "make altinstall"
102
103You can pass many options to the configure script; run "./configure
104--help" to find out more. On OSX and Cygwin, the executable is called
105python.exe; elsewhere it's just python.
106
107On Mac OS X, if you have configured Python with --enable-framework,
108you should use "make frameworkinstall" to do the installation. Note
109that this installs the Python executable in a place that is not
110normally on your PATH, you may want to set up a symlink in
111/usr/local/bin.
112
Martin v. Löwis0c3842f2007-08-30 05:34:10 +0000113On Windows, see PCbuild/readme.txt.
114
Guido van Rossum1c896e32007-08-29 23:03:30 +0000115If you wish, you can create a subdirectory and invoke configure from
116there. For example:
117
118 mkdir debug
119 cd debug
120 ../configure --with-pydebug
121 make
122 make test
123
124(This will fail if you *also* built at the top-level directory. You
125should do a "make clean" at the toplevel first.)
Guido van Rossumef0f1292007-08-30 14:51:05 +0000126
127
128Copyright and License Information
129---------------------------------
130
131Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006, 2007
132Python Software Foundation.
133All rights reserved.
134
135Copyright (c) 2000 BeOpen.com.
136All rights reserved.
137
138Copyright (c) 1995-2001 Corporation for National Research Initiatives.
139All rights reserved.
140
141Copyright (c) 1991-1995 Stichting Mathematisch Centrum.
142All rights reserved.
143
144See the file "LICENSE" for information on the history of this
145software, terms & conditions for usage, and a DISCLAIMER OF ALL
146WARRANTIES.
147
148This Python distribution contains *no* GNU General Public License
149(GPL) code, so it may be used in proprietary projects. There are
150interfaces to some GNU code but these are entirely optional.
151
152All trademarks referenced herein are property of their respective
153holders.