WizLib

WizLib is a framework for command-line devops and personal productivity tools in Python.

Getting started

See the sample project to get started with WizLib. Browse related projects for real-world examples of WizLib usage. Then consult the reference guide for details.

Capabilities

WizLib wraps the built-in ArgumentParser with a set of functions, classes, and conventions that enables:

  • Easy addition of loosely coupled new subcommands
  • Unified access to configuration files with a normalized approach
  • Standardized use of stdin, stdout, and stderr
  • Plugin-type system for handling alternate UIs (such as curses or even a web UI)
  • Usable completion support for user input
  • Abstracts some of the argparse complexity
  • Applies conventions to application code structure
  • Supports test-driven development and CICD

History

The WizLib project emerged from a difficult period in my life. Unemployed and recovering from a major health condition, I threw myself into one activity that soothed me: coding in Python. Because of a vision impairment (and personal preference) I focused on simple, easy-to-use command-line applications to help with daily life such as a todo list manager and a utility for organizing files in Dropbox. Some of the tools required similar parts, so I started collecting them into a library, giving birth to WizLib itself.

(I called the original collection "Steampunk Wizard", but that's a story for friends.)