Python makes it very easy to create CLI scripts. Let’s create a remove-arrow
command for our arrow-to-knee
package in src/arrow_to_knee/cli.py
:
src/arrow_to_knee/cli.py
1 2 3 4 5 6 7 8 9
# This is an optional dependency, so importing # _this_ package will fail if you don't have it from rich import print as rprint def remove_arrow(): # Uses the rich library for formatting rprint("[italic red]It's stuck! Can't remove[/italic red]") raise SystemExit(1)
We can expose this as a CLI application by adding an entry in the project.scripts
section:
pyproject.toml
1 2
[project.scripts] remove-arrow = "arrow_to_knee.cli:remove_arrow"
This is defining a CLI application called remove-arrow
implemented by the remove_arrow
function defined in the arrow_to_knee.cli
module. Let’s test it out:
$ remove-arrow
It's stuck! Can't remove