Summary
Add static type checking for the supported public framevitals API and gradually expand coverage across the package.
Why
FrameVitals ships py.typed and advertises itself as a typed package. The public API should therefore be validated by CI so annotations remain trustworthy as the project evolves.
Scope
- Add Pyright configuration to the repository.
- Start with public entry points and result/config types rather than requiring the entire historical codebase to be strict immediately.
- Add a CI job for type checking.
- Document the local type-check command in
CONTRIBUTING.md.
- Establish an incremental path for tightening type coverage over time.
Acceptance criteria
Priority: P0 — correctness / package maturity
Suggested labels: typing, testing, infrastructure
Summary
Add static type checking for the supported public
framevitalsAPI and gradually expand coverage across the package.Why
FrameVitals ships
py.typedand advertises itself as a typed package. The public API should therefore be validated by CI so annotations remain trustworthy as the project evolves.Scope
CONTRIBUTING.md.Acceptance criteria
framevitalsare included in type checking.Priority: P0 — correctness / package maturity
Suggested labels: typing, testing, infrastructure