Sunday, January 06, 2013

2012 Python meme

I think the official rules are here.  I don't have a Twitter feed, so I'll just put this tag in my labels.
  • copy-paste the questions and answer them in your blog
  • tweet it with #2012pythonmeme hashtag

1. What’s the coolest Python application, framework, or library you have discovered in 2012?

Hmm, I got to know alot about pandas this year, but I discovered it before.  So I have to say pweave.  I learned the whole concept of combining the narrative discussion, code, and output in literate programming through Sweave in R, and I love the idea of doing the same in Python.  Combined with Pandoc, this means I can write explanation, code, and results, have the data or code change, and my slides or documents are updated automatically.  And that makes a lot of things work better.

2. What new programming technique did you learn in 2012?
Using list comprehensions and other functional programming based patterns in data analysis.  Most of the programming I do tends to be data analysis (because the students and post-docs I work with are not skilled in this), and my code has been turning more functional over the year.

3. Which open source project did you contribute to the most in 2012? What did you do? 
Not much in the way of direct contributions.  I filled out bug reports with both pandas and R Studio.  I actually enjoyed the interactions I had with developers (both have developers employed by companies that are focused on these products) as we trouble shot the code and developed working solutions.

4. Which Python blog or website did you read the most in 2012?
I cheat and use Planet SciPy and get all of the scientific programming in Python blogs.

5. What are the top things you want to learn in 2013?
Working with both simulation libraries (SimPy) and optimization modeling languages (Pyomo or PuLP) and working them into a real problem.

6. What is the top software, application, or library you wish someone would write in 2013?  
Round trip between iPython Notebook and Python with Markdown.  Right now I think I have to choose between workflows, and there are some nice parts about each that I would like to keep.

I could say more Python 3 migration, but there are so many pieces that have to be moved, this would hardly result in a top N list for any reasonable value of N.

No comments: