Skip to main content

kens-python-cli

Modern Python CLI scaffolding tool for rapid development. Create production-ready Python CLI applications with best practices, modern tooling, and beginner-friendly guides.

Features

  • 🚀 Modern Python CLI - Built with Typer, Rich, and Pydantic
  • 🛠️ Best Practices - Type hints, testing, linting, and formatting
  • 🔧 Developer Experience - Interactive prompts, beautiful output
  • 📦 Cross-Platform - Works on Windows, macOS, and Linux
  • 🤖 Claude-Optimized - Special documentation for AI-assisted development
  • ⚡ Fast Setup - Uses uv for lightning-fast dependency management

Installation

# Run directly (recommended)
uvx kens-python-cli my-awesome-cli

# Or install globally
uv tool install kens-python-cli

Quick Start

# Create a new CLI project
uvx kens-python-cli my-cli-tool

# Navigate to project
cd my-cli-tool

# Install dependencies
uv sync

# Run your CLI
uv run my_cli_tool --help

Usage

uvx kens-python-cli

The tool will guide you through creating your CLI project with interactive prompts.

Non-Interactive Mode

uvx kens-python-cli my-cli-tool \
  --author "Your Name" \
  --email "your@email.com" \
  --python 3.11 \
  --async \
  --github-actions \
  --yes

Options

  • --author, -a - Author name
  • --email, -e - Author email
  • --python, -p - Python version (3.11, 3.12, 3.13)
  • --output, -o - Output directory
  • --template, -t - Template to use (default: "default")
  • --async - Use async/await patterns
  • --github-actions - Include GitHub Actions workflow
  • --no-tests - Skip testing setup
  • --no-docs - Skip documentation
  • --no-pre-commit - Skip pre-commit hooks
  • --yes, -y - Skip interactive prompts

What You Get

Project Structure

my-cli-tool/
├── src/
│   └── my_cli_tool/
│       ├── __init__.py
│       ├── main.py              # CLI entry point
│       ├── config.py            # Configuration management
│       ├── commands/            # Command modules
│       │   ├── info.py         # System information
│       │   └── process.py      # File processing
│       └── utils/              # Utility functions
│           ├── logging.py      # Rich logging
│           └── helpers.py      # Helper functions
├── tests/                      # Comprehensive test suite
├── pyproject.toml             # Modern Python configuration
├── README.md                  # Project documentation
├── PROJECT_GUIDE.md          # Claude-optimized development guide
└── .gitignore                # Git ignore file

Tech Stack

  • Typer - Modern CLI framework
  • Rich - Beautiful terminal output
  • Pydantic - Data validation
  • uv - Ultra-fast package manager
  • Ruff - Lightning-fast linter
  • pytest - Testing framework
  • mypy - Static type checking

Generated Features

  • ✅ Interactive CLI with help, version, and configuration commands
  • ✅ Type-safe with full mypy support
  • ✅ Beautiful output with Rich progress bars, tables, and styling
  • ✅ Cross-platform file operations using pathlib
  • ✅ Comprehensive testing with pytest and coverage
  • ✅ Code quality with Ruff linting and formatting
  • ✅ Pre-commit hooks for automated quality checks
  • ✅ Documentation with examples and best practices
  • ✅ Claude-optimized development guide

Example Generated CLI

# Your generated CLI will have these commands
my-cli-tool --help
my-cli-tool hello --name "World"
my-cli-tool info system
my-cli-tool process files *.txt --recursive
my-cli-tool config --show

Development

Setup

# Clone the repository
git clone https://github.com/ken/kens-python-cli.git
cd kens-python-cli

# Install dependencies
uv sync --dev

# Install pre-commit hooks
uv run pre-commit install

Running Tests

# Run all tests
uv run pytest

# Run with coverage
uv run pytest --cov=kens_python_cli

# Run specific test file
uv run pytest tests/test_main.py

Code Quality

# Format code
uv run ruff format

# Lint code
uv run ruff check

# Type checking
uv run mypy src/kens_python_cli

Publishing

This project uses uv for publishing:

# Build the package
uv build

# Publish to PyPI
uv publish

Contributing

  1. Fork the repository
  2. Create a feature branch
  3. Make your changes
  4. Add tests for new functionality
  5. Run the test suite
  6. Submit a pull request

License

MIT License - see LICENSE file for details.

Acknowledgments

  • Built with Typer by Sebastian Ramirez
  • Inspired by create-next-app for web development
  • Uses Rich by Will McGugan for beautiful terminal output

Create amazing Python CLI tools with modern best practices and AI-assisted development! 🐍✨

Metadata

Release files for kens-python-cli 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for kens-python-cli 0.1.2
File Size Uploaded Provenance
kens_python_cli-0.1.2.tar.gz 21.1 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for kens-python-cli 0.1.2
File Interpreter ABI Platform
kens_python_cli-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 48.5 kB

Release files / kens_python_cli-0.1.2.tar.gz

Download URL kens_python_cli-0.1.2.tar.gz
Size 21.1 kB
Tags Source
SHA-256 checksum
How to use checksums
0aabce8e60735516b9c7b1a20785eb62f48799b3f2c4e27fb2bbacfdeb684a99
BLAKE2b-256 checksum
How to use checksums
8aaefd488db01a86091c9bec036618819a50f1c96cb20091a2048f4477cc36cb
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.16

Release files / kens_python_cli-0.1.2-py3-none-any.whl

Download URL kens_python_cli-0.1.2-py3-none-any.whl
Size 27.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1ef31a63cb9db8bc2669fcfa8964a40fcce3057fb987f17087024b6759c6b125
BLAKE2b-256 checksum
How to use checksums
f87690f8849dd53b12f5b93b51bc69962cfb61ea1258de6a68b7a94131502e59
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.7.16

Security for kens-python-cli 0.1.2

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page