python-tools-scripts
Python Tools Scripts
What it is and what it does
Python Tools Scripts is a CLI framework that discovers Python functions in a repository's tools package and automatically exposes them as command-line commands. It uses argparse under the hood and relies on decorators to define command groups and individual commands with their arguments. You define functions in tools modules, decorate them to register as commands, and the framework generates a full CLI with help text, argument parsing, and subcommand hierarchies.
It's designed for repository-level automation—tasks like VM management, deployment, testing, or local development workflows. The framework handles argument definition, type hints, and context passing to commands. Dependencies include attrs, pydantic, rich, requests, filelock, and typing-extensions, all of which are widely maintained. The package itself is dormant since 2024-02-29, so it is stable but not actively developed.
Use it for:
- Define repository-level automation scripts (deployment, testing, VM management) as discoverable CLI commands.
- Build task runners for development workflows without writing raw argparse boilerplate.
- Create hierarchical command structures from Python functions in a tools package.
- Share command definitions across team members via a tools package in version control.
- Organize local development tasks into a unified CLI interface.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Builds CLI tools by auto-discovering Python functions in a repository's tools package and exposing them as command-line commands with argparse-based argument handling.
Yes, if you need a lightweight CLI framework for repository automation and are comfortable with dormant maintenance. The package is stable, has low install friction, and uses well-maintained dependencies. It is not suitable if you require active bug fixes, new features, or ongoing support—the last release was 2024-02-29 with no subsequent commits. Consider it for established projects where the CLI is unlikely to need frequent changes.
Install
python-tools-scripts on PyPI
pip
pip install python-tools-scriptsuv
uv add python-tools-scriptspoetry
poetry add python-tools-scriptsInstalling python-tools-scripts
Before you install
Low install friction with six common dependencies (attrs, pydantic, rich, requests, filelock, typing-extensions). Maintenance is dormant—last release was 2024-02-29 and no commits since then—so expect no active bug fixes or feature updates.
License in practice
Apache Software License 2.0 (permissive) imposes no significant restrictions on use or redistribution; suitable for both open-source and proprietary projects.
Quickstart
# In tools/__init__.py, import your scripts
from tools import my_script
# Then run from repository root:
# tools -h
Requires Python 3.9 or later and a tools package in your repository root.
Verify before relying
- Whether the package is actively maintained or if dormant status signals end-of-life intent.
- How well it handles complex nested command hierarchies or large numbers of commands.
- Whether rich output formatting is configurable or mandatory for CLI output.
- Specific examples of how command discovery and decorator-based registration work in practice.
Package facts
| License | Apache Software License 2.0 (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 6 — attrs, pydantic, rich, requests, filelock, typing-extensions |
| Maintenance | dormant — 897 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 586,237/month — #5,882 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: python_tools_scripts-0.20.5-py3-none-any.whl
Tags
More Build Tools packages
Provides reusable utilities for Python…
permissive · top 100 on PyPI
tqdmWraps any iterable to display a real-time…
copyleft · top 100 on PyPI
pippip is the standard installer for Python…
permissive · top 100 on PyPI
hatchlingHatchling is a standards-compliant Python build…
permissive · top 100 on PyPI
grpcio-toolsGenerates Python gRPC service stubs and message…
permissive · top 1,000 on PyPI
pre-commitpre-commit is a framework for installing and…
permissive · top 1,000 on PyPI
decliDecli wraps argparse to let you define…
permissive · top 5,000 on PyPI
autocommandAutocommand converts a Python function into a…
copyleft · top 5,000 on PyPI
entrypoint2Converts Python function signatures and…
permissive · top 15,000 on PyPI
sphinx-argparseSphinx extension that automatically generates…
permissive · top 5,000 on PyPI
azure-cliAzure CLI is a command-line tool for managing…
permissive · top 5,000 on PyPI
clizeClize turns Python functions into command-line…
permissive · top 15,000 on PyPI
python-vagrantProgrammatic control of Vagrant virtual…
permissive · top 5,000 on PyPI
placPlac generates command-line interfaces from…
permissive · top 5,000 on PyPI
just-binDistributes the `just` command-line task runner…
permissive · top 15,000 on PyPI
pulumi-commandExecutes commands and scripts locally or…
permissive · top 5,000 on PyPI