Tarek Ziade has a habit of ending the year with a Python-themed meme. I've matched his meme the times he previousstarted it, and as you can tell from the title of this blog post I'm matching him yet again.
1. What’s the coolest Python application, framework or library you have discovered in 2012?
This question took some thought. It was a toss-up between these three choices:
- Django Class Based Views (CBVs) allow developers do amazing things with Django, but needed some polish (improved documentation, missing functionality) to be able to shine.
- ReportLab for generating PDF allowed me to create some impressive results, but the API needed updating. The other Python PDF libraries might be better, but getting images to work trivially in them
- If I didn't completely agree with Armin Ronacher on the subject, I might have gone with a combination of PyMongo, MongoEngine, and MongoKit. Just like Armin, I've learned through working with schemaless databases to know that schemas are awesome.
Django Class Based Views
In 2012 what I managed to accomplish with Django CBVs was incredible. From early self-instructional work I did for django-mongonaut, to client efforts and personal projects where I honed my craft, plus examples I blogged about or helped get into Django core, it made for a great year. Also I wasn't just productive personally, I helped increased the productivity of others around the world.
And you ain't seen nothing yet!
2. What new programming technique did you learn in 2012?
I thought I understood multiple inheritance.
I really did.
However, since the start of this year I've delved really deep into it, only to discover just how much I didn't know. While that didn't do my ego any favors, it was a nice refreshing reminder not to get arrogant about one's skills.
3. Which open source project did you contribute to the most in 2012? What did you do?
The answer to this is Django.
After using Django professionally for 2.5 years, I finally began contributing to the core framework at the DjangoCon Eu 2012 sprints. I joined a group of other dedicated people who decided to improve the Django CBV documentation, our goal being setting a new standard for documentation. I'm not sure if we set a new bar in documentation, but we did improve on the existing material.
I branched out into some other areas of core Django development with mixed results, which played out that way because I just didn't have the time to do more.
4. Which Python blog or website did you read the most in 2012?
As always, http://planet.python.org.
5. What are the three top things you want to learn in 2013?
6. What is the top software, application or library you wish someone would write in 2013?
I've got a couple:
- A Python SDK that produces results that work perfectly for both modern iOS and Android. Think Corona SDK but with Python.
- A modern PyGame release that installs trivially on Mac OS X.
Want to do your own list? here's how:
- copy-paste the questions and answer to them in your blog
- tweet it with the #2012pythonmeme hashtag