Framework for command-line devops and personal productivity tools
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.)