Bootstrap extensible single-module python CLIs
Project description
module-cli
Bootstrap extensible single-module python CLIs
Installation
With pipx
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.py
With pip
If you really want this package as one of your package's dependencies, then install via pip
in the usual way:
pip install module-cli
Which 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 mode
Installing your CLI
The 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"
Contributing
- 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
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file module-cli-22.4.2.tar.gz
.
File metadata
- Download URL: module-cli-22.4.2.tar.gz
- Upload date:
- Size: 4.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.4 Linux/5.13.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | fc4cee5372867ddd194e8f1760e21e71eacf61fcb6d5248f31c19911b90cce1a |
|
MD5 | 38239a5bcec0c1ad10e56ca91c967af6 |
|
BLAKE2b-256 | 532b670c3685410cc0d9c5367c9c5d35e2d6104a506a79408780155e0a7f447f |
File details
Details for the file module_cli-22.4.2-py3-none-any.whl
.
File metadata
- Download URL: module_cli-22.4.2-py3-none-any.whl
- Upload date:
- Size: 4.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.1.12 CPython/3.10.4 Linux/5.13.0-1021-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6d2c71f24b47a2291cfcd6174b0811b325e789083c31b0c8a2a7ddd734c83600 |
|
MD5 | 01d3057a9e0acd30a7cb47e5e23cc191 |
|
BLAKE2b-256 | c2c4d1e39cc4e12359f08b4f1b82ba543359fab75ed088add5de36e316d3375f |