I’ve just released a minor version of Yapsy, a small python library for plugin management.
Not a big deal actually, just a few adjustments to take into account the feedback from developers of the Nikola project where yapsy is used as a support for the application’s modular structure.
I also took from them the idea of registering yapsy to coveralls.io which motivated me to add some unit-test just to get the green badge reserved for a test coverage higher than 90%.
A new minor release of Yapsy has arrived (announced on Sourceforge).
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.
I use distutils obviously and the generated packages are uploaded on http://pypi.python.org, but I was struggling with the following problems:
- 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.