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
- lazy loading of files for fast startup times
- is agnostic to synchronous functions or
asyncfunctions - uses
richfor colorized help output - uses
argparseunder the hood for parsing arguments - no user-facing objects, just simple functions
- built-in support for common subcommands like
help,cd, andversion - can use middleware before and/or after main command execution (e.g. for logging or additional context injection)