I have had a number of pull requests backing up on my personal projects that I wanted to get to but time always gets squeezed out of the day before I have a chance to look into them. Well, this afternoon, I just made the time.

I pulled in changes, commented on commits and requests, and published new releases to PyPI. Here is a summary of changes across four different projects:


This was a sample utility that I wrote for an article that I was commissioned to write for the Python AWS portal. Turns out I guess it has been useful to some folks, even to the point where I got some pull requests. I really don't use this utility much anymore but was thankful for the pull requests nonetheless.

Graham Poulter, from Cape Town, added some excellent improvements in Pull Request #5. I especially liked the use of the print function and string formatters, as well as showing more structured output that is sure to be more useful to the end user. The only thing that I'd like to see changed is the commits he made to the setup.py.

I did not go ahead and pull all the other commits as I wanted to hear his reasoning for doing so instead of using a virtualenv as I think it's the proper thing to do to put requirements in a setup.py's install_requires. If he reverts it or provides strong enough arguments to convince me it belongs, then I can just merge the pull request with no changes on my part. If after a week or so, nothing has happened I'll manually merge the pull request and just revert that commit—he did a good job on atomic commits making this task trivial.


This is a simple little utility that I wrote back while at StudioNow to make the processing and detection of various media files easier. It's just a wrapper around the mediainfo command line utility.

In Pull Request #3 there were fixes to make the utility more compatible with Python 3 added by cjlucas.

In addition to the Python 3 fixes, a proper __repr__ was added as well as removal of a hard dependency on simplejson by providing a fall back to the standard json module.

I pulled this fixes in and created a new release (1.3.5) and published on PyPI.


One of my favorite tools that make writing tests easier and more fun is milkman. This is a project owned by Chuck Collins who I used to sling code along side at Studionow.

I released version 0.4.5 of milkman after pulling in and testing Pull Request #13 submitted by Jamie Matthews of Brighton, UK.

Jamie is no stranger to working on milkman as he has submitted previous improvements to this library, but this one is super cool. He added support for specifying fields on related models, including many to many related models. I love the way he wrote up his pull request in full details and then attached unit tests to our test suite showing how it works. It made reviewing and merging the change super easy.


Last, but not least, was a small tweak to nashvegas by Peter Bengtsson from London. I was excited to see that he works at Mozilla and submitted the pull request in response to his use of nashvegas there.

The issue he was resolving was one that I had not experienced with PostgreSQL but that he ran into with MySQL. It boils down to just explicitly closing the cursor right after execution. At first I thought that this might break the transaction blocks across migrations that nashvegas is managing but I verified that it still works, at least for PostgreSQL.

After merging in the pull request, I released nashvegas 0.6.4 and published it on PyPI.