O'Reilly published the 3rd edition of the book Programming Python in August 2006. This 1500-page edition is an updated and expanded version of the 2nd Edition, with new material on GUIs, systems programming, Internet scripting, databases, C integration, and more, as well as up-to-date coverage for Python 2.5.
Although it has been expanded and revised, this third edition retains the applications-programming focus of the prior edition. It's about what you can do with Python after you've learned the core language. As a gradual tutorial for applications work, this edition is designed to be a natural follow-up to the language fundamentals book Learning Python, and augmented by the reference book Python Pocket Reference.
Given its in-depth coverage of each of its target domains, this edition is essentially like 4 or 5 books in one. It comes with some 350 pages on GUIs, 500 on Internet programming, and so on. Along the way, larger development concepts such as OOP and code reuse are put into action in practical and realistically-scaled programs you'll want to refer to and use.
See the following links for more details on this book:
Where's the examples CD? We opted for an online distribution of the examples in this edition instead of a CD, to allow for updates. Be sure to fetch the examples package from the link above to work along and experiment with the code. It's a free download at O'Reilly's site. After unpacking with Winzip, gzip/tar, or other tools, run its top-level Examples\PP3E\Launch_PyDemos.pyw for a quick look at major book examples.
Is there a paperless version? On O'Reilly's catalog page listed above you'll notice that they sell this edition in both paper and PDF file forms. The latter is convenient for searching and cut and paste of code, and when you don't want to carry around a 1500+ page book. The PDF file is only 14M, and fits comfortably on a USB key. I believe this book is also available on O'Reilly's on-line Safari service.
Will there be a future edition? (See also the "Coming Soon" note below on this page) I updated my other 2 books in September 2009 to cover both Python 2.6 and 3.1. However, because of its focus on applications and larger examples, we won't be updating Programming Python again until the libraries it employs become available in Python 3.X form, and Python 3.X becomes more widely used. In other words, there won't be a new edition for some time to come. For now, this book's current 3rd edition is usable by Python 2.X programmers as is, and by Python 3.X programmers in conjunction with the new 4th editions of Learning Python and Python Pocket Reference. In particular, the latter of these summarizes the differences between the 2.X and 3.X lines, and so serves as a translation resource for 3.X readers.
The new, 4th Edition of this book has been written and is scheduled to be released in late 2010 (most likely in December). It will cover Python 3.X (only), and has been updated substantially for current Python best practice and new Python tools. I'll post more details as well as the book's Preface on this site as release approaches, but for a brief description, see the discussion of Python 3.X's implications for this book on the Learning Python notes page. New: O'Reilly now has a catalog page for this book with description and cover shots.