Contents
-
Useful Modules, Packages and Libraries
- Standard Library Backports
- Cryptography
- Database
- Foreign Function Interface
- Game Development
- GIS (Geographic Information System)
- GUI
- Audio / Music
- ID3 Handling
- Image Manipulation
- Indexing and Searching
- Java
- Networking
- Platform-Specific
- Plotting
- Presentation
- RDF Processing
- Scientific
- Standard Library Enhancements
- Threading
- System administration
- Web Development
- Workflow
- XML Processing
- Flow Based Programming
- Editorial Notes
Useful Modules, Packages and Libraries
The intent of this page is to list some of the most commonly used Python modules, in the hope that it will provide useful recommendations for other programmers (especially beginners). Remember that in addition to the listings below, there are other directories of Python modules - see PublishingPythonModules for details. Another collection of library details can be found on the Libraries page.
Be warned that this list is subjective by its very nature - it is only intended as a helpful guide. It is not definitive in any way, nor should it discourage developers from developing their own modules.
Standard Library Backports
StandardLibraryBackports - modules that make later standard library functionality available in earlier version
Cryptography
Database
SQLAlchemy or SQLObject - Object oriented access to several different database systems
DatabaseInterfaces - Direct Python interfaces to relational and non-relational database backends
See also DatabaseProgramming for guidance on choosing a database backend system
Foreign Function Interface
CTypes - A package for calling the functions of dlls/shared libraries. Now included with Python 2.5 and up.
Cython is an extension language for the CPython runtime. It translates Python code to fast C code and supports calling external C and C++ code natively. As opposed to ctypes, it requires a C compiler to translate the generated code.
Game Development
PyGame - Principal wrapper of the SDL library.
See also GameProgramming. A more comprehensive list of packages can be found on the PythonGameLibraries page.
GIS (Geographic Information System)
GIS Web services - Packages to access to Google Maps, Yahoo! Maps⦠and more information
GUI
PyGtk - Bindings for the cross-platform Gtk toolkit.
PyQt - Bindings for the cross-platform Qt framework.
TkInter - The traditional Python user interface toolkit.
WxPython - wxWidgets bindings for Python supporting PythonCard, Wax and other frameworks.
PyjamasDesktop - Bindings and a framework for the cross-platform webkit.
PySimpleGUI - Wrapper for TkInter, Qt, wxpython and Remi (Web) that makes GUI development easy and compact
GUI Programming is, in many cases, a matter of taste. See a more extensive list on the GuiProgramming page.
Console
Ascii Table packages
Audio / Music
ID3 Handling
Mutagen - Mutagen is a Python module to handle audio metadata. It supports FLAC, M4A, Musepack, MP3, Ogg FLAC, Ogg Speex, Ogg Theora, Ogg Vorbis, True Audio, and WavPack audio files. All versions of ID3v2 are supported, and all standard ID3v2.4 frames are parsed. It can read Xing headers to accurately calculate the bitrate and length of MP3s. ID3 and APEv2 tags can be edited regardless of audio format. It can also manipulate Ogg streams on an individual packet/page level. It only writes ID3v2.4 (introduced in 2000, but as of Windows 8 still not supported by MediaPlayer).
ID3Reader - "Id3reader.py is a Python module that reads ID3 metadata tags in MP3 files. It can read ID3v1, ID3v2.2, ID3v2.3, or ID3v2.4 tags. It does not write tags at all" (from site). Used in ID3Writer. Does not work with Python 3000. Not maintained since 2006.
PyID3 - ""(Appears to be inactive)""Module for manipulating ID3 informational tags in MP3 audio files. Not as good as ID3Writer, but no issues w/ genre, unlike ID3Writer. Not maintained since 2007.
pytagger - tag reader and writer implemented purely in Python. Supports ID3v1, ID3v1.1, ID3v2.2, ID3v2.3 and ID3v2.4
eyeD3 - is a Python module and program for processing ID3 tags. It can extract information such as bit rate, sample frequency, play time, etc. It supports ID3 v1.0/v1.1 and v2.3/v2.4.
hsaudiotag - Py3k - hsaudiotag is a pure Python library that lets you read metadata (bitrate, sample rate, duration and tags) from mp3, mp4, wma, ogg, flac and aiff files. It can only read tags, not write to them, but unlike more complete libraries (like Mutagen), it is BSD licensed.
pytaglib - Python 3.x and 2.x support - bindings to the C++ taglib library, reads and writes mp3, ogg, flac, mpc, speex, opus, WavPack, TrueAudio, wav, aiff, mp4 and asf files.
Image Manipulation
Python Imaging Library (PIL) - Supports many file formats, and provides powerful image processing and graphics capabilities.
pyqtgraph - Pure-python graphics library for scientific applications with image/video display, multidimensional image slicing, and interactive manipulation tools.
Indexing and Searching
Java
Networking
asyncoro - Asynchronous, concurrent programming framework with coroutines with thread-like interface
Gevent - Coroutine-based network library
TwistedMatrix - Event-driven networking framework
RPyC - Transparent RPC/distributed-computing framework
PyRO - powerful OO RPC
HTTPLib2 - A comprehensive HTTP client library that supports many features left out of other HTTP libraries, like httplib on the standard library.
