Route Python hooks through uv run with versions pinned in uv.lock, add explicit
Ruff settings, and extend the dependency bot to run pre-commit autoupdate.
Co-authored-by: Cursor <[email protected]>
Replace f-string log messages with structlog keyword fields so events aggregate cleanly and Redis payloads are not logged verbatim.
Co-authored-by: Cursor <[email protected]>
Move shared connect orchestration into the base adapter so both backends short-circuit when already healthy and only reconnect after a failed probe.
Co-authored-by: Cursor <[email protected]>
Require buckets to exist by default on connect, extract env_bool parsing, and document local dev overrides for secure and auto-creation settings.
Co-authored-by: Cursor <[email protected]>
Return None only for missing objects and re-raise other S3 and network failures so callers can distinguish not-found from real errors.
Co-authored-by: Cursor <[email protected]>
Close and release the HTTP response in a finally block per SDK guidance, and add unit tests for success and read-failure cleanup.
Co-authored-by: Cursor <[email protected]>
Default TLS to enabled for production MinIO setups while keeping local and integration tests on plain HTTP via explicit secure=false configuration.
Co-authored-by: Cursor <[email protected]>
Introduce typed config objects, optional adapter injection, and .env loading to simplify testing while preserving env-based defaults for production usage.
Co-authored-by: Cursor <[email protected]>
Move duplicated context-manager, health-check cache, and connection guards from Redis and Minio adapters into an internal base class.
Co-authored-by: Cursor <[email protected]>
Convert is_connected to a method that verifies backend liveness via TTL-cached ping (Redis) or bucket_exists (MinIO), with cache invalidation on connect/disconnect.
Co-authored-by: Cursor <[email protected]>
Guard bucket_name before Minio API calls, update S3Error test mocks for the new constructor signature, and add types-redis to the pre-commit mypy hook.
Co-authored-by: Cursor <[email protected]>
Return Self from __enter__ so with-blocks preserve subclass types, and align mypy python_version with the 3.12 runtime target.
Co-authored-by: Cursor <[email protected]>
Define split JSON and object repository ABCs, promote adapter methods to public CRUD, add example domain repositories, modernize interface stubs, and make the package installable for tests.
Co-authored-by: Cursor <[email protected]>