This blog has been archived.
Visit my home page at

Using a personal helper package in everyday scripting

Recently I've been scripting (mostly in Python) quite a bit, and noticed that some functionalities get copied over or reimplemented over and over again. Examples include reading configuration files (mostly JSON, INI, and YAML), printing progress information to tty in color, displaying progress bar, and so on.

In light of this, I came up with the idea of keeping a pool of helper modules in a personal helper package. I'm unimaginative at naming things, so I just named my package zmwangx. It is published on GitHub, and the API docs are published on Read the Docs for easy reference during scripting.1 At the time of writing the following helper modules are available in the package:

With a personalized helper package, scripting has never been more enjoyable. Here are just some of the benefits:

Of course, one cannot depend on such a package in a formally published package (say, one published to PyPI), so things like or whatever are still necessary from time to time. But for day-to-day scripting, having a personal helper package that is used accross the board is definitely a good idea.

  1. I'm pretty paranoid about documenting things.↩︎