Notice: While JavaScript is not essential for this website, your interaction with the content will be limited. Please turn JavaScript on for the full experience.
Foreword for "Programming Python" (1st ed.) Foreword for "Programming Python" (1st ed.) This is the foreword I wrote for Mark Lutz' book "Programming Python" (1st ed.), published by O'Reilly. See also my foreword to the 2nd edition. As Python's creator, I'd like to say a few words about its origins, adding a bit of personal philosophy. Over six years ago, in December 1989, I was looking for a "hobby" programming project that would keep me occupied during the we...
Python Patterns - Implementing Graphs Warning This page stays here for historical reasons and it may contain outdated or incorrect information. Change notes: 2/22/98, 3/2/98, 12/4/00: This version of this essay fixes several bugs in the code. 6/10/19: Retraction of find_shortest_path as "nearly optimal". 8/11/19: Fix accidental usage of find_graph() instead of find_path() Copyright (c) 1998, 2000, 2003, 2019 Python Software Foundation. All rights reserved. License...
Metaclasses in Python 1.5 Metaclasses in Python 1.5 (A.k.a. The Killer Joke :-) (Postscript: reading this essay is probably not the best way to understand the metaclass hook described here. See a message posted by Vladimir Marangozov which may give a gentler introduction to the matter. You may also want to search Deja News for messages with "metaclass" in the subject posted to comp.lang.python in July and August 1998.) In previous Python releases (and still in 1.5), there ...
Glue It All Together With Python Glue It All Together With Python Guido van Rossum CNRI 1895 Preston White Drive Reston, VA 20191 Email: guido@cnri.reston.va.us, guido@python.org Position paper for the OMG-DARPA-MCC Workshop on Compositional Software Architecture in Monterey, California, January 6-8, 1998. Introduction Python is an advanced scripting language that is being used successfully to glue together large software components. It spans multiple platforms, mid...
Debugging Reference Count Problems Warning This page stays here for historical reasons and it may contain outdated or incorrect information. Debugging Reference Count Problems From: Guido van Rossum <guido@CNRI.Reston.VA.US> To: python-list@cwi.nl Date: Wed, 27 May 1998 11:09:40 -0400 Mike Fletcher wrote a number of posts about debugging C code that bombs, probably because of reference count problems. His approach to debugging this problem seems typical, but I thin...
Python Style Guide Python Style Guide Author: Guido van Rossum The style guide originally at this URL has been turned into two PEPs (Python Enhancement Proposals): PEP 8 for the main text, and PEP 257 for docstring conventions.
Python Humor Here is a spurious collection of semi to totally unserious stuff, mostly postings found wafting gently in the comp.lang.python newsgroup (a.k.a. the python-list mailing list). See also Andrew Kuchling's collection of Python quotations, containing in a condensed form some sterling examples of the wit and wisdom encountered in the Python world. Contents The Zen of Python Fundamental... Cute Wabbit Shooting Yourself in the Foot Legal Issues Python vs Tcl vs Perl5 Python Object Orie...
New-style Classes Warning New-style classes has been integrated into Python 2.7 and old-style classes has been removed in Python 3. Please refer to the Python tutorial and the Descriptor HowTo Guide for more up-to-date documentation about classes and descriptors respectively. Unfortunately, new-style classes have not yet been integrated into Python's standard documentation. Fear not, however; many people have worked to provide useful information on creating and using new-style classes: Unif...
Slideshow Collections for Instructional Use We are collecting and making available slideshows for reading at your own pace and reuse in your presentations. The preferred format is reStructuredText/S5 since it can be easily edited without special software and converted into various delivery formats. Where possible, speaker notes are included to give the slides meaning without an audio overlay. Preparing for Screencasting Advice on how to get started giving screencasts, why you might want to...
Python documentation by version Some previous versions of the documentation remain available online. Use the list below to select a version to view. For unreleased (in development) documentation, see In development versions. Python 3.14.0, documentation released on 7 October 2025. Python 3.13.9, documentation released on 14 October 2025. Python 3.13.8, documentation released on 7 October 2025. Python 3.13.7, documentation released on 14 August 2025. Python 3.13.6, documentation released on 6...
Python for Mac OS X Python for Mac OS X Python comes pre-installed on Mac OS X so it is easy to start using. However, to take advantage of the latest versions of Python, you will need to download and install newer versions alongside the system ones. The easiest way to do that is to install one of the binary installers for OS X from the Python Download page. Installers are available for the latest Python 3 and Python 2 releases that will work on all Macs that run Mac OS X 10.5 and later. Py...
Download Python for other platforms Python has been ported to a number of specialized and/or older platforms, listed below in alphabetical order. Note that these ports often lag well behind the latest Python release. Python for AIX AIX binary packages for Python are available from IBM AIX Toolbox in RPM format. They can be installed using dnf package manager. Visit the Get Started page for more details. Python for HP-UX You can purchase ActivePython (commercial and community versions, in...
Releases Python releases are now listed on the downloads page. This page only provides links to older releases which are not listed in the release database. Python 1.6.1 (September 2000) Python 1.5.2 (April 1999) Older source releases (1.0.1 - 1.6) Ancient source releases (pre 1.0) Python 1.5 binaries Python 1.4 binaries Python 1.3 binaries Python 1.2 binaries Python 1.1 binaries
Python 1.5.2 Python 1.5.2 Do yourself a favor and get a more recent version! On 13 April 1999, the final version of Python 1.5.2 was released: Python 1.5.2 sources (2.5 MB) Python 1.5.2 installer for Windows (5.0 MB) What's new in 1.5.2? Documentation (both online and downloadable) Note: the Python installer for Windows includes the Tcl/Tk 8.0.5 installer. See the Tkinter resource guide for troubleshooting the Tcl/Tk installation. Windows users may also be interested in Mark Hammond's win...
Download Python 1.6 Source <h2>Python 1.6</h2> <p>CNRI OPEN SOURCE LICENSE AGREEMENT</p> </center> <br><br> <p>IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY.</p> <p>BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.</p> <p>1. This LICENSE AGREEMENT is betwee...
Download Python 1.6 Windows Installer <h2>Python 1.6</h2> <p>CNRI OPEN SOURCE LICENSE AGREEMENT</p> </center> <br><br> <p>IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY.</p> <p>BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT.</p> <p>1. This LICENSE AGREEMEN...
Python 1.6 License FAQ Python 1.6 License FAQ This FAQ addresses questions concerning the CNRI Open Source License and its impact on past and future Python releases. The text below has been approved for posting on the Python website and newsgroup by CNRI's president, Dr. Robert E. Kahn. The old Python license from CWI worked well for almost 10 years. Why a new license for Python 1.6? CNRI claims copyright in Python code and documentation from releases 1.3 through 1.6 inc...
Download Python 1.6.1 Source Python 1.6.1 CNRI OPEN SOURCE GPL-COMPATIBLE LICENSE AGREEMENT IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6.1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 Preston Whit...
Download Python 1.6.1 Windows Installer Python 1.6.1 CNRI OPEN SOURCE GPL-COMPATIBLE LICENSE AGREEMENT IMPORTANT: PLEASE READ THE FOLLOWING AGREEMENT CAREFULLY. BY CLICKING ON "ACCEPT" WHERE INDICATED BELOW, OR BY COPYING, INSTALLING OR OTHERWISE USING PYTHON 1.6.1 SOFTWARE, YOU ARE DEEMED TO HAVE AGREED TO THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT. 1. This LICENSE AGREEMENT is between the Corporation for National Research Initiatives, having an office at 1895 P...
If you didn't find what you need, try your search in the Python language documentation.