Skip to content

Releases: ludo-technologies/python-best-practices

v0.6.0

Choose a tag to compare

@DaisukeYoda DaisukeYoda released this 18 Jul 12:43
8f2d989

What's Changed

  • Add Design Principles rule: design-no-global-singleton (prefer dependency injection / explicit ownership over module-level singletons)
  • coding-standards now covers 26 rules across 7 categories (up from 25)
  • Document pipx run add-skills as an alternative install method
  • Update LICENSE copyright year
  • Fix broken README table and clean up stray blank lines

Full Changelog: v0.5.0...v0.6.0

v0.5.0

Choose a tag to compare

@DaisukeYoda DaisukeYoda released this 14 Jul 17:37
76ce0d1

What's Changed

  • Add Error Handling category to coding-standards: error-no-silent-exceptions (never swallow exceptions)
  • coding-standards now covers 25 rules across 7 categories

Full Changelog: v0.4.0...v0.5.0

v0.4.0

Choose a tag to compare

@DaisukeYoda DaisukeYoda released this 07 Jul 05:12
a23c660

v0.4.0

Adds a new testing skill for pytest best practices, and a Pydantic rule for validating data at trust boundaries.

New Skills

  • testing — Test-writing best practices for pytest. 12 rules across 4 categories: Mocking (mock-boundaries, mock-autospec, mock-monkeypatch), Test Structure (struct-aaa-pattern, struct-test-naming, struct-one-behavior, struct-no-logic), Fixtures (fixture-scope, fixture-conftest, fixture-factory), and Parametrization (param-parametrize, param-ids)

New Rules

  • Data Validation — New category in coding-standards with validation-pydantic: use Pydantic for boundary data (HTTP requests, CLI args, env vars, config, external APIs), reserving @dataclass for internal domain objects

coding-standards now covers 24 rules across 6 categories (up from 23 across 5).

Fixes & Improvements

  • oop-dataclass — Point to validation-pydantic for the dataclass-vs-Pydantic boundary instead of a vague "consider pydantic for validation" note
  • Update README and CONTRIBUTING with the new skill, rule counts, and validation-/testing-prefix categories

Full Changelog: v0.3.0...v0.4.0

v0.3.0

Choose a tag to compare

@DaisukeYoda DaisukeYoda released this 03 Jul 14:11
6208dac

v0.3.0

Expands the coding-standards skill with SOLID and documentation rules, and fixes skill activation so Claude Code picks up the right skill automatically.

New Rules

  • Design Principles — Complete the SOLID set with solid-ocp, solid-lsp, and solid-isp (Open/Closed, Liskov Substitution, Interface Segregation), each with bad/good Python examples and Protocol-based patterns
  • Documentation — New category with doc-docstring and doc-type-hints rules

coding-standards now covers 23 rules across 5 categories (up from 18 across 4).

Fixes & Improvements

  • Replace the nonstandard globs frontmatter field with the official paths field, and rewrite skill descriptions in third person with explicit "Use when..." triggers — Claude Code was ignoring globs, so skill activation is now reliable
  • Update README and CONTRIBUTING with the new rule counts and solid-/doc- prefixes

Full Changelog: v0.2.0...v0.3.0

v0.2.0

Choose a tag to compare

@DaisukeYoda DaisukeYoda released this 06 Jun 15:11
083b37e

v0.2.0

Corrections to the rule set, surfaced by a cross-cutting review with subagents. This release fixes 8 high-severity issues — incorrect or unsafe code examples and one structural mismatch.

Fixes & Improvements

  • async-semaphore — Create the Semaphore inside a running loop (avoid wrong-loop RuntimeError); cache one semaphore per loop and drop the module-level example
  • async-create-task — Fix collections.abc.Set misuse → set[asyncio.Task[None]]; retrieve task results in the done-callback; clarify fire-and-forget vs. TaskGroup
  • async-gather — Inspect return_exceptions=True results with isinstance, handling CancelledError (a BaseException) explicitly; note siblings keep running on default failure; mention asyncio.timeout()
  • design-single-responsibility — Flag SHA-256 as unsafe for passwords (use argon2/bcrypt); drop field-less @dataclass usage
  • oop-dataclass — Document the mutable-default pitfall (field(default_factory=...)), frozen/__hash__, and Decimal for money
  • oop-protocol — Add an ABC example for shared implementation and the @runtime_checkable signature limitation
  • oop-property — Warn against property overuse; assign via the setter in __init__; note cached_property is not thread-safe
  • pkg-uv — Lead with the uv.lock project workflow (uv add/lock/sync/run); demote uv pip compile to a pip-compatibility section
  • Moved tooling.md out of rules/ so the rule count (18) matches the directory contents

Full Changelog: v0.1.0...v0.2.0

v0.1.0

Choose a tag to compare

@DaisukeYoda DaisukeYoda released this 30 Jan 13:02
8b9f0b2

Initial Release

Python best practices skill for AI coding agents.

Skills

coding-standards - 18 rules across 4 categories

  • Performance Optimization
  • Async Processing
  • Design Principles
  • Object-Oriented Programming

tooling - 7 rules across 6 categories

  • Analysis, Linting, Type Checking, Formatting, Testing, Package Management

Installation

uvx add-skills ludo-technologies/python-best-practices