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.
Another release of yapsy, my little do-it-yourself plugin library, just before the end of the year, and maybe also the end of the world ;)
This year has brought even more ideas and important features to yapsy via user contributions and stackoverflow questions than previously.
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 !
A new version of Yapsy, my fat-free DIY plugin framework, has just been released ! The project went (again) dormant for a bit more than one year during which a couple of bug reports and features requests eventually waked it up :)
More details on the new release are available on sourceforge and so are the downloadable files.
And the first big news is that there is a version compatible with Python3 at last !
Another big news is that this gave me the occasion to search a bit over the internet and realise that there are actually people talking about yapsy here and there.
You find traces of it already on the famous stackoverflow (yes as far as I can tell, and as of 2011/12 they are all mentions of ‘my’ yapsy, very moving indeed :) ), on this quick inventory of Python plugin systems and more anecdotally on pastebin
And for the specific projects that use this library, so far I’ve found:
And of course this adds up with the great people I already had the occasion to thank in my latest post about yapsy.
Let’s face it, this ridiculously small piece of code is h-y-p-e… (ok I may be overdoing it a little but if I don’t do it who will ?)