Python

Guide Python development with uv, ruff, mypy, and pytest workflows.

Updated Aug 27, 2026
One-click install
npx skills add https://github.com/vdemeester/home --skill python-vdemeester
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: Python
Source: https://github.com/vdemeester/home/tree/main/dots/.config/claude/skills/Python
Command: npx skills add https://github.com/vdemeester/home --skill python-vdemeester

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill codifies modern Python development practices, toolchains, and workflows to build reliable Python software.

Core Features & Use Cases

  • uv Toolchain: All-in-one Python dependency and environment manager.
  • Quality & Testing: Linting, type checking, and testing workflows.

Quick Start

Initialize a project with uv, add dependencies, and run tests.

Frequently Asked Questions about Python

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I set up a Python project with uv for dependency management?

uv is an all-in-one Python dependency and environment manager that replaces pip and venv. Initialize a project with `uv init`, add dependencies via `uv add`, and uv automatically creates and manages your virtual environment and lock file for reproducible builds.

What's the best way to lint and type-check Python code?

Ruff handles fast linting and formatting, while mypy performs static type checking. Run ruff to enforce code style and catch errors, then mypy to verify type annotations are correct, catching bugs before runtime in your Python codebase.

How do I run tests and validate Python code quality?

pytest is the standard testing framework for Python projects. Write test functions, run `pytest` to execute them, and integrate it with ruff and mypy to enforce linting, type safety, and test coverage across your Python development workflow.

Can I use these tools together in a single Python workflow?

Yes. uv manages dependencies and environments, ruff handles linting and formatting, mypy checks types, and pytest runs tests. Together they form a complete modern Python development stack that enforces quality from dependency management through testing.

Do I need pyproject.toml to use these Python development tools?

pyproject.toml is the standard configuration file for Python projects and works with uv, ruff, mypy, and pytest. You can also use uv.lock or requirements.txt, but pyproject.toml centralizes tool configuration and dependency declarations for modern Python workflows.

What happens if my Python project doesn't have a lock file?

uv generates a uv.lock file automatically when you add dependencies, ensuring reproducible environments across machines. If you have requirements.txt instead, uv can work with it, though uv.lock provides better dependency resolution and consistency for Python projects.