Python Resources

IPython is an enhanced Interactive Python shell. If you do any interactive work with python you will probably want to use this unless you are already using some kind of fancy development environment. It even has a mode that provides a python shell that you can almost use as a replacement for your bash, etc., shell. I installed iPython on Mac OS X without any problems.

David Mertz' book, Text Processing in Python, is available for free online reading. It contains an appendix entitled "A Selective and Impressionistic Short Review of Python" that is an elegant and interesting high-level overview of the language, very useful for experienced programmers who want to know what python is all about.

Notes on Django, a python web framework.

In memory of chicagocrime.org

Python for Lisp Programmers compares the languages in a way that gives a taste of either one for users of the other one. We also learn that lisp is typically about 20 times faster than python.

What's New in Python 2.4

What's new in Python 2.3

Spotted Snakes: An appreciative summary of some of the python goodness discovered to be an official part of OS X 10.5 (Leopard), including interfaces to Apple's specialized network services and graphics subsystem.

Readline for Panther: Bill Bumgarner provides a choice of source or binary to install readline for python on Mac OS 10.3 (Panther)

The PyGoogle project: "A Python wrapper for the Google web API. Allows you to do Google searches, retrieve pages from the Google cache, and ask Google for spelling suggestions."

numpy: Numerical Python adds a fast, compact, multidimensional array language facility to Python.

pyobjc: Write Cocoa (native MacOS X) programs in python!

Dive Into Python: "Dive Into Python is a free Python book for experienced programmers." This major revision of the book by Mark Pilgrim is available in a handful of formats and languages, and will soon be available as a physical book as well. The website contains many other useful python links.

Home Base

Many categorized, searchable links at The Vaults of Parnassus: Python Resources.

Python persistence management: A nice overview mostly covering the use of Pickle to store objects on disk.

F2PY: Fortran to Python interface generator: I haven't tried this yet, but it looks really easy to use.

Gnuplot.py:

"Gnuplot.py is a Python package that interfaces to gnuplot, the popular plotting program. It allows you to use gnuplot from within Python to plot arrays of data from memory, data files, or mathematical functions."

Python Short Course: great information and examples emphasizing scientific uses of python.

Book Review: Web Programming in Python: "Techniques for Integrating Linux, Apache, and MySQL"

The MySQLdb module: for manipulating MySQL databases with Python.

An intoduction to the use of "mixin" classes.

A Conversation with Guido van Rossum:

"In this six-part interview, Python creator Guido van Rossum gives insights into Python's design goals, the source of Python programmer productivity, the implications of weak typing, and more."

Pyrex:

"Pyrex is a language specially designed for writing Python extension modules [...] a Pyrex module can run 40-50 times faster than a Python version of the same module. But in contrast to writing the module in C, per se, the Pyrex version will hardly be any longer than the Python version, and the code will look much more like Python than like C.”

Pyro: Written by Irmen de Jong, the author of Snakelets. Here is his description:

"Pyro is short for PYthon Remote Objects. It is an advanced and powerful Distributed Object Technology system written entirely in Python[...] Never worry about writing network communication code again, when using Pyro you just write your Python objects like you would normally. With only a few lines of extra code, Pyro takes care of the network communication between your objects once you split them over different machines on the network. All the gory socket programming details are taken care of, you just call a method on a remote object as if it were a local object!”

Functional Programming with Python: This is a very interesting introduction to functional programming in general, as well as examples of how to implement the ideas in python.

Reading and writing data using Python's input and output functionality: A focussed tutorial.

Appscript:

"Appscript is a high-level, user-friendly MacPython to Apple event bridge that allows you to control scriptable Mac OS X applications using ordinary Python scripts. Appscript makes MacPython a serious alternative to Apple's own AppleScript language for automating your Mac.”
Version 1.0 is now (2/18/05) available for download. This is the project that was called "AppScripting" until v. 0.4.0. Its progress can be followed on the pythonmac-sig@python.org mailinglist.