Week 10 -- Had the first PR, Heading for more

In this week, my group’s contribution to Sklearn is progressing steadily. All of us have finished some PRs, waiting for review. We had regular meeting in class and out class. And during these meetings, we decided new issues to contribute.

To begin with, I opened a PR for potential enhancement. This is an issue about allowing verbose for the Gaussian progress regression class. Namely, if users define the verbose to have a value larger than 1, then the program would define two lists to track the explored \(theta\) and corresponding log marginal likelihood during regression.

It was not very hard to read through the code and get things done. I had a little trouble tackle with scipy, since Sklearn also calls scipy to do optimization. But after reading scipy’s documentation, I found a possible way to get the intermediate \(theta\) value. I would say the most difficult part is writing tests. I haven’t written any tests before, so it was a bit challenging for me to understand how things work. And it is also important to write tests that cover all the changes. There was one time that my PR didn’t pass the test case due to the reason that one block of codes was not tested.

At the same time, I was impressed by how powerful Github is now. I didn’t know that PRs can go through so many self-defined test cases automatically. And I have encountered a lot of new testing mechanisms like those checking on code styles. These workflows and extensions are surely powerful, making open source collaborations much more standardized.

Later in our group meetings, we found a new meta-issue to work on. It is an issue calling for maintenance, adjusting parameter constraint properties for public functions. There are still bunches of functions left. And we decide that this would be our “regular” contribution, namely, we can work on it if our previous PRs are waiting for review or there are no suitable new issues to work on.

In general, I am really glad that Sklearn is such a mature, active and welcoming community. And I do feel the power of open source. By reading through the codes, understanding it and trying to do adjustment to it, I have learnt a lot. I am also glad that we had a smooth beginning. Looking forward to more contributions.

Written before or on April 2, 2023