skills/sraloff/gravityboots/python-core-idioms

python-core-idioms

SKILL.md

Python Core Idioms (3.12+)

When to use this skill

  • Writing new Python code.
  • Refactoring legacy Python scripts.
  • Configuring linters (Ruff, MyPy).

1. Modern Syntax (3.10 - 3.12+)

  • Type Hinting: Mandatory for function signatures. Use list[str], dict[str, int] (builtin generics) instead of List, Dict from typing.
  • Union Types: Use str | None instead of Optional[str].
  • Pattern Matching: Use match / case for complex control flow (structural pattern matching).
  • Walrus Operator: Use := for assignment expression in if/while conditions when it improves readability (e.g., regex matching).
  • f-strings: Use for all string interpolation.

2. Data Structures

  • Dataclasses: Use @dataclass for data holding classes instead of strict dictionaries or raw classes.
    • frozen=True for immutability.
  • TypedDict: For legacy JSON schemas where classes don't fit.
  • Enum: Inherit from StrEnum (3.11+) if string behavior is needed.

3. Project Structure

  • pyproject.toml: Standard for configuration (ruff, pytest, mypy).
  • Virtual Envs: Always use a venv or uv/poetry environment.
Weekly Installs
3
GitHub Stars
2
First Seen
Feb 21, 2026
Installed on
opencode3
gemini-cli3
github-copilot3
codex3
kimi-cli3
amp3