Skip to content

joaopalmeiro/template-python-cli

Repository files navigation

template-python-cli

Hatch project Ruff Checked with mypy

Opinionated Python template for new CLIs.

Getting Started

  1. Go to or create the CLI folder.
  2. Get the template files:
npx degit github:joaopalmeiro/template-python-cli

or

npx degit github:joaopalmeiro/template-python-cli --force
  1. Search for template-python-cli and replace it with the CLI name. Ignore the template repository URL in the NOTES.md file.
  2. Search for template_python_cli and replace it with the underscored version of the CLI name.
  3. Search for Opinionated Python template for new CLIs. and replace it with the (short) CLI description.
  4. Search for João Palmeiro and replace it with the author's name.
  5. Search for joaopalmeiro@proton.me and replace it with the author's email address.
  6. Open the pyproject.toml file and add the CLI-specific dependencies. See the Dependency configuration and Environment configuration pages in the Hatch documentation for more information (if necessary).
  7. Update the Source code link at the top to the CLI repository link (if necessary).
  8. Change GitHub in the Deployment section to GitLab or Codeberg and update the link to the corresponding Tags page (if necessary).
  9. Update the Issues and Source fields in the pyproject.toml file with their respective repository-related links (if necessary).
  10. Remove hatch-cli-demo/ from the .gitignore file.
  11. Delete the TEMPLATE.md file.
  12. Delete the Getting Started section.

Usage

Via pipx

pipx run template-python-cli --help
pipx run template-python-cli

Development

Install pyenv (if necessary).

pyenv install && pyenv versions
pip install hatch==1.12.0 && hatch --version
hatch config set dirs.env.virtual .hatch
hatch config show
hatch env create
hatch status
hatch env show
hatch dep show table
hatch run pip list
hatch run template-python-cli --help
hatch run template-python-cli
hatch run qa:lint
hatch run qa:format
hatch project metadata

Deployment

hatch version micro
hatch version minor
hatch version major
hatch build --clean
echo "v$(hatch version)" | pbcopy
hatch publish

About

Opinionated Python template for new CLIs.

Resources

License

Stars

Watchers

Forks

Languages