Skip to content

Ship py.typed marker (PEP 561) so shipped type hints reach consumers #152

Description

@martinkersner

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

  1. Add an empty datamaxi/py.typed.
  2. 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).
  3. (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.

Metadata

Metadata

Assignees

Labels

Type

No type

Fields

No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions