Over the past few weeks I have been involved in the development of the Altair 2.0 release. If you haven’t heard about Altair it is a declarative statistical visualization library for Python, based on Vega and Vega-Lite. As of writing this post a 2.0 release candidate is available at altair-viz.github.io. I plan to do a more in-depth exploration of Altair soon but here I wanted to talk about my experience working on an open source project.
Open Source Community
For many years I have been using open source tools but it wasn’t until working on Altair that I had actually contributed. Jake Vanderplas, one of the lead developers, posted
In preparation for the Altair 2.0 release, we need some good example visualizations for the documentation! These could be everything from simple one-panel scatter and line plots, to more complicated layered or stacked plots, to more advanced interactive features.
I had been using github for a while but mostly for smaller projects and hadn’t been exposed to the mechanics of pull requests and open source development. I followed the instructions from the Creating a Simple Github Pull Request, also from Jake, and submitted some examples. Within minutes my example was merged! Over the next few days there was a lot of activity building out examples from the Vega-Lite Example Gallery mostly from myself and another user named @afonit. It was fun to create examples and see what others were making. For the first time I felt like I was part of the open source community I hear so much about.
Seeing how a project comes together was a very informative experience. From the documentation to writing unit tests, it was interesting to see “how the sausage was made”. I have been involved in scientific computing for a few years now but there is still a lot to learn with respect to software development. I am impressed with the effort of the carpentries to educate researchers on effective computing skills.
If you regularly use open source software consider contributing! There are many ways to contribute
so don’t be overwhelmed when faced with a large project. I found helping with documentation
to be a good entry point to get comfortable with the process. Look through the github issues for any
help wanted or
good first issue tags. Even proof reading for typos helps!
Join the open source community and contribute!