Bootstrap extensible single-module python CLIs
This package is intended to generate python modules that function as CLIs and therefore shouldn't be a dependency of any module/package that it generates. Because of this it's recommended to use this package via pipx:
pipx run module-cli /path/to/module.pyIf you really want this package as one of your package's dependencies, then install via pip in the usual way:
pip install module-cliWhich you can then use the CLI:
$ module-cli -h
usage: module-cli [-h] [-v] [-D] [out]
Bootstrap a single-module python CLI
positional arguments:
out File to write to. (default: -)
optional arguments:
-h, --help show this help message and exit
-v, --version show program's version number and exit
-D, --debug run program in debug modeThe modules generated by module-cli contain a function cli(). This function is the one you'll likely want to point to if you intend to turn your module into an installable command-line application.
-
setup.cfg:[options.entry_points] console_scripts = my_cli = my_pkg.my_module:cli
-
setup.py:setup( entry_points = { 'console_scripts': ['my_cli=my_pkg.my_module:cli'], } )
-
pyproject.toml(poetry):[tool.poetry.scripts] my_cli = "my_pkg.my_module:cli"
- Have or install a recent version of
poetry(version >= 1.1) - Fork the repo
- Setup a virtual environment (however you prefer)
- Run
poetry install - Run
pre-commit install - Add your changes (adding/updating tests is always nice too)
- Commit your changes + push to your fork
- Open a PR