OSS TanbouSign in with GitHub

start a Typer CLI from a structure with execution, tests, and automated checks

About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
0
Primary language
Python
Repository last updated
Jul 20, 2026
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

Combine commands, subcommands, tests, and quality checks in one template

Python CLI Template supplies Typer commands and subcommands, pytest, Ruff, pre-commit, GitHub Actions, and a uv lockfile. Its template-cli examples show greetings, mail operations, options, and error paths.

Sources: [1][2]

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.

Sources: [1][3]

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.

Sources: [1][4]

Official sources

  1. [1]Python CLI Template README at commit 3739120(2026-10-05)
  2. [2]Template CLI generated usage at commit 3739120(2026-10-05)
  3. [3]Python and dependency requirements at commit 3739120(2026-10-05)
  4. [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. 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. 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. 3

    Run the bundled tests

    Run pytest in the same directory to cover representative commands, options, and subcommands.

    uv run pytest -q
Check the official README

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

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
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?