Skip to content

5.8.0 — 2026-10-10

← 5.9.0 | 5.7.1 → | ↑ 5.x series

Changed

Packaging - Adapters

  • Per-extra adapter packages - Each adapter now ships as its own distribution, so archipy[redis] installs only the Redis adapter files instead of every adapter. Imports are unchanged (archipy.adapters.redis, ...).
    • New packages: archipy-redis, archipy-kafka, archipy-elasticsearch, archipy-minio, archipy-keycloak, archipy-scylladb, archipy-temporal, archipy-vault, archipy-postgres, archipy-mysql, archipy-sqlite, archipy-starrocks, archipy-parsian-ipg, archipy-saman-ipg
    • Core archipy keeps adapters/base, adapters/email, helpers, models and configs
    • Extras are thin pointers pinned to the same version (archipy[redis] → archipy-redis==<version>); core and adapter packages are released in lockstep
    • archipy and archipy.adapters are now namespace packages (no __init__.py), so archipy.__file__ is None
  • Sync/async dependency split - mysql, starrocks and parsian-ipg packages expose their own sync and async extras, so archipy[mysql-async], archipy[starrocks-async] and archipy[parsian-ipg-async] no longer install the sync-only drivers (pymysql, requests[socks]).

Helpers - FastAPI

  • otel_lifespan annotation - Return type is now AsyncGenerator[None] as required for @asynccontextmanager.

Removed

  • aiomysql from starrocks-async - The StarRocks async path uses asyncmy2; the unused aiomysql dependency is dropped.

Chore

  • Workspace tooling - uv workspace under packages/; make install-package PKG=<name>; Ruff, ty, Bandit and CI workflows cover packages/; the publish workflow stamps the version and archipy-* pins into every package and builds with uv build --all-packages.
  • Docs - README install note, contributing guide and adapter API index describe the package layout.