Lately, I have been dedicating a lot of my time (well, at least compared to what I used to) to Free Software projects. In particular, I have spent a moderate amount of time with two projects written in Python.
In this post, I want to talk about the first, more popular project is called coursera-dl. To be honest, I think that I may have devoted much more time to it than to any other project in particular.
With it I started to learn (besides the practices that I already used in
Debian), how to program in Python, how to use unit tests (I started with
unittest framework, then progressed to
nose, and I am now using pytest),
hooking up the results of the tests with a continuous
integration system (in this case, Travis CI).
I must say that I am sold on this idea of testing software (after being a skeptical for way too long) and I can say that I find hacking on other projects without proper testing a bit uncomfortable, since I don't know if I am breaking unrelated parts of the project.
My use/migration to pytest was the result of a campaign from
called Adopt Pytest Month which a kind user of the project
let me know about. I got a
very skilled volunteer assigned from pytest to our project.
Besides learning from their pull requests, one side-effect of this whole
story was that I spent a moderate amount of hours trying to understand how
properly package and distribute things on PyPI.
You can see the package on PyPI. Anyway, I made the first upload of the package to PyPI on the 1st of May and it already has almost 1500 downloads, which is far more than what I expected.
A word of warning: there are other similarly named projects, but they don't seem to have as much following as we have. A speculation from my side is that this may be, perhaps, due to me spending a lot of time interacting with users in the bug tracker that github provides.
Anyway, installation of the program is now as simple as:
pip install coursera
And all the dependencies will be neatly pulled in, without having to mess with multi-step procedures. This is a big win for the users.
Also, I even had an offer to package the program to have it available in Debian!
Well, despite all the time that this project demanded, I think that I have only good things to say, especially to the original author, John Lehmann.