python-pro

Modernize Python projects with uv, ruff, mypy, pytest, and src-layout.

Updated Jan 31, 2026
One-click install
npx skills add https://github.com/MGriot/.gemini --skill python-pro-mgriot
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-pro
Source: https://github.com/MGriot/.gemini/tree/main/skills/python-pro
Command: npx skills add https://github.com/MGriot/.gemini --skill python-pro-mgriot

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

This Skill guides developers to modernize Python projects by providing tooling, typing, and project-structure best practices. It addresses the pain of legacy, untyped Python projects and helps teams adopt modern workflows.

Core Features & Use Cases

  • Modern Tooling Stack with uv (or Poetry), ruff, mypy, and pytest for a robust development workflow.
  • Project Structure: enforce a src-layout and clean packaging to prevent import errors and ensure testing against installed packages.
  • Modern Idioms & Best Practices: strict typing, Pydantic for data validation, pathlib usage, and asyncio patterns. Use Case: Starting a new Python project or refactoring legacy code to a modern, production-ready state.

Quick Start

Use the swift start commands to initialize a project and add standard dev dependencies: uv init my-project cd my-project uv add --dev ruff mypy pytest pytest-cov

Frequently Asked Questions about python-pro

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

FAQPage Schema
How do I modernize a legacy Python project with modern tooling and typing?

Modernize a legacy Python project by refactoring it to use strict mypy typing, ruff linting, a src-layout, and uv or Poetry for dependency management. This enforces clean packaging and prevents import errors.

What is the recommended Python project structure for production-ready applications?

The recommended Python project structure is a src-layout, which separates source code from project configuration. This approach prevents import errors and ensures you test against installed packages.

How do I set up a new Python project using uv and standard dev dependencies?

Set up a new Python project using uv by running 'uv init my-project', then 'cd my-project', and add standard dev dependencies with 'uv add --dev ruff mypy pytest pytest-cov'. This configures a robust development workflow.

Does this Python modernization workflow support async programming and data validation?

Yes, this Python modernization workflow supports async programming and data validation through modern idioms like asyncio patterns and Pydantic. It integrates these with strict typing and a clean src-layout structure.

What's the best way to configure ruff, mypy, and pytest for Python development?

The best way to configure ruff, mypy, and pytest for Python development is by managing them as dev dependencies through uv or Poetry. This creates a robust tooling stack that enforces linting, strict typing, and testing standards.