Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/sslivkoff/toolcli


https://github.com/sslivkoff/toolcli

Last synced: 10 days ago
JSON representation

Awesome Lists containing this project

README

        

# toolcli

`toolcli` makes it simple to create modular command line interfaces

the main usecase for `toolcli` is allowing many cli subcommands to be defined across many files in a performant way

`toolcli` uses `argparse` under the hood, making it easy to transition from `argparse` to `toolcli` when a project is ready to scale to multiple subcommands or multiple files

## Features
- lazy loading of files for fast startup times
- is agnostic to synchronous functions or `async` functions
- uses `rich` for colorized help output
- uses `argparse` under the hood for parsing arguments
- no user-facing objects, just simple functions
- built-in support for common subcommands like `help`, `cd`, and `version`
- can use middleware before and/or after main command execution (e.g. for logging or additional context injection)