Thursday, December 22, 2011

New Year’s Python Meme

I love these blog memes, so I give you my version of Tarek Ziade's New Year's Python Meme.

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


For python libraries, that would have to be Kenneth Reitz' python-requests library. I've used it for an amazing amount of stuff and blogged about it. It took the grunge out of doing HTTP actions with Python. The API is clean and elegant, getting out of your way. It embodies the State of the art for API design, which closely matches the Zen of Python.

For applications, djangolint.com is awesome. It has helped me out so much on several projects. I would love to see something like this implemented and maintained for modern Python.

All the Python friendly PaaS efforts that have emerged are changing the landscape for those of us who want to launch projects but don't want to become full time system administrators in the process. Heroku, DjangoZoom, DotCloud, ep.io, gondor.io, and others are making it possible for developers to focus on development not server tooling. Google App Engine paved the way and it is wonderful to see the rest of the universe catch up with material that more closely follow core.

2. What new programming technique did you learn in 2011?


Event based programming! I've touched on it for years, but this year I really got a lot more more into it thanks to Aurynn Shaw kickstarting me and Audrey Roy expanding my knowledge ever since.

3. What’s the name of the open source project you contributed the most in 2011? What did you do?


I participated mostly as co-lead in the Open Comparison project, which amongst other things involved running the largest sprint at PyCon 2011. We maintained Django Packages and launched Pyramid and Plone versions of the project. We hope to launch a Python implementation in 2012.

I took a lot of notes this year at pydanny-event-notes - enough to make a book.

4. What was the Python blog or website you read the most in 2011?


Like Nick Coghlan, that would be http://planet.python.org.

5. What are the three top things you want to learn in 2012?


  1. How to use whatever consistently maintained project that replaces PIL that works in Python 2.7.x and Python 3.x.
  2. Really advanced Python as taught by Raymond Hettiger.
  3. backbone.js

6. What are the top software, app or lib you wish someone would write in 2012?


A tool python-requests, but for shell access. Something like Unipath, but kept up-to-date and with nicely written documentation on Read the Docs.

A PIL replacement that is maintained, works for all modern Pythons, and is close enough to the PIL API to not cause too much confusion.

Something like Django Lint but for Python 2.7.x/3.x.

An open source project that tracks test coverages across PyPI and publishes reports of the results via an API.

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

6 comments:

Rok Garbas said...

hey,

would Pillow (fork by Alex Clark and its largely used in among plonistas) be the solution for PIL you're looking for? or at least would be a place where we can get PIL working for python 2.7 and 3.x.

or you are looking completely new library?

http://pypi.python.org/pypi/Pillow
http://github.org/collective/Pillow

pyDanny said...

@Rok,

Let's face the truth, PIL is effectively unmaintained. Pillow is Alex Clark's way of getting it to be a reliable package installation.

Also, according to the Image experts I know (I'm engaged to one who has written a commercial Image processing library but she isn't the only one), PIL's processing capabilities are limited compared to other tools. For example, Image rotation causes a huge amount of lossy compared to tools used by other languages.

PIL that works in all places suffices for now, but in the long run the Python world needs a real replacement.

Nick Coghlan said...

The limited built-in shell support annoys me too, but I'm not sure an OO-path object is the answer.

My own contributions to making shell programming in Python less painful are WalkDir and Shell Command:

http://walkdir.readthedocs.org/
http://shell-command.readthedocs.org/

(They each have some issues at the moment - I plan to release new versions of both of them in early January)

You may also want to talk to Antoine Pitrou about releasing his pathlib work as a PyPI package:
http://hg.python.org/features/pathlib/file/tip/Lib/pathlib.py

Jons Obrist said...

"A PIL replacement that is maintained, works for all modern Pythons, and is close enough to the PIL API to not cause too much confusion."

I could not agree more. And while we're at it, it would be amazing if this could be done in pure Python.

PA Parent said...

Hi!

I really like this idea :

"An open source project that tracks test coverages across PyPI and publishes reports of the results via an API."

I might participate if someone starts that :)

Ken Swift said...

"How to use whatever consistently maintained project that replaces PIL that works in Python 2.7.x and Python 3.x."

you can try Pystacia: http://liquibits.bitbucket.org/index.html

and please spread the word!