python-build-toolslisted
Install: claude install-skill martinffx/atelier
# Python Build Tools
Modern Python development tooling using uv, mise, ruff, basedpyright, and pytest.
## Quick Start
### Minimal pyproject.toml
```toml
[project]
name = "my-project"
version = "0.1.0"
requires-python = ">=3.12"
dependencies = ["fastapi", "pydantic"]
[project.optional-dependencies]
dev = ["pytest>=8.0.0", "ruff>=0.8.0", "basedpyright>=1.0.0"]
[build-system]
requires = ["hatchling"]
build-backend = "hatchling.build"
[tool.ruff]
target-version = "py312"
[tool.ruff.lint]
select = ["E", "F", "I", "N", "UP", "RUF"]
[tool.basedpyright]
typeCheckingMode = "strict"
[tool.pytest.ini_options]
testpaths = ["tests"]
```
### Setup Project
```bash
uv init my-project && cd my-project
uv sync
uv add fastapi pydantic
uv add --dev pytest ruff basedpyright
```
## Tool Overview
| Tool | Purpose | Replaces |
|------|---------|----------|
| **uv** | Package management | pip, virtualenv |
| **mise** | Version & tasks | pyenv, asdf |
| **ruff** | Lint & format | black, isort, flake8 |
| **basedpyright** | Type checking | mypy |
| **pytest** | Testing | unittest |
## Common Commands
### Lint and Format
```bash
uv run ruff check --fix .
uv run ruff format .
```
### Type Check
```bash
uv run basedpyright
uv run basedpyright src/main.py
```
### Test
```bash
uv run pytest
uv run pytest --cov=src --cov-report=html
```
### Manage Dependencies
```bash
uv add fastapi
uv add --dev pytest
uv lock --upgrade
uv tree
```
## Mise Configuration
Create `.mise.toml` for consis