Skip to main content

ia-python-services

Python patterns for CLI tools, async concurrency, and backend services. Use when working with Python code, building CLI apps, FastAPI services, async with asyncio, background jobs, or configuring uv, ruff, ty, pytest, or pyproject.toml.

来源信息

仓库
iliaal/whetstone
最近来源活动
2026年10月25日 14:51
检测到的 SKILL.md 语言
英语
星标
35
Forks
5

安装方式

默认使用会先检查来源的 Prompt;你也可以切换为直接命令,或下载本地副本。

检查来源文件

决定是否安装前,请先阅读 SKILL.md,以及 SkillsMP 当前展示的配套文件。

文件资源管理器
7 个文件

正在显示 SKILL.md

SKILL.md
来源说明 · 只读预览
name
ia-python-services
class
language
description
Python patterns for CLI tools, async concurrency, and backend services. Use when working with Python code, building CLI apps, FastAPI services, async with asyncio, background jobs, or configuring uv, ruff, ty, pytest, or pyproject.toml.
paths
["**/*.py","**/pyproject.toml","**/ruff.toml","**/uv.lock"]
# Python Services & CLI ## Working rules - Validate external inputs and responses at boundaries; preserve exception causes. - **Keep missing results distinct from empty results.** When an empty collection means success, require the response field instead of defaulting it to empty; an all-default model can validate `{}` as success. Test missing, misspelled, explicitly empty, and populated payloads through the real validation boundary. - Keep simple sequential work synchronous. Bound concurrent work, preserve cancellation, and keep task references. - Give network calls timeouts; retry only failures and operations whose semantics permit it. - Enforce job idempotency with atomic writes and database constraints. - Preserve published API behavior and shared migration history. - Match telemetry to an operational question and verify its output. ## Discipline - Simplicity first: every change as simple as possible, impact minimal code - Only touch what's necessary; avoid introducing unrelated changes - No hacky workarounds: if a fix feels wrong, step back and implement the clean solution - Before adding a new abstraction, verify it appears in 3+ places. If not, inline it. - Verify: see Verify section below; pass all checks with zero warnings before declaring done ## Verify - `uv run pytest` passes with zero failures - `uv run ruff check .` passes with zero warnings - `uv run ty check .` passes with zero errors - Coverage target: 80%+ (`uv run pytest --cov`; add `--cov-report=html` for a browsable report) ## Task-specific references Read the relevant reference before implementing or reviewing the matching behavior: - For packaging, environment configuration, CLI setup, or pytest behavior: [tooling-and-tests.md](./references/tooling-and-tests.md). - For asyncio, background jobs, retries, pooling, timeouts, or health checks: [concurrency-and-resilience.md](./references/concurrency-and-resilience.md). - For APIs, validation, errors, migrations, logging, metrics, or traces: [service-boundaries.md](./references/service-boundaries.md). Existing specialized references, when the corresponding topic applies: - [cli-tools.md](./references/cli-tools.md). - [fastapi.md](./references/fastapi.md).
在 GitHub 查看