Skip to content

v0.4.0 — AudioRenderer, themes, i18n, Prometheus metrics

Choose a tag to compare

@akerem16 akerem16 released this 20 Apr 10:41
· 6 commits to main since this release

Highlights

  • AudioRenderer — accessibility alternative to ImageRenderer. Encodes the solution as sine-wave tones (one per character) and returns a WAV byte-stream. Zero runtime deps (stdlib wave).
  • Theme presets — Theme.CLASSIC, Theme.DARK, Theme.PASTEL, Theme.HIGH_CONTRAST (WCAG AA). Pass theme= to ImageRenderer.
  • i18n hooks — PromptTranslator + bundled DefaultTranslator (en/tr/de/es). Wired into EmojiGridChallengeFactory and MathChallengeFactory.
  • Metrics — MetricsSink protocol with NoOpMetrics default. PrometheusMetrics adapter via pip install "captchakit[metrics]" exports four counters (issued, verified, expired, too_many_attempts).

Install

pip install captchakit==0.4.0
pip install "captchakit[metrics]"   # + Prometheus adapter

Quality

  • 84 tests passing (23 new), ruff clean, mypy --strict clean on 43 source files.
  • mkdocs --strict build clean; 4 new documentation pages (Themes, Audio, i18n, Metrics).

See CHANGELOG.md for the full list.