A simple framework to create CLI tools
Chuda is a very simple Python3 framework to create CLI (Command-Line-Interface) tools.
It will handle for you some basic stuff: parse configuration file, logging, argument parsing, signal handling etc...
- Represent commands and argparse arguments by Python classes
- Handle parsing of a configuration file for you (INI, JSON, or YAML with pyyaml)
- Provide you a configurable logger, and some basic options to quiet/verbose mode
- Signals handling by decorator
The documentation is accessible here
import sys import signal from chuda import App, autorun, Command signal_handler, Option class FooSubcommand(Command): command_name = "foo" description = "a foo subcommand" def main(self): self.logger.info("foo") self.app.subcommands["bar"].run() class BarSubcommand(Command): command_name = "bar" description = "the ultimate bar subcommand" arguments = [ Option(name=["--path"], default="~") ] def main(self): process = self.shell.run( "ls", cwd=self.arguments.path ) self.logger.info(process.output) @autorun() class FooBarApp(App): app_name = "foobar" description = "Foobar application" config_path = ["./config.ini", "../config.ini"] subcommands = [FooSubcommand, BarSubcommand] @signal_handler(signal.SIGINT) def handle_ctrl_c(self, signum, frame): self.logger.info("Stopping...") sys.exit(2)
Release history Release notifications | RSS feed
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.