workflow

Let’s talk workflow ‘cause I’ve spent a rather insane amount of time fighting with git. And while I much prefer mercurial, I’ve been using git for a few years now and so it’s not like I’m new to it. But, let me tell you about the many ways in which git and I are not friends right now. While I’ve been using version control back to when SVN was a thing, I’ve never really used version control in a large project, multiple branches & developers setting. And my go to is commit small and often…so my commit branch tends to be super muddled…

So rebase, right? Uh…yeah…it’s confusing as all out and I had to try it a zillion times before I found a tutorial that was clear to me and grokked the ever so unintuitive “PICK THE OLDEST COMMIT” and squash everything else. I still haven’t found anything that clearly explains how to fix merge conflicts, which wasn’t an issue in matplotlib but in a way old open PR on nltk. It took me multiple branches and resets and rebases before I got a somewhat clean pull request that was up to date with develop. I should totally rebase to clean up the commit stream, but that’s a rabbit hole I’m avoiding unless the nltk devs request it.

But, at least for future MPL issues, one of my mentors helpfully pointed me to the dev workflow page, so that’s bookmarked for future reference. And this all came up because my mentors wanted to get my PR merged into master; said messy rebase later, basic string/categorical axis support is now merged into master. Next up is folding in support for Python3 dicts by creating a wrapper that in theory can be used to fold in support for other non convertable to array types.

And I think I have to learn pytest as matplotlib is moving from nose (now deprecated) to pytest for testing. I have :no_mouth: emotions about this ‘cause I feel like the pytest docs suffer from the same issues as the nose docs, namely that they can be incredibly confusing for people who aren’t knee deep in testing. I prefer unittests mostly ‘cause those docs are better at assuming that the user doesn’t know anything about testing. But yeah, that’s a next task and a rabbit hole I shouldn’t wonder too far down.

Also, I wish I could’ve gone to PyCon, but alas, instead I’ve got 3 high school students in my lab learning how to use Python to try to sort out how accurately satellites measure snow.