shiv icon indicating copy to clipboard operation
shiv copied to clipboard

Factor out business logic of `shiv` command to facility direct use in python scripts.

Open amundhov opened this issue 2 years ago • 1 comments

I'm moving to shiv from a home-grown zipfile packaging script. Really enjoy the simplicity and control of this project, but wanted a way to reuse the logic in main() of cli.py without launching a sub-process or unwrapping the decorations made by click.

This PR factors out the the console commands into its own module and leaves main() as a regular function in cli.py. python -m shiv and python -m shiv.cli should still reference the click command.

Users may find their scripts breaking if they depended directly on shiv.cli.main, but I see it's been left out of the Shiv API in the documentation. Do let me know if it's a desire to keep main() functionally unchanged (or if the change should be mentioned in the docs) and I'll work around that.

Tests passing on my machine and API docs updated.

Best, Amund

amundhov avatar Oct 20 '23 14:10 amundhov

docs check failing due to :option:`--python` which does not resolve. :option:`shiv --python` however, does.

amundhov avatar Oct 20 '23 14:10 amundhov