python-engineer

Guide Python projects to modern practices with typing, pytest, and uv.

1|Updated Jan 30, 2026
One-click install
npx skills add https://github.com/jieni777/opencode-config-backup --skill python-engineer-jieni777
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python-engineer
Source: https://github.com/jieni777/opencode-config-backup/tree/main/skills/python-engineer
Command: npx skills add https://github.com/jieni777/opencode-config-backup --skill python-engineer-jieni777

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Python projects often struggle with inconsistent practices, tooling choices, and maintainability. This guide provides authoritative, end-to-end guidance for modern Python development, covering typing, testing, packaging, configuration, logging, and framework decisions to bring projects to production-ready quality.

Core Features & Use Cases

  • Comprehensive guidance on modern Python development, including type hints, async patterns, testing with pytest, packaging with pyproject.toml, and tooling like uv, ruff, and mypy.
  • Framework and project architecture decisions for FastAPI, Django, Flask, and general library design, plus recommended project layouts (src layout) and CI/CD considerations.
  • Real-world usage: start a new Python project with best practices, migrate an existing codebase, and set up consistent workflows across teams.

Quick Start

Start a new Python project using uv and apply the recommended layout and tooling from this guide.

Frequently Asked Questions about python-engineer

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

FAQPage Schema
How do I set up a new Python project with best practices for packaging and testing?

Set up a new Python project using uv for package management, pyproject.toml for configuration, src-layout for structure, and pytest for testing. This enforces type hints and modern tooling like ruff and mypy.

What's the best way to migrate an existing Python codebase to modern tooling?

Migrate an existing Python codebase by adopting pyproject.toml, enforcing type hints, and integrating uv as the package manager. Transition to src-layout and pytest-based testing to align with modern development practices.

Do I need type hints and pyproject.toml for Python 3.9+ projects?

Type hints and pyproject.toml are required for modern Python 3.9+ projects. This ensures code quality, enables mypy static analysis, and centralizes packaging configuration, logging, and CI/CD settings.

Should I use uv or other package managers for Python packaging?

uv is the recommended package manager for Python packaging. It standardizes project workflows alongside pyproject.toml, providing faster dependency resolution and consistent environment management across teams.

How does pytest fit into modern Python CI/CD workflows?

pytest fits into modern Python CI/CD workflows as the standard testing framework. It validates code quality alongside type hints and ruff checks, ensuring maintainable production-ready Python applications.

Can I use FastAPI and Django with the src-layout packaging pattern?

FastAPI and Django work with the src-layout packaging pattern. This structure separates package code from tests, improving import handling and packaging reliability across framework choices.