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!

 

27 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

  27. Posted April 17, 2010 at 9:52 am | Permalink

    Neat list. Not every module might be to everyone’s taste (3 for MSN messenger interoperability? Really?) but it’s a good idea to show off some top modules. I’d add M2Crypto, which is an OpenSSL wrapper and a great all-round encryption library.

    And yes, most (nearly all) important Python packages live on PyPi and can be installed with pip (or easy_install, part of setuptools). Python actually has pretty good package management, once you look into the capabilities of pip and virtualenv (cleanroom package deployment.)

    I’d say add them to the list too, but they’re more utilities than modules.

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
  • Hosted by VPS.net and Akamai CDN
WordPress Appliance - Powered by TurnKey Linux