Doug Hellmann’s excellent PyMOTW series started 3 years ago yesterday, and I’ve loved every minute of it. His sheer commitment and dedication to his craft is to be commended; it’s not easy to find the discipline to sit down every single week and commit the time and research to carve bits in such a way that people who come across them leave with a greater understanding of, and a higher level of confidence with the topic at hand. Thanks, Doug!
Doug’s work has inspired me to take on a sort of sister series called Python Third Party Module of the Week. While there’s probably no way I could possibly cover every single third party module, I’ll try to cover them in enough variety and depth to make things interesting. Here’s a sampling of the modules on the “short list” for the series, but feel free to make suggestions of your own in the comments!
- lxml
- py-amqplib
- python-memcached
- phpserialize
- mock
- paramiko
- dnspython
- freebase-python
- pyinotify
- pyyaml
So, there’s 10 third party modules to start with. I might change it up, but these are off the top of my head. I’ve used all of them, most of them for production code. I do most of my work in the system/network space, and entirely in a *nix environment. I’m happy to take suggestions for whatever everyone is interested in, though. I can and do code for the web pretty regularly too; I’ve written a module myself for Django, and I’m helping to create an app template (later, hopefully, a framework) to aid rapid development with Tornado, so don’t be fooled by the rugged “systems”-related modules – I want your suggestions about anything.
There are also things I’d love to do more with, like PyGame, Pyro, and wxPython, but these strike me as frameworks more than modules. I’m looking to cover things you import into your app and use, not things that dictate the entire construction of your application like a framework tends to do.
What Do You Want to See?
There’s a vast ocean of third-party modules. If you’re a module author or a fan of a particular module, feel free to suggest it in the comments here or send me mail or a tweet. My Twitter handler is @bkjones, and that’s also my gmail user name 😉
Also, if there’s a particular thing you need to do with Python and aren’t sure which module to use, let me know! I’ll try to figure out the best-of-breed module for the task and write about it here. Win win!
Why Don’t You Write?
No reason to stop here! I had considered doing “Python Technique of the Week”, but chose this instead. It’d be great to see someone cover things like delegation, mixins, generators, context managers, event-driven programming, the observer pattern… whatever, maybe pulling exemplary code from open source projects, or at least providing decent examples — You do it!
It’s also pretty clear from my perusal of PyPI that a “Python Framework of the Week” would actually run quite a long time without running out of things to write about, and would probably be pretty popular. A post I wrote some time ago about ReportLab has been in the top 5 posts on this site since it was posted
If you’re already writing about Python on a regular basis, post a link, and if you’re not already there, submit your blog to the kind folks at Planet Python (Python topic/category feed URLs only please) so we can all keep up with everything. There’s some brilliant content out there that I’ve come across, and it doesn’t all make it to Reddit, Hacker News, or the Planet.