gitlike-commands
is a python module for easily creating git
-style subcommand handling.
Refactored out of thelogrus so you don't have to import any modules that aren't part of the Python standard library.
subcommand_driver
automatically figures out what name the script was called as, then looks for subcommands and runs them if found, passing in any command line options.
So if you have a foo
script in your $PATH
as shown below
#!/usr/bin/env python3
from gitlike_commands import subcommand_driver
if __name__ == '__main__':
subcommand_driver()
Running foo bar baz
will look for a foo-bar-baz
script, and if present in your $PATH
, run it. If there is no foo-bar-baz
, it will look for foo-bar
, and if it finds that, run foo-bar baz
.
If you're using poetry in your python project, you can add a gitlike driver as a scripts entry:
[tool.poetry.scripts]
gitalike-demo = "gitlike_commands:subcommand_driver"
The subcommands can be written in any language, the only requirements are that they are marked executable and follow the foo-something
naming convention.