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
Interactive Mode (Recommended)
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
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Run the test suite
- 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)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| kens_python_cli-0.1.2.tar.gz | 21.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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.