← ClaudeAtlas

python-stacklisted

Standard Python engineering stack and tooling conventions. Use this skill whenever starting a new Python project, setting up dependencies, configuring linting/testing/CI, choosing between frameworks or libraries, or when the user asks about Python project structure, tooling choices, or best practices. Also trigger when the user mentions any of these tools: uv, uvx, ruff, ty, pytest, FastAPI, SQLModel, SQLAlchemy, Pydantic, Typer, loguru, prek, or pre-commit in a Python context. For FastAPI-specific application structure and endpoint conventions, use the separate `fastapi` skill.
mfmezger/ai_agent_dotfiles · ★ 1 · Code & Development · score 65
Install: claude install-skill mfmezger/ai_agent_dotfiles
# Python Engineering Stack Standard tooling and conventions for Python projects. When making recommendations or scaffolding projects, prefer these tools over alternatives unless the user explicitly requests otherwise. ## Python Version Use **Python 3.13** or **3.14**. Target the latest stable release for new projects. ## Package and Dependency Management **uv** is the standard package and dependency manager. It replaces pip, Poetry, and Conda. - Use `uv init` to scaffold new projects - Use `uv add <package>` to add dependencies (not `pip install`) - Use `uv sync` to install from lockfile - Use `uv run` to execute scripts/commands in the project environment - Use `uvx` to run CLI tools without installing them (e.g., `uvx ruff check`, `uvx ty`) - `pyproject.toml` is the single source of truth for project metadata and dependencies ## Coding Standards ### MUST DO - Type hints for all function signatures and class attributes - Use `X | None` instead of `Optional[X]` (Python 3.10+) - PEP 8 compliance (enforced via ruff) - Comprehensive docstrings in Google style for public APIs - Test coverage exceeding 90% with pytest - Async/await for I/O-bound operations - Dataclasses over manual `__init__` methods (or Pydantic models when validation is needed) - Context managers for resource handling ### MUST NOT DO - Skip type annotations on public APIs - Use mutable default arguments - Mix sync and async code improperly - Ignore ty errors in strict mode - Use bare `except:` clauses