pyPortMidi is a Python wrapper I wrote for PortMidi. PortMidi is a cross-platform C library for realtime MIDI control. Using pyPortMidi, you can send and receive MIDI data in realtime from Python.
Besides using pyPortMidi to communicate to synthesizers and the like, it is possible to use pyPortMidi as a way to send MIDI messages between software packages on the same computer. For example, Using pyPortMidi and MIDI-YOKE on a Windows machine, it is possible to send realtime MIDI messages between programs on the same computer using loopback virtual MIDI ports.
pyPortMidi is now in a distribution package that supports compiling from Win32, Linux, and OS X from the source. There is also binary available for Win32 Python 2.3.x and Win32 Python 2.4.
The source distribution includes a compiled version of the PortMidi C library for Win32, OS X, and Linux.
pyPortMidi is actively used in the Python community and has been updated and forked to be current with more recent Python and PortMidi releases in the PortMidi and pyGame trunks.
Version 0.0.3 – released March 15, 2005 — license added March 15