update_datafiles: download only what is not compiled in - #163
Merged
Conversation
The IERS tables (embedded byte-identical) and the gravity models (embedded to degree 70; evaluation is capped at degree 40) become default: false in the manifest -- still pinned and fetchable by name. leap-seconds.list is removed outright: nothing reads it, the runtime leap-second table is a compiled-in constant. The only static download left is the JPL ephemeris, alongside the daily EOP / space-weather / solar-cycle refreshes. The earthgravity/ierstable init integration tests fall back to the embedded bytes instead of skipping when the files are not on disk, so they keep running in CI, which no longer provisions those files. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PG969yapJ84DJceKt21Wen
…scratch dir Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PG969yapJ84DJceKt21Wen
…-key rotation A manifest change rotates the exact cache key; the fresh cache then had no EOP-All.csv / SW-All.csv at all, so a CelesTrak outage during that first run failed every EOP-dependent test (exactly what happened on this PR's ubuntu jobs). With restore-keys the job seeds from the newest older cache: the manifest download step verifies/updates the pinned files against the new manifest, the refresh step updates EOP/SW when CelesTrak answers, and when it does not, the previous cache's copies carry the run. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01PG969yapJ84DJceKt21Wen
ssmichael1
force-pushed
the
manifest-default-trim
branch
from
August 30, 2026 23:56
9bafc7f to
637dbab
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
update_datafiles()downloaded ten static files; only one of them did anything.tab5.2a/b/d.txt) →default: false. The embedded copies are byte-identical (same SHA-256 indata/embedded/SOURCES.json); downloading them accomplished nothing..gfc) →default: false. Embedded to degree 70 while evaluation is capped at degree 40 (Harden gravity-degree, precompute-size and download inputs; smoke-test wheels; doc fixes #130), so the full files add no capability; a full-degree copy dropped into a search directory still takes precedence over the embedded one.leap-seconds.list→ removed from the manifest entirely. Nothing reads it — the runtime leap-second table is a compiled-in constant (src/time/instant.rs); the manifest entry itself said "reference only". The file stays on the immutabledata-v1release tag; only the entry is gone.default: falseentries stay pinned and fetchable by name (fetch_static_file,SATKIT_JPLEPHEM_FILE-style flows are unaffected), so the DE440 ephemeris is now the only default static download, alongside the daily EOP / space-weather / solar-cycle refreshes. A fresh provision drops from 10 downloads (~110 MB) to 1 (102 MB) + refreshes.Since CI provisions
astro-datathroughpython/test/download_data.py(which honoursdefault), theearthgravity_init/ierstable_initintegration tests would have silently skipped; they now fall back to the embedded bytes (utils::embedded::get) when the file is not on disk, so they always run.embedded_manifest_is_validasserts the default set is exactly the DE440 ephemeris and thatleap-seconds.listis gone.Docs brought in line:
docs/getting-started/datafiles.md(leap seconds are not a file;update_datafilesscope; attribution list),installation.mdone-liner,data/README.md(manifest table, excluded-files list, future release-asset command), and theupdate_datafilesdocstrings in Rust, PyO3 and the.pyistub.Testing
Full Rust suite (296 lib + all integration binaries, GMAT corpus included) and the Python suite (192 passed, 1 skipped) run green against a data directory containing only the ephemeris + EOP/SW/solar-cycle files — exactly what CI will now provision.
cargo clippy --all-targets -D warnings,cargo fmtclean.🤖 Generated with Claude Code
https://claude.ai/code/session_01PG969yapJ84DJceKt21Wen