Size: 6257
Comment: Corrected spelling, added game libraries entry, tidied somewhat.
|
Size: 6299
Comment: Added GameProgramming.
|
Deletions are marked like this. | Additions are marked like this. |
Line 21: | Line 21: |
* A more comprehensive list can be found on the ["PythonGameLibraries"] page. | * See also ["GameProgramming"]. A more comprehensive list of packages can be found on the ["PythonGameLibraries"] page. |
The intent of this page is to list the most commonly used Python modules, in hopes that it will provide useful for other programmers (especially beginners).
Please avoid listing modules that either:
- You have made
- Don't have community approval (ie. are not widely used, are regarded as "unpythonic")
Do list modules that:
- Get recommended often in the Tutor or comp.lang.python lists
Be warned that this list is subjective by its very nature. It's only intended as a helpful guide. It is not definitive in any way, nor should it discourage developers into developing their own modules.
Please provide a short description for each module. Try to put each module in the category that matches it's "main" audience, since a module might fall into a couple of categories.
Database
[http://sqlobject.org/ SQLObject] - Provides an object oriented way of accessing several different DBs
Game development
[http://www.pygame.org/ PyGame] - Wrapper to the SDL library.
See also ["GameProgramming"]. A more comprehensive list of packages can be found on the ["PythonGameLibraries"] page.
General category
[http://www.jorendorff.com/articles/python/path/ Python Path] - Wraps the functionality in the os.path module.
GUI
[http://www.wxpython.org/ wxPython] - wxWidgets bindings to Python.
[http://pythoncard.sourceforge.net/ PythonCard] - Framework built on top of wxPython
GUI Programming is, in many cases, a matter of taste. See a more extensive list at GuiProgramming
HTML Forms
[http://wwwsearch.sourceforge.net/ClientForm/ ClientForm] - "ClientForm is a Python module for handling HTML forms on the client side, useful for parsing HTML forms, filling them in and returning the completed forms to the server. It developed from a port of Gisle Aas' Perl module HTML::Form, from the libwww-perl library, but the interface is not the same." - from the website.
HTML Parser
[http://www.crummy.com/software/BeautifulSoup/ Beautiful Soup] - HTML/XML parser designed for quick turnaround projects like screen-scraping, will accept bad markup.
ID3 Handling
[http://www.nedbatchelder.com/code/modules/id3reader.html 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
[http://www.comfortableshoe.co.uk/cgi-bin/blosxom.cgi/Home/Python/id3Writer.comments ID3Writer] - Writes ID3 Tags for mp3s (both v1 and v2, as necessary). No Unicode support as of yet. Uses ID3Reader.
[http://sourceforge.net/projects/pyid3 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.
[http://www.liquidx.net/pytagger/ pytagger] - tag reader and writer implemented purely in Python. Supports ID3v1, ID3v1.1, ID3v2.2, ID3v2.3 and ID3v2.4
Image manipulation
[http://www.pythonware.com/products/pil/ Python Imaging Library (PIL)] - Supports many file formats, and provides powerful image processing and graphics capabilities.
Plotting
[http://code.enthought.com/chaco/ Chaco] - Creates interactive plots
[http://gnuplot-py.sourceforge.net/ gnuplot.py] - Based on gnuplot
[http://matplotlib.sourceforge.net/ Matplotlib] - Production quality output in a wide variety of formats
[http://pyx.sourceforge.net/ PyX] - Postscript and PDF output, (La)TeX integration
[http://www.reportlab.org/ ReportLab] includes a charting package
[http://home.gna.org/veusz/ Veusz] - Postscritpt output with a PyQt front end
The SciPy [http://scipy.org/Topical_Software#head-b98ffdb309ccce4e4504a25ea75b5c806e4897b6 topical software] page has a longer list.
Scientific
[http://vpython.org/ Visual Python] - Offers real-time 3D output, is easily usable by novice programmers, excellent for physics.
[http://www.scipy.org/ SciPy] - Includes modules for graphics and plotting, optimization, integration, special functions, signal and i* mage processing, genetic algorithms, ODE solvers, and others.
[http://www.omegahat.org/RSPython/index.html Python Bindings for R] - R is a well known, open source (GPL 2) statistical package. RSPython provides the ability to access R from python, and vice-versa.
Networking
TwistedMatrix - Event-driven networking framework
Threading
[http://chrisarndt.de/en/software/python/threadpool.html ThreadPool] - Intuitive approach to threads, well-explained.
Web development
[http://www.turbogears.org TurboGears] - Rapid web development megaframework.
[http://www.djangoproject.com Django] - High-level Python Web framework
See a more complete list of topics on the ["WebProgramming"] page.
Platform specific
[http://psyco.sourceforge.net/ Psyco] - Psyco can speed up the execution of any Python code (x86 only).
[http://pyinstaller.hpcf.upr.edu/cgi-bin/trac.cgi PyInstaller] - Packages Python programs into stand-alone executables, under Windows, Linux and Irix.
Mac
[http://pythonmac.org/wiki/py2app py2app] - Creates stand-alone apps (like py2exe for Mac)
[http://pyobjc.sourceforge.net PyObjC] - Bridge between the Python and Objective-C. Most important usage of this is writing Cocoa GUI applications on Mac OS X in pure Python
Windows
[https://sourceforge.net/projects/pywin32/ PyWin32] - Python extensions for Windows.
[http://www.py2exe.org/ Py2exe] - Converts python scripts into executable windows programs, able to run without requiring a python installation.
XML Processing
[http://effbot.org/zone/element-index.htm ElementTree] - The Element type is a simple but flexible container object, designed to store hierarchical data structures, such as simplified XML infosets, in memory. --Note: Python 2.5 and up will have ElementTree in the Standard Library--
[http://uche.ogbuji.net/tech/4suite/amara/manual Amara] - Amara provides tools you can trust to conform with XML standards without losing the familiar Python feel.