On this page
Overview
Python CLI Template is a project scaffold for implementing commands with Typer, locking dependencies with uv, and validating behavior with pytest and Ruff.
Features and best fit
Based on official documentation; not hands-on tested · Content checked:
Key features
Best fit
Fits small projects that want to begin with CLI behavior
It helps teams choose a distribution, package, and executable name without rebuilding common lint, format, test, and usage-documentation machinery. The fixed commit requires Python 3.14 or later and uv and can run its bundled command and tests locally.
Before adoption
Review the initialization workflow and license before publication
The documented initialization runs in GitHub Actions, renames the package and CLI, and pushes a commit. Local evaluation runs the fixed template unchanged; a real project should review workflow output in its own repository. GitHub metadata declares no license and the root contains no license file, so redistribution terms require clarification from the author.
Official sources
- [1]Python CLI Template README at commit 3739120(2026-10-05)
- [2]Template CLI generated usage at commit 3739120(2026-10-05)
- [3]Python and dependency requirements at commit 3739120(2026-10-05)
- [4]python-cli-template GitHub metadata(2026-10-05)
Supplemental curator note
This template is useful when a Python CLI team wants tests, linting, usage docs, and CI in place while focusing on command design. Run the fixed commit to understand it, then review the initialization commit and clarify licensing before adoption.
Try it in 3 steps
- 1
Check out the fixed template and verify requirements
Requires Git, Python 3.14 or later, and uv. Clone into an isolated temporary directory and verify the fixed commit and runtime.
cli_demo_dir=$(mktemp -d "${TMPDIR:-/tmp}/python-cli-template.XXXXXX") && cd "$cli_demo_dir" && git clone https://github.com/st4rfox/python-cli-template.git . && git checkout --detach 37391208b6f971f7fb653ca36bfa4465e9ef7ebc && python3 -c 'import sys;assert sys.version_info>=(3,14)' && uv --version - 2
Sync dependencies and run the example CLI
Create the environment from the lockfile and verify the bundled template-cli greeting for World.
uv sync --locked && [ "$(uv run template-cli hello --name World)" = 'Hello, World!' ] - 3
Run the bundled tests
Run pytest in the same directory to cover representative commands, options, and subcommands.
uv run pytest -q
Growth
Growth trends · Last 30 days
0 Stars
Trend data is still being collected.
Development activity
Last 90 days · weekly
- Commits (last 30 days)
- 0
- Open PRs
- 0
Development activity is still being collected.
Built with
Categories and tags
Categories
GitHub data
GitHub dataView detailed GitHub data
- Stars
- 0
- Forks
- 0
- Watchers
- 0
- Open issues
- 0
- Contributors
- 1
- Owner type
- User
- Primary language
- Python
- Repository last updated
- Jul 20, 2026
Related information
Write a related articleShare a guide or use case for this OSS in Markdown. Articles are published after administrator approval.
Explore next
- PyTorch103,766 Stars
1 shared tag(s) · 1 shared category(s) · Same language
tensor computation and automatic differentiation from Python
Python - AutoGen61,263 Stars
1 shared tag(s) · 1 shared category(s) · Same language
Build multi-stage AI workflows by coordinating specialized agents through conversations and events
Python - LiteLLM60,131 Stars
1 shared tag(s) · 1 shared category(s) · Same language
unify 100+ LLM providers behind OpenAI-compatible interfaces and centralize routing, cost controls, guardrails, and logging in an AI gateway
Python - CrewAI59,348 Stars
1 shared tag(s) · 1 shared category(s) · Same language
combine role-based Crews with event-driven Flows to build multi-agent automation
Python - Aider49,381 Stars
2 shared tag(s) · 2 shared category(s) · Same language
edit code from the terminal with repository-wide context
Python - Crawl4AI84,764 Stars
2 shared tag(s) · 1 shared category(s) · Same language
a Python crawler that turns browser-rendered web pages into LLM-ready Markdown and JSON
Python
Report incorrect information
Tell us if any listing information is incorrect or outdated.