Description
Add py.typed marker and ensure all public APIs have complete type annotations for better IDE support and mypy compatibility.
Current State
Most modules have type hints, but some are incomplete or use Any where more specific types could be used.
Proposed Changes
- Add
py.typed marker file to landmarkdiff/
- Audit all public functions for missing type annotations
- Replace
Any with concrete types where possible
- Add
mypy to CI with --strict mode for the public API surface
- Fix any revealed type errors
Key Files
landmarkdiff/inference.py — pipeline public API
landmarkdiff/evaluation.py — metrics functions
landmarkdiff/api_client.py — client public API
landmarkdiff/postprocess.py — post-processing pipeline
Acceptance Criteria
Description
Add
py.typedmarker and ensure all public APIs have complete type annotations for better IDE support and mypy compatibility.Current State
Most modules have type hints, but some are incomplete or use
Anywhere more specific types could be used.Proposed Changes
py.typedmarker file tolandmarkdiff/Anywith concrete types where possiblemypyto CI with--strictmode for the public API surfaceKey Files
landmarkdiff/inference.py— pipeline public APIlandmarkdiff/evaluation.py— metrics functionslandmarkdiff/api_client.py— client public APIlandmarkdiff/postprocess.py— post-processing pipelineAcceptance Criteria
py.typedmarker presentmypy --strict landmarkdiff/passes (or errors are explicitly ignored with comments)