Summary
Tightens JSON repository typing from bare dict to dict[str, Any] across the interface, Redis adapter, example, tests, and README subclassing snippet.
This documents the intended JSON shape (string-keyed objects) and improves static analysis without changing runtime behavior. Generics and TypedDict models are intentionally deferred.
Changes
JsonRepositoryInterface.get / set now use dict[str, Any]
RedisAdapter signatures and cast() updated to match
UserJsonRepository example and unit test stubs aligned
README subclassing example updated with from typing import Any
Test plan
uv run mypy python_repositories tests/unit
uv run pytest tests/unit/ -v (95 passed)
Integration tests pass in CI
Summary
Tightens JSON repository typing from bare dict to dict[str, Any] across the interface, Redis adapter, example, tests, and README subclassing snippet.
This documents the intended JSON shape (string-keyed objects) and improves static analysis without changing runtime behavior. Generics and TypedDict models are intentionally deferred.
Changes
JsonRepositoryInterface.get / set now use dict[str, Any]
RedisAdapter signatures and cast() updated to match
UserJsonRepository example and unit test stubs aligned
README subclassing example updated with from typing import Any
Test plan
uv run mypy python_repositories tests/unit
uv run pytest tests/unit/ -v (95 passed)
Integration tests pass in CI
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Summary
Tightens JSON repository typing from bare dict to dict[str, Any] across the interface, Redis adapter, example, tests, and README subclassing snippet.
This documents the intended JSON shape (string-keyed objects) and improves static analysis without changing runtime behavior. Generics and TypedDict models are intentionally deferred.
Changes
JsonRepositoryInterface.get / set now use dict[str, Any]
RedisAdapter signatures and cast() updated to match
UserJsonRepository example and unit test stubs aligned
README subclassing example updated with from typing import Any
Test plan
uv run mypy python_repositories tests/unit
uv run pytest tests/unit/ -v (95 passed)
Integration tests pass in CI
Test Coverage Report: