Designing Python APIs

Design av Python-biblioteks-API: namngivning, signaturer, deprecation, fail-loud felhantering.

av wdm0006 · wdm0006/python-skills

Testad · Fungerar ★ 9.2/10

Designing Python APIs — Design av Python-biblioteks-API: namngivning, signaturer, deprecation, fail-loud felhantering.

Vad den gör

Vägleder designen av Python-biblioteks-API:er — progressiv exponering, mönster för endast-nyckelordsargument, anpassade undantagshierarkier och en detaljerad 'fail loud, not silent'-checklista för att undvika maskerade fel. Utlöses vid design av ett nytt biblioteks-API, granskning av ett befintligt, eller planering av en deprecation/versionsändring; länkar till en medföljande release-management-skill för deprecation-mekaniken.

Testrapport

Körde en verklig API-designuppgift (add_task med valfri prioritet/förfallodatum/återkommande/notifiering): skillens version tvingade fram keyword-only-argument för att eliminera en boolean-trap-bugg som baslinjen levererade som den var, plus en anpassad undantagshierarki med tips istället för ett bart Exception.

Testad: 2026-07-14 · Claude Code 2.x (agent harness)

Installation

git clone https://github.com/wdm0006/python-skills
cd python-skills
mkdir -p ~/.claude/skills
cp -r skills/python/api-design ~/.claude/skills/designing-python-apis

Kommandon och exempelprompter

  • /designing-python-apisDesign av Python-biblioteks-API: namngivning, signaturer, deprecation, fail-loud felhantering.

Skills triggas av vanliga förfrågningar — inga kommandon att memorera. Efter installationen aktiverar prompter som dessa skillen (på engelska):

  • Help me design the public API for a new Python caching library.
  • Review this library's function signatures before we hit v1.0.
  • How should I deprecate a parameter without breaking callers?