One thing I really love with the Python programming language is its incredible extensibility. Here's a list of 50 awesome modules for Python, covering almost all needs: Databases, GUIs, Images, Sound, OS interaction, Web, and more.
Graphical interfacewxPythonhttp://wxpython.org
Graphical interfacepyGtkhttp://www.pygtk.org
Graphical interfacepyQThttp://www.riverbankcomputing.co.uk/pyqt/
Graphical interfacePmwhttp://pmw.sourceforge.net/
Graphical interfaceTkinter 3000http://effbot.org/zone/wck.htm
Graphical interfaceTixhttp://tix.sourceforge.net/
DatabaseMySQLdbhttp://sourceforge.net/projects/mysql-python
DatabasePyGreSQLhttp://www.pygresql.org/
DatabaseGadflyhttp://gadfly.sourceforge.net/
DatabaseSQLAlchemyhttp://www.sqlalchemy.org/
Databasepsycopghttp://www.initd.org/pub/software/psycopg/
Databasekinterbasdbhttp://kinterbasdb.sourceforge.net/
Databasecx_Oraclehttp://www.cxtools.net/default.aspx?nav=downloads
DatabasepySQLitehttp://initd.org/tracker/pysqlite
MSN Messengermsnlibhttp://auriga.wearlab.de/~alb/msnlib/
MSN Messengerpymsnhttp://telepathy.freedesktop.org/wiki/Pymsn
MSN Messengermsnphttp://msnp.sourceforge.net/
NetworkTwistedhttp://twistedmatrix.com/
ImagesPILhttp://www.pythonware.com/products/pil/
Imagesgdmodulehttp://newcenturycomputers.net/projects/gdmodule.html
ImagesVideoCapturehttp://videocapture.sourceforge.net/
Sciences and Mathsscipyhttp://www.scipy.org/
Sciences and MathsNumPyhttp://numpy.scipy.org//
Sciences and Mathsnumarrayhttp://www.stsci.edu/resources/software_hardware/numarray
Sciences and Mathsmatplotlibhttp://matplotlib.sourceforge.net/
GamesPygamehttp://www.pygame.org/news.html
GamesPyglethttp://www.pyglet.org/
GamesPySoyhttp://www.pysoy.org/
GamespyOpenGLhttp://pyopengl.sourceforge.net/
Jabberjabberpyhttp://jabberpy.sourceforge.net/
Webscrapehttp://zesty.ca/python/scrape.html
WebBeautiful Souphttp://crummy.com/software/BeautifulSoup
Webpythonwebhttp://www.pythonweb.org/
Webmechanizehttp://wwwsearch.sourceforge.net/mechanize/
Localisationgeoname.pyhttp://www.zindep.com/blog-zindep/Geoname-python/
Serial portpySerialhttp://pyserial.sourceforge.net/
Serial portUSPPhttp://ibarona.googlepages.com/uspp
Parallel PortpyParallelhttp://pyserial.sourceforge.net/pyparallel.html
USB PortpyUSBhttp://bleyer.org/pyusb/
Windowsctypeshttp://starship.python.net/crew/theller/ctypes/
Windowspywin32http://sourceforge.net/projects/pywin32/
Windowspywinautohttp://www.openqa.org/pywinauto/
Windowspyrtfhttp://pyrtf.sourceforge.net/
Windowswmihttp://timgolden.me.uk/python/wmi.html
PDA/GSM/Mobilespymohttp://www.awaretek.com/pymo.html
PDA/GSM/MobilespyS60http://sourceforge.net/projects/pys60
SoundpySoundichttp://pysonic.sourceforge.net/
SoundpyMediahttp://pymedia.org/
SoundFMODhttp://www.fmod.org/
SoundpyMIDIhttp://www.cs.unc.edu/Research/assist/developer.shtml
GMaillibgmailhttp://libgmail.sourceforge.net/
GooglepyGooglehttp://pygoogle.sourceforge.net/
ExpectpyExpecthttp://pexpect.sourceforge.net/
WordNetpyWordNethttp://osteele.com/projects/pywordnet/
Command linecmdhttp://blog.doughellmann.com/2008/05/pymotw-cmd.html
Compiler backendllvm-pyhttp://mdevan.nfshost.com/llvm-py/
3DVPythonhttp://vpython.org

Any other modules we should include in the list? Leave us a comment!
Into Python? Be sure to check out this article!

 

26 Comments

  1. Posted June 15, 2008 at 7:21 pm | Permalink

    Thanks for the list. It’s an useful one.

  2. Federico
    Posted June 16, 2008 at 10:33 am | Permalink

    Cool thanks!

  3. Posted June 16, 2008 at 12:40 pm | Permalink

    A great game module is pyglet (http://www.pyglet.org).

    Instead of Soya (which gives a 404), you should probably list PySoy (http://www.pysoy.org/).

  4. Posted June 16, 2008 at 12:46 pm | Permalink

    @André: Thanks for your contribution! Both modules has been added to the list :)

  5. anom
    Posted June 16, 2008 at 1:41 pm | Permalink

    Good list.
    sqlalchemy is pretty good.
    http://www.sqlalchemy.org/

  6. Posted June 16, 2008 at 1:55 pm | Permalink

    Added! Thanks for contributing!

  7. JW
    Posted June 16, 2008 at 2:47 pm | Permalink

    Missing a compiler backend ;-)

    http://mdevan.nfshost.com/llvm-py/

  8. Ernesto Sanchez
    Posted June 16, 2008 at 3:37 pm | Permalink

    Awesome list. Thanks for sharing!

  9. Posted June 16, 2008 at 4:05 pm | Permalink

    Also, for network applications, there’s Twisted. http://twistedmatrix.com/

  10. Posted June 16, 2008 at 4:23 pm | Permalink

    @JW & Allen Short: Both added :)

  11. jinzo
    Posted June 16, 2008 at 5:25 pm | Permalink

    Looks like you missed pymsn for MSN stuff, looks like it supports newer MSN protocols ;)

  12. Posted June 16, 2008 at 5:25 pm | Permalink

    How can it not have [BeautifulSoup](http://crummy.com/software/BeautifulSoup) on it?

  13. Posted June 16, 2008 at 5:38 pm | Permalink

    Vpython (http://vpython.org/) has a very nice “visual” module for simple 3D programming in Python.

  14. Posted June 16, 2008 at 6:19 pm | Permalink

    Post updated with the three last contributions. Thanks!

  15. Greg
    Posted June 16, 2008 at 8:04 pm | Permalink

    Jeepers, haven’t you pythonistas gotten round to doing something like CPAN? Doesn’t all this grubbing for one module here, another module there hearken back to, I dunno, the days of FORTRAN?

  16. Posted June 16, 2008 at 8:42 pm | Permalink

    Oooh, useful. Thanks!

  17. projecktzero
    Posted June 16, 2008 at 9:25 pm | Permalink

    “Jeepers, haven’t you pythonistas gotten round to doing something like CPAN? Doesn’t all this grubbing for one module here, another module there hearken back to, I dunno, the days of FORTRAN?”

    I haven’t checked, but I suspect that the vast majority of these modules are on.
    http://pypi.python.org/pypi

  18. unlimitedzoom
    Posted June 16, 2008 at 10:13 pm | Permalink

    Djnago? Django!

  19. Posted June 17, 2008 at 12:36 am | Permalink

    construct – parser/generator for protocols, declarative style. Used it for a number of protocols, much more fun then writing parsers by hand: http://construct.wikispaces.com/
    also ipython – not technically a library, but can be used as one (embed a shell in an app for debugging purposes).

  20. visit now
    Posted June 18, 2008 at 5:15 am | Permalink

    It’s a great website of yours. I surfed by and found it very informative. Bookmarked and check you back in a while

  21. Posted September 18, 2008 at 9:19 pm | Permalink

    Thats looking like an ultimate list of useful modules and i am looking into the games some of them i never heard about. thanks for compiling some huge useful list JBJ.

  22. Posted September 30, 2008 at 4:44 pm | Permalink

    Thanks for the nice list.

  23. Jon
    Posted November 9, 2008 at 1:20 am | Permalink

    For “games,” I’d suggest Panda3D, which is more than a single module, but also does a lot more than the other modules listed. (Pirates of the Caribbean is written in Panda3D)

  24. ezpython
    Posted August 10, 2009 at 11:34 pm | Permalink

    Please include decimal module.

  25. Posted December 13, 2009 at 10:19 pm | Permalink

    Nice list, thanks. I think it’d be useful to include mpi4py too. :)
    http://code.google.com/p/mpi4py/

  26. Tim
    Posted March 17, 2010 at 12:21 pm | Permalink

    py2exe- turns your code into a cool .exe

17 Trackbacks

  1. By Web 2.0 Announcer on June 16, 2008 at 11:28 am

    Python: 50 modules for all needs…

    [...]One thing I really love with the Python programming language is its incredible extensibility. Here’s a list of 50 awesome modules for Python, covering almost all needs: Databases, GUIs, Images, Sound, OS interaction, Web, and more.[...]…

  2. [...] lista completa. Archivado en Miniblog, Programación Deja aquí tu comentario ↓ Etiquetas [...]

  3. By Web 2.0 Announcer on June 16, 2008 at 9:13 pm

    Python: 50 modules for all needs…

    [...][...]…

  4. By Global Nerdy | 50 Python Modules for all Needs on June 16, 2008 at 10:38 pm

    [...] 50 Modules for all Needs is an entry at CatsWhoCode.com that lists 50 Python modules, at least some of which should prove useful to you. [...]

  5. [...] Python: 50 modules for all needs (tags: programming resources library development python modules) [...]

  6. [...] Jung an IT professional from Belgium has put together an exhaustive list of Python modules – around 50 of them – which will be really useful for any Python programmer. Tagged with: [...]

  7. By links for 2008-06-17 « Mandarine on June 17, 2008 at 6:35 am

    [...] Python: 50 modules for all needs Here’s a list of 50 awesome modules for Python, covering almost all needs: Databases, GUIs, Images, Sound, OS interaction, Web, and more. (tags: webdev python reference list development) [...]

  8. By links for 2008-06-19 | Databyss.com on June 19, 2008 at 6:36 am

    [...] Python: 50 modules for all needs (tags: python gui programming) [...]

  9. By Web 2.0 Announcer on June 19, 2008 at 11:23 am

    50 Python Modules for All Needs…

    [...]"One thing I really love with the Python programming language is its incredible extensibility. Here’s a list of 50 awesome modules for Python, covering almost all needs: Databases, GUIs, Images, Sound, OS interaction, Web, and more."[….

  10. By Tims Blog » Blog Archive » Yup on July 9, 2008 at 8:56 pm

    [...] python – 50 modules for all needs [...]

  11. [...] 2500 visiteurs uniques qui se pressaient sur le site suite à la promotion de mon article “50 python modules for all needs“. Début Juillet, les “100 commandes de Vim que tout programmeur devrait [...]

  12. [...] 50 modules for all needs [...]

  13. By 50 Python modules « Bloguear por bloguear… on September 30, 2008 at 9:36 pm

    [...] Jean-Baptiste Jung an IT professional from Belgium has put together an exhaustive list of Python modules – around 50 of them – which will be really useful for any Python [...]

  14. By Всё для Python on January 17, 2009 at 7:13 pm

    [...] для PythonМодули:50 modules for all needs [HTML] [...]

  15. [...]  catswhocode.com 的 jbj 写道:我很喜欢Python,Python具有强大的扩展能力,我列出了50个很棒的Python模块,包含几乎所有的需要:比如Databases,GUIs,Images, Sound, OS interaction, Web,以及其他。推荐收藏。   [...]

  16. [...] http://www.catswhocode.com/blog/python-50-modules-for-all-needs a few seconds ago from Gwibber [...]

  17. By Should you write “List posts” on your blog? on December 4, 2009 at 3:34 pm

    [...] I decided to gave a try and started to write a list post called “Python : 50 modules for all needs“. It was a very basic list, containing 50 modules for the Python programming language, with a [...]

Post a Comment

Your email is never published nor shared. Required fields are marked *

*
*

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

Subscribe without commenting

  • Smashing Network
WordPress Appliance - Powered by TurnKey Linux