Summary
The package ships extensive type hints and a whole module of TypedDict response models (datamaxi/resources/responses.py, #141), but there is no py.typed marker and no packaging config to include one. Under PEP 561, downstream users running mypy/pyright get none of these types — the typing investment is invisible.
Evidence
- No
datamaxi/py.typed file exists.
pyproject.toml has no package_data / tool.setuptools.package-data entry to bundle it.
Fix
- Add an empty
datamaxi/py.typed.
- Ensure it's included in the wheel/sdist (e.g.
[tool.setuptools.package-data] datamaxi = ["py.typed"], or equivalent for the build backend in use).
- (Optional) add a mypy check to CI so the shipped hints stay valid.
Impact
High value / low effort — unlocks all the existing typing work for consumers.
Surfaced during a pythonic-idiom review of the SDK.
Summary
The package ships extensive type hints and a whole module of
TypedDictresponse models (datamaxi/resources/responses.py, #141), but there is nopy.typedmarker and no packaging config to include one. Under PEP 561, downstream users running mypy/pyright get none of these types — the typing investment is invisible.Evidence
datamaxi/py.typedfile exists.pyproject.tomlhas nopackage_data/tool.setuptools.package-dataentry to bundle it.Fix
datamaxi/py.typed.[tool.setuptools.package-data] datamaxi = ["py.typed"], or equivalent for the build backend in use).Impact
High value / low effort — unlocks all the existing typing work for consumers.
Surfaced during a pythonic-idiom review of the SDK.