Standing on the shoulders of giants
September 19, 2012 7:06 PM   Subscribe

I'm looking for a list of the best (however you define it) third-party Python libraries. E.g. Django, Beautiful Soup, PIL, etc.

I'm a novice Python programmer. I've worked a little bit with Django and Beautiful Soup and have found both to be great tools. I'm wondering what else might be out there that I don't know about.
posted by prunes to Computers & Internet (12 answers total) 22 users marked this as a favorite
Requests is accurately billed as "Python HTTP for Humans." It's a delightful, easy-to-use alternative to the standard library's urllib2.
posted by ddbeck at 7:16 PM on September 19, 2012 [2 favorites]

I don't know of a particular list that has "best of" qualities, but you might be interested in browsing through the canonical package index.
posted by brony at 7:17 PM on September 19, 2012

What kinds of problems are you solving on a regular basis? numpy and scipy are outstanding if you need to do any statistical/scientific programming.

And I was just about to recommend requests. It's awesome.

You might also want to check out virtualenv. It's an easy way to set up multiple Python environments on a single machine and switch back and forth between them quickly. Excellent if you need to support multiple versions of the interpreter, or want to test a new library without mangling your system's site-packages.
posted by asterix at 7:22 PM on September 19, 2012

Seconding PyPI (which you'll sometimes see referred to as 'the cheese shop') .

Also for Django stuff .

Two weekly newsletters which routinely contain links to new/upgraded packages: and .

Two sub-reddits are relevant : and and while we're on reddit there's a sub-reddit for Python learners you might find interesting
posted by southof40 at 7:50 PM on September 19, 2012

wxPython is very useful, and certainly the best of the cross-platform GUI toolkits for Python.

I like the Twisted networking framework a lot. It's excellent for writing custom TCP client/server stuff or working with existing non-HTTP protocols, if for whatever reason web stuff won't fill your needs.
posted by The Master and Margarita Mix at 8:05 PM on September 19, 2012

You're not interested in creating psychology/neuroscience experiments by any chance, are you? If so, PyEPL is what you want. Developed by my lab, but not by me. Open alternative to, e.g., E-Prime, and better at integrating with EEG in my experience.
posted by supercres at 8:29 PM on September 19, 2012

I nominate NumPy, Pandas and NLTK. They're kind of worth bragging about when faced with advocates of other languages.
posted by Monsieur Caution at 9:10 PM on September 19, 2012 [1 favorite]

Seconding NLTK. Good shit.
posted by nebulawindphone at 9:27 PM on September 19, 2012

I personally love Bottle, the single file, simple as heck, micro web framework. It's great for prototyping or small sites when you don't want/need all the extra features and overhead of something like Django.
posted by cgg at 9:43 PM on September 19, 2012

You should take a look at the Python Ecosystem. It's a great article that introduces a number of essential libraries and shows you how most Python programming gets done these days.
posted by aparrish at 6:27 AM on September 20, 2012

Surprised but pleased to be the first one to offer Flask as not only an example of an excellent Python web framework but also for documentation the way it should be done.
posted by Mr. Anthropomorphism at 7:19 AM on September 20, 2012

NumPy for arrays and data is scary good, maybe not a fit for your particular needs.

Dateutil addresses some but not all of the sins in python's date and time libraries.

Logging and multiprocessing are both in the standard lib but I thank Guido for them every day.
posted by migurski at 11:05 AM on September 20, 2012

« Older I'll take "Things I Should Have Learned in...   |   Botched Banana Bread? Newer »
This thread is closed to new comments.