Python: 50 modules for all needs

by Jean. 47 Comments -

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 interface wxPython
Graphical interface pyGtk
Graphical interface pyQT
Graphical interface Pmw
Graphical interface Tkinter 3000
Graphical interface Tix
Database MySQLdb
Database PyGreSQL
Database Gadfly
Database SQLAlchemy
Database psycopg
Database kinterbasdb
Database cx_Oracle
Database pySQLite
MSN Messenger msnlib
MSN Messenger pymsn
MSN Messenger msnp
Network Twisted
Images PIL
Images gdmodule
Images VideoCapture
Sciences and Maths scipy
Sciences and Maths NumPy
Sciences and Maths numarray
Sciences and Maths matplotlib
Games Pygame
Games Pyglet
Games PySoy
Games pyOpenGL
Jabber jabberpy
Web scrape
Web Beautiful Soup
Web pythonweb
Web mechanize
Serial port pySerial
Serial port USPP
Parallel Port pyParallel
USB Port pyUSB
Windows ctypes
Windows pywin32
Windows pywinauto
Windows pyrtf
Windows wmi
PDA/GSM/Mobiles pymo
PDA/GSM/Mobiles pyS60
Sound pySoundic
Sound pyMedia
Sound FMOD
Sound pyMIDI
GMail libgmail
Google pyGoogle
Expect pyExpect
WordNet pyWordNet
Command line cmd
Compiler backend llvm-py
3D VPython

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

  • subeen

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

  • Federico

    Cool thanks!

  • Pingback: Web 2.0 Announcer()

  • André Roberge

    A great game module is pyglet (

    Instead of Soya (which gives a 404), you should probably list PySoy (

  • jbj

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

  • anom

    Good list.
    sqlalchemy is pretty good.

  • jbj

    Added! Thanks for contributing!

  • JW

    Missing a compiler backend 😉

  • Ernesto Sanchez

    Awesome list. Thanks for sharing!

  • Allen Short

    Also, for network applications, there’s Twisted.

  • jbj

    @JW & Allen Short: Both added :)

  • jinzo

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

  • web design company

    How can it not have [BeautifulSoup]( on it?

  • Luke Maurits

    Vpython ( has a very nice “visual” module for simple 3D programming in Python.

  • jbj

    Post updated with the three last contributions. Thanks!

  • Pingback: 50 módulos Python para todas las necesidades()

  • Greg

    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?

  • Jasper

    Oooh, useful. Thanks!

  • Pingback: Web 2.0 Announcer()

  • projecktzero

    “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.

  • unlimitedzoom

    Djnago? Django!

  • Pingback: Global Nerdy | 50 Python Modules for all Needs()

  • alon

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

  • Pingback: links for 2008-06-16 « 個人的な雑記()

  • Pingback: A List of 50 Awesome Python Modules « Linux and Friends()

  • Pingback: links for 2008-06-17 « Mandarine()

  • visit now

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

  • Pingback: links for 2008-06-19 |

  • Pingback: Web 2.0 Announcer()

  • Pingback: Tims Blog » Blog Archive » Yup()

  • Pingback: Retour d’expérience: Les digg likes anglophones()

  • Pingback: A New Day Has Come » Blog Archive » 50 modules for all needs()

  • MOin

    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.

  • Alexey Afinogenov

    Thanks for the nice list.

  • Pingback: 50 Python modules « Bloguear por bloguear…()

  • Jon

    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)

  • Pingback: Всё для Python()

  • Pingback: Python: 50个能够满足所有需要的模块 | 5U Magazine()

  • ezpython

    Please include decimal module.

  • Pingback: Sérgio Luiz Araújo Silva (voyeg3r) 's status on Thursday, 05-Nov-09 13:51:38 UTC -

  • Pingback: Should you write “List posts” on your blog?()

  • Matthew

    Nice list, thanks. I think it’d be useful to include mpi4py too. :)

  • Tim

    py2exe- turns your code into a cool .exe

  • Jason S

    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.

  • Casey Strouse

    I have found a lot of really awesome libraries through Google Code. I’ve been compiling a list and posting about my favorite libraries on my website.

    Two of my favorites so far are gdata-python-client and yql, for working with the Google APIss and Yahoo Query Language, respectively.

  • Julius

    Thanks guys this is great, it would also work better if all the modules are compacted into one exe file. thanks

  • Thyag Sundaramoorthy

    Pandas is another great library for data analysis: