python

Develops Python projects with uv, ruff, pytest, typing, asyncio, and packaging workflows.

22|Updated Sep 10, 2026
One-click install
npx skills add https://github.com/Lynricsy/HyperSkills --skill python-lynricsy
Or copy as Structured Prompt for Agent
Please help me install this Agent Skill.
Skill: python
Source: https://github.com/Lynricsy/HyperSkills/tree/main/skills/python
Command: npx skills add https://github.com/Lynricsy/HyperSkills --skill python-lynricsy

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve? Python projects accumulate inconsistent tooling: stale requirements.txt files, misconfigured pytest tables, silently ignored lint rules, and asyncio bugs that pass every check. This Skill provides adjudicated, version-accurate guidance for the entire modern Python toolchain so an agent configures, migrates, tests, types, and publishes Python code correctly the first time. ## Core Features & Use Cases - Project setup and migration: Converts pip/setup.py/Poetry projects to uv with pyproject.toml, dependency groups, lockfiles, and PEP 723 single-file scripts, including cleanup of replaced tooling. - Lint, typing, and test discipline: Configures ruff rule selection and fix loops, ratchets mypy/pyright strictness per module, and diagnoses pytest isolation failures, mocking mistakes, and silently ignored configuration. - Asyncio and runtime traps: Catches blocking calls in async code, lost fire-and-forget tasks, swallowed cancellations, and mutable-default or late-binding bugs that linters miss. - Packaging and publishing: Covers src layout, build backends, versioning, py.typed, TestPyPI rehearsal, and OIDC Trusted Publishing. - Use Case: A repository still ships setup.py plus requirements.txt and a test suite that passes alone but fails in the full run. The Skill migrates the project to uv, fixes the session-scoped fixture leaking state, and corrects the pytest config table the pinned version ignores. ## Quick Start Use the python skill to migrate this repository from requirements.txt and setup.py to uv with pyproject.toml, then make the test suite pass reliably.

Frequently Asked Questions about python

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

FAQPage Schema
How do I migrate a Python project from requirements.txt to uv?

Import dependencies with uv add -r requirements.txt, move dev tooling into [dependency-groups] with uv add --group dev, and delete the old requirements and setup.py files in the same change. Commit uv.lock for applications and run everything through uv run instead of activating a virtualenv.

How do I configure ruff rule selection in pyproject.toml?

Start with an explicit select list such as E, F, I, UP, B, and SIM, then widen one group at a time. Avoid select = ["ALL"] because it adopts every rule added in future ruff releases, turning a version bump into a lint failure.

Why is my pytest configuration in pyproject.toml being ignored?

The [tool.pytest] table requires pytest 9.0 or newer; older versions only read [tool.pytest.ini_options] and silently drop the native table. Check the configfile line in the pytest startup header, and remember the first matching config file wins with no merging.

Why does my asyncio task sometimes never run?

The event loop holds only weak references to tasks, so a fire-and-forget asyncio.create_task result can be garbage collected mid-execution. Keep a strong reference to every task or create it inside an asyncio.TaskGroup, and add a done callback so the reference set does not leak.

Should I use asyncio.TaskGroup or asyncio.gather?

Prefer TaskGroup: when one child fails it cancels the siblings and raises an ExceptionGroup, while gather propagates the first exception and leaves the rest running unobserved. Use gather only when you need positional results or return_exceptions=True semantics.

When should I not use this Python toolchain guidance?

The skill excludes web frameworks such as FastAPI and Django, data analysis with pandas or Jupyter, and model training, which belong to their own skills. On an existing project, the declared pyproject.toml configuration overrides the skill's defaults.