Skip to main content

Posts

Showing posts from February, 2016

gh-pages: .nojekyll

I had the devil of a time trying to get a custom website to show up on github pages. It was sphinx generated documentation and I had put it on the website under a directory called manual. It was all borked. Not only did the nice stylesheet not show up, none of the images showed up either. I tried a whole bunch of things, but finally, from a hint here, it turns out that you need to add an empty file named .nojeykll in the root directory, and that allows you to add your own custom projects.

Python - Click

Python excels at making it quick and simple to convert your one-off scripts (or so you thought) into easy to use command line driven programs. The package that made me fall in love with this process was docopt (my notes here, here and here).

A year after I started to use docopts a colleague (twocolleagues actually) introduced me to the Python click package. I was initially reluctant to migrate an existing code base to docopt, but I decided to give it a spin and have not looked back.

There was a recent post comparing argparse, docopt and click shared by another colleague, perhaps prompted by an internal debate about the merits of the different options available.

One thing that gets missed in these comparisons is more specific and complicated use cases. I just found a simple, specific use case where Click blows the other two away in terms of managing complexity and improving readability:

My application requires me to pass in key, value pairs in the command line that serve as metadata f…