Python 3 Porting

The 3 in 2013 is for Python 3

alternate text

I tend to like projects that everyone else hates, e.g.:

  • Removing persistent Python objects associated with missing classes in ZODB.
  • Making new releases for old software that is still useful but unmaintained.
  • Running flake8 on 10s or 100s of source files and hand-fixing the results.

Part of this has to do with repetition. I know how to do these things, and I like doing them. Over and over. If someone says, “my Data.fs file is broken” I get excited. Anyway, I hope you get the idea.

I am your man

Which brings me to the subject of this post: Python 3 Porting. I’ve been helping out porting the Python Imaging Library to Python 3 (via the Pillow fork, where I am the release manager). And it strikes me as the type of thing I’d be very interested in doing professionally. So, if you or your company are in need of a “workhorse” to plow through old code and update it, I am your man. Please do get in touch.

What’s in it for you

Now I know what you are thinking: porting Python 2 software to Python 3 is a lot of work for little gain. Maybe. Maybe not. I’m not going to try to convince you otherwise, however I will tell you this:

  • For me, 2013 is “the year of Python 3”. I’ve now promised to deliver and maintain a Python 3 compatible PIL by PyCon 2013. I now care about Python 3 (this was not true before).
  • The Python 3 Wall of Shame is now the Python 3 Wall of Superpowers. We are over the hump.
  • Many popular Python web frameworks support or are about to support Python 3 e.g. CherryPy, Django, Pyramid.

So, there is no time like the present to take a serious look at Python 3.