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.