Skip to main content

A simple framework to create CLI tools

Project description


PyPI PyPI - Python Version GitHub Documentation Status codecov CircleCI

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):"foo")["bar"].run()

class BarSubcommand(Command):
    command_name = "bar"
    description = "the ultimate bar subcommand"

    arguments = [
        Option(name=["--path"], default="~")

    def main(self):
        process =
            "ls", cwd=self.arguments.path

class FooBarApp(App):
    app_name = "foobar"
    description = "Foobar application"

    config_path = ["./config.ini", "../config.ini"]

    subcommands = [FooSubcommand, BarSubcommand]

    def handle_ctrl_c(self, signum, frame):"Stopping...")

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for chuda, version 0.1.1
Filename, size File type Python version Upload date Hashes
Filename, size chuda-0.1.1.tar.gz (11.9 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page