Weekly Journal 5 - Miniflux, Newsblur, Python requests, GitHub API

Synopsis

I completed my trial of Miniflux, and found some time to write some actual code this week.

Miniflux Trial

After trying out Miniflux for a full week, I have ended the trial and renewed my Newsblur subscription instead. While I did like Miniflux’s minimalist interface, it was difficult to read through my 150+ subscriptions, and there were a few it was unable to parse. For my needs, Newsblur does a better job of managing a large number of feeds, and it has a high tolerance for badly formatted feeds.

Python Requests and the GitHub API

I had the opportunity to write a little code this week. Since I have become a manager, it is a fairly rare occurrence for me to have enough free time to build something meaningful. Anyway, I wrote a script that takes a git tag, and extracts the list of pull requests and associated commits, and puts it all together into a Markdown document. The document can then be used to help trace our code changes from requirements all the way through the development process.

To accomplish this, I wrote a script in Python that used the Requests library to interact with the GitHub API. Requests is an incredible library for working with HTTP-based APIs. I like it so much that even when there is a Python library or SDK, like with the GitHub API, I would rather use Requests to interact with the API directly. In this, even with calling the API directly, my script is only about 100 lines of code.

The Markdown document is created from a Jinja2 template. I can highly recommend both libraries if you develop in Python.

What’s Next?

I am hoping to either finish work on my script, or hand it off to a one of our more capable developers. The big feature I still need to implement is figuring out how to correlate the PRs and tags with a build number from our CI system. Then I want to get back into building some AWS account management automation.