Skip to content

fix: declare pyproj as a direct dependency#5

Merged
wiyth00 merged 1 commit into
mainfrom
fix/declare-pyproj-dependency
Jul 25, 2026
Merged

fix: declare pyproj as a direct dependency#5
wiyth00 merged 1 commit into
mainfrom
fix/declare-pyproj-dependency

Conversation

@wiyth00

@wiyth00 wiyth00 commented Jul 25, 2026

Copy link
Copy Markdown
Owner

Summary

chained_eclipse/search.py and chained_eclipse/sensitivity.py both do from pyproj import Geod, but pyproj was never listed in [project] dependencies. It only resolved because cartopy pulls it in transitively. If cartopy ever drops or vendors it, both modules break at import time.

This declares pyproj>=3.6 explicitly and adds a regression test.

  • pyproject.toml: add pyproj>=3.6 to [project] dependencies
  • tests/test_declared_dependencies.py: imports both affected modules, and asserts pyproj appears in the declared runtime dependencies

CI runs uv sync --all-extras --no-editable without --frozen, so uv.lock is refreshed automatically; a local uv lock before merge is still worth running so the lockfile diff lands in this PR rather than drifting.

Work plan item P0 / 1.

Scientific impact

Packaging metadata only. No solver, ephemeris, geometry, or output code paths are touched, and MODEL_VERSION is unchanged. The 838 km / 3344 kg·m⁻³ second-moon baseline and the 2026-08-12 chained event are unaffected.

  • No change to computed results
  • Results change (described above)

Checklist

  • ruff check . passes
  • pytest passes locally
  • New or changed behaviour is covered by a test
  • Docs / README updated if user-facing behaviour changed

Lint/test boxes left unchecked because this branch was pushed without a local run — CI on this PR is the first execution.

chained_eclipse/search.py and chained_eclipse/sensitivity.py both import
`pyproj.Geod`, but pyproj was only present transitively via cartopy. Declare
it explicitly so the package cannot break if cartopy drops or vendors it.

Adds a regression test that imports both modules.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant