Context
PR #132 (Poetry→uv migration) added a temporary constraint to pyproject.toml:
[tool.uv]
constraint-dependencies = ["numpy<2.5"]
numpy 2.5 re-exports numpy.typing.NDArray as a PEP 695 type alias, which current mypy/stubtest misreports when validating this package's .pyi stubs on Python ≥ 3.12, breaking the stubtest CI step. The constraint only pins the development lockfile (uv.lock); published package metadata still declares numpy>=1.26, so end users are unaffected.
Task
Small, self-contained chore — suitable for an implementing agent. Base the PR on the current release branch per CONTRIBUTING.md.
Context
PR #132 (Poetry→uv migration) added a temporary constraint to
pyproject.toml:numpy 2.5 re-exports
numpy.typing.NDArrayas a PEP 695 type alias, which current mypy/stubtest misreports when validating this package's.pyistubs on Python ≥ 3.12, breaking thestubtestCI step. The constraint only pins the development lockfile (uv.lock); published package metadata still declaresnumpy>=1.26, so end users are unaffected.Task
uv lock --upgrade-package mypy, thenuv run --group dev stubtest ...); the upstream fix lands in mypy/typeshed, not in this repo.constraint-dependenciesfrom[tool.uv], runuv lock, and confirm the full AGENTS.md checklist.NDArrayusage insrc/ellphi/*.pyican be expressed compatibly), fix the stubs and remove the constraint.Small, self-contained chore — suitable for an implementing agent. Base the PR on the current release branch per CONTRIBUTING.md.