As it happens this is the first one entirely done with the new PEP440 compliant versioning scheme that still makes it possible to release both python2 and 3 versions under the same version number.
Following the recent and timely revival of Tarek Ziadé’s New Year’s Python Meme by Alex Clark and Daniel Greenfeld, and also to mark the addition of this blog to the Python planet, here is my version of the meme for 2013.
What’s the coolest Python application, framework or library you discovered this year?
After having heard a lot about them, this year I had the occasion to actually use the following tools:
Even if it isn’t a discovery strictly speaking, I was also glad to find out that someone took over the maintenance of feedfinder.
And last but not least I recently used PhotoFloat a very promising project to generate photo galleries, especially because like the author of this library I think zenphoto has somehow lost its zen.
What new programming technique did you learn this year?
A few months ago I gave a quick try at TDD with my toy project baciphacs.
But most importantly 2013 was the year when I dived into web application development with my long term personal project wateronmars.
Which open source project did you contribute to the most this year? What did you do?
Quite selfishly the two open source projects I contributed the most were mine:
- wateronmars (AGPL) went from its year long state of blue prints and prototype code snippets to a fully functional web application deployable by anybody interested and with a demo site on heroku. Oh and by the way it’s yet another news reader with the ambition to merge news reading and bookmark collection into a single workflow to become ultimately a personal web-surfing platform.
- yapsy (BSD) the Python plugin system with a couple of bug fixes and especially the last fix to the packaging of both the Python2 and 3 sources of this library.
By the way, I’m always welcoming contributions and contributors for these projects :)
Which Python blogs, websites, or mailing lists did you read the most this year?
What are the top three things you want to learn next year?
- The 11th color of C++ for which I already know the big picture but I lack the practical knowledge
- Machine Learning (at least a bit more than the practical experience I had in my previous job in a document analysis and text recognition company).
- Holger Dansk’s language, how to wake him up and collaborate with him (and in case you missed it a new edition of Peopleware was published in 2013).
What is the top software, application or library you wish someone would write next year?
I guess anything that would make it easy for me to recover stuff (adress books, pictures), from the silos of the big social sites would help.
But to be honest all my wishes currently go to wateronmars that could still be extended with functionalities like a pump (as in pump.io) or a way to mix result from famous search engines with one’s bookmark collection and more generally with anything already listed on the development site.
We really can’t speak of kaizen for such a small project that only develops from by small strokes twice a year, but to take into account users’ feedback I’ve started trying new tools to improve Yapsy‘s quality and make interactions with users a little smoother:
- for a few months now, the sources (originally in a mercurial repository on sourceforge) have been maintained in sync with a github repository. This should simplify the process of improvement proposals from the contributors, many of whom seem to like github a lot and will now be able to do pull requests.
- since the latest release, yapsy is also linked to the continuous integration service Travis CI so that each new commit triggers a full run of all unit-tests.
Now for those that may be interested the following are my impressions about these tools.
Recently while working on yapsy, I fell on a few subtleties related to the creation of Python packages.
- the data files used by my unit-tests were not packaged
- I couldn’t get pypi to understand that one of the source package was for Python2 installations while the other was for Python3 so that only one of them was displayed on the package page, and of course the few users yapsy has kept complaining that the code didn’t work for obvious reasons like importing ‘configparser’ whereas this module is spelled ‘ConfigParser’ in Python2
The solutions to both problems now seem obvious to me, but were strangely difficult to come across on the web.
The details of all changes can be found in the release note on sourceforge, but I’d like here to give again all my thanks to this year’s main contributors:
- Mathieu Havel
- Mathieu Clabaut
- Mark Fickett
I’m also proud to say that this year, yapsy has been adopted by the following renown project:
- Nikola, the static blog generator that I heard of on planet Python long before being contacted by its author about yapsy
- err chatbot who has had its own FLOSS Weekly episode not so long ago
A more complete list of project using yapsy is available on the online documentation.
Seeing this small piece of code being adopted by other projects in the wild is a great motivation to maintain it and to make sure it is still relevant !