sidereon 3.0.2__tar.gz → 3.0.3__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (347) hide show
  1. {sidereon-3.0.2 → sidereon-3.0.3}/.github/workflows/ci.yml +36 -0
  2. {sidereon-3.0.2 → sidereon-3.0.3}/.github/workflows/release.yml +4 -4
  3. {sidereon-3.0.2 → sidereon-3.0.3}/CHANGELOG.md +13 -0
  4. {sidereon-3.0.2 → sidereon-3.0.3}/Cargo.lock +5 -5
  5. {sidereon-3.0.2 → sidereon-3.0.3}/Cargo.toml +3 -3
  6. {sidereon-3.0.2 → sidereon-3.0.3}/PKG-INFO +1 -1
  7. {sidereon-3.0.2 → sidereon-3.0.3}/THIRD-PARTY-NOTICES.md +3 -3
  8. {sidereon-3.0.2 → sidereon-3.0.3}/pyproject.toml +4 -4
  9. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/__init__.pyi +181 -179
  10. {sidereon-3.0.2 → sidereon-3.0.3}/scripts/check-release.py +13 -15
  11. {sidereon-3.0.2 → sidereon-3.0.3}/scripts/core_source_identity.rs +1 -1
  12. {sidereon-3.0.2 → sidereon-3.0.3}/src/rtcm.rs +3 -1
  13. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/core_goldens.json +1 -1
  14. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/ppp_esbc.json +1 -1
  15. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_core_revision.py +26 -30
  16. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_lnav.py +17 -0
  17. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ntrip.py +11 -0
  18. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ppp.py +37 -0
  19. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_release_guard.py +4 -4
  20. sidereon-3.0.3/tests/test_rtcm_departure_message_number_contract.py +78 -0
  21. sidereon-3.0.3/tests/test_stub_accuracy.py +483 -0
  22. {sidereon-3.0.2 → sidereon-3.0.3}/uv.lock +1 -1
  23. sidereon-3.0.2/tests/test_stub_accuracy.py +0 -223
  24. {sidereon-3.0.2 → sidereon-3.0.3}/.cargo/config.toml.disabled +0 -0
  25. {sidereon-3.0.2 → sidereon-3.0.3}/.gitattributes +0 -0
  26. {sidereon-3.0.2 → sidereon-3.0.3}/.gitignore +0 -0
  27. {sidereon-3.0.2 → sidereon-3.0.3}/COVERAGE.md +0 -0
  28. {sidereon-3.0.2 → sidereon-3.0.3}/LICENSE +0 -0
  29. {sidereon-3.0.2 → sidereon-3.0.3}/README.md +0 -0
  30. {sidereon-3.0.2 → sidereon-3.0.3}/bench/README.md +0 -0
  31. {sidereon-3.0.2 → sidereon-3.0.3}/bench/bench_fleet.py +0 -0
  32. {sidereon-3.0.2 → sidereon-3.0.3}/docs/antex.md +0 -0
  33. {sidereon-3.0.2 → sidereon-3.0.3}/docs/observations.md +0 -0
  34. {sidereon-3.0.2 → sidereon-3.0.3}/docs/public-gnss-distribution-sources.md +0 -0
  35. {sidereon-3.0.2 → sidereon-3.0.3}/docs/releasing.md +0 -0
  36. {sidereon-3.0.2 → sidereon-3.0.3}/docs/rinex-clock.md +0 -0
  37. {sidereon-3.0.2 → sidereon-3.0.3}/docs/sp3.md +0 -0
  38. {sidereon-3.0.2 → sidereon-3.0.3}/docs/tdm.md +0 -0
  39. {sidereon-3.0.2 → sidereon-3.0.3}/examples/clean_a_phone_track.ipynb +0 -0
  40. {sidereon-3.0.2 → sidereon-3.0.3}/examples/static_occupation_vs_cors.ipynb +0 -0
  41. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/__init__.py +0 -0
  42. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/_compression.py +0 -0
  43. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/_exact_cache.py +0 -0
  44. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/_ingress.py +0 -0
  45. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/data.py +0 -0
  46. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/data.pyi +0 -0
  47. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/distribution.py +0 -0
  48. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/distribution.pyi +0 -0
  49. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/exact_cache.py +0 -0
  50. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/exact_cache.pyi +0 -0
  51. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/exact_sp3.py +0 -0
  52. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/exact_sp3.pyi +0 -0
  53. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/ntrip.py +0 -0
  54. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/ntrip.pyi +0 -0
  55. {sidereon-3.0.2 → sidereon-3.0.3}/python/sidereon/py.typed +0 -0
  56. {sidereon-3.0.2 → sidereon-3.0.3}/rust-toolchain.toml +0 -0
  57. {sidereon-3.0.2 → sidereon-3.0.3}/scripts/coverage/bindmap.py +0 -0
  58. {sidereon-3.0.2 → sidereon-3.0.3}/scripts/coverage/pubapi.py +0 -0
  59. {sidereon-3.0.2 → sidereon-3.0.3}/scripts/coverage/render_coverage.py +0 -0
  60. {sidereon-3.0.2 → sidereon-3.0.3}/scripts/smoke-release.py +0 -0
  61. {sidereon-3.0.2 → sidereon-3.0.3}/src/almanac.rs +0 -0
  62. {sidereon-3.0.2 → sidereon-3.0.3}/src/angles.rs +0 -0
  63. {sidereon-3.0.2 → sidereon-3.0.3}/src/anomaly.rs +0 -0
  64. {sidereon-3.0.2 → sidereon-3.0.3}/src/antex.rs +0 -0
  65. {sidereon-3.0.2 → sidereon-3.0.3}/src/araim.rs +0 -0
  66. {sidereon-3.0.2 → sidereon-3.0.3}/src/atmosphere.rs +0 -0
  67. {sidereon-3.0.2 → sidereon-3.0.3}/src/bias.rs +0 -0
  68. {sidereon-3.0.2 → sidereon-3.0.3}/src/bodies.rs +0 -0
  69. {sidereon-3.0.2 → sidereon-3.0.3}/src/body_observe.rs +0 -0
  70. {sidereon-3.0.2 → sidereon-3.0.3}/src/broadcast_comparison.rs +0 -0
  71. {sidereon-3.0.2 → sidereon-3.0.3}/src/cdm.rs +0 -0
  72. {sidereon-3.0.2 → sidereon-3.0.3}/src/clock_stability.rs +0 -0
  73. {sidereon-3.0.2 → sidereon-3.0.3}/src/conjunction.rs +0 -0
  74. {sidereon-3.0.2 → sidereon-3.0.3}/src/constellation.rs +0 -0
  75. {sidereon-3.0.2 → sidereon-3.0.3}/src/core_error_detail.rs +0 -0
  76. {sidereon-3.0.2 → sidereon-3.0.3}/src/covariance.rs +0 -0
  77. {sidereon-3.0.2 → sidereon-3.0.3}/src/coverage.rs +0 -0
  78. {sidereon-3.0.2 → sidereon-3.0.3}/src/data_catalog.rs +0 -0
  79. {sidereon-3.0.2 → sidereon-3.0.3}/src/defaults.rs +0 -0
  80. {sidereon-3.0.2 → sidereon-3.0.3}/src/dgnss.rs +0 -0
  81. {sidereon-3.0.2 → sidereon-3.0.3}/src/doppler.rs +0 -0
  82. {sidereon-3.0.2 → sidereon-3.0.3}/src/elements.rs +0 -0
  83. {sidereon-3.0.2 → sidereon-3.0.3}/src/emission.rs +0 -0
  84. {sidereon-3.0.2 → sidereon-3.0.3}/src/ephemeris.rs +0 -0
  85. {sidereon-3.0.2 → sidereon-3.0.3}/src/equinoctial.rs +0 -0
  86. {sidereon-3.0.2 → sidereon-3.0.3}/src/error_metrics.rs +0 -0
  87. {sidereon-3.0.2 → sidereon-3.0.3}/src/estimation.rs +0 -0
  88. {sidereon-3.0.2 → sidereon-3.0.3}/src/events.rs +0 -0
  89. {sidereon-3.0.2 → sidereon-3.0.3}/src/exact_cache.rs +0 -0
  90. {sidereon-3.0.2 → sidereon-3.0.3}/src/exact_time.rs +0 -0
  91. {sidereon-3.0.2 → sidereon-3.0.3}/src/fallback.rs +0 -0
  92. {sidereon-3.0.2 → sidereon-3.0.3}/src/forces.rs +0 -0
  93. {sidereon-3.0.2 → sidereon-3.0.3}/src/format_diagnostics.rs +0 -0
  94. {sidereon-3.0.2 → sidereon-3.0.3}/src/frame_catalog.rs +0 -0
  95. {sidereon-3.0.2 → sidereon-3.0.3}/src/frames.rs +0 -0
  96. {sidereon-3.0.2 → sidereon-3.0.3}/src/fusion.rs +0 -0
  97. {sidereon-3.0.2 → sidereon-3.0.3}/src/geodesic.rs +0 -0
  98. {sidereon-3.0.2 → sidereon-3.0.3}/src/geodetic_time_series.rs +0 -0
  99. {sidereon-3.0.2 → sidereon-3.0.3}/src/geofence.rs +0 -0
  100. {sidereon-3.0.2 → sidereon-3.0.3}/src/geoid.rs +0 -0
  101. {sidereon-3.0.2 → sidereon-3.0.3}/src/geometry.rs +0 -0
  102. {sidereon-3.0.2 → sidereon-3.0.3}/src/geometry_quality.rs +0 -0
  103. {sidereon-3.0.2 → sidereon-3.0.3}/src/ils.rs +0 -0
  104. {sidereon-3.0.2 → sidereon-3.0.3}/src/iod.rs +0 -0
  105. {sidereon-3.0.2 → sidereon-3.0.3}/src/ionex.rs +0 -0
  106. {sidereon-3.0.2 → sidereon-3.0.3}/src/lambert.rs +0 -0
  107. {sidereon-3.0.2 → sidereon-3.0.3}/src/leap.rs +0 -0
  108. {sidereon-3.0.2 → sidereon-3.0.3}/src/least_squares.rs +0 -0
  109. {sidereon-3.0.2 → sidereon-3.0.3}/src/lib.rs +0 -0
  110. {sidereon-3.0.2 → sidereon-3.0.3}/src/lnav.rs +0 -0
  111. {sidereon-3.0.2 → sidereon-3.0.3}/src/marshal.rs +0 -0
  112. {sidereon-3.0.2 → sidereon-3.0.3}/src/nmea.rs +0 -0
  113. {sidereon-3.0.2 → sidereon-3.0.3}/src/normality.rs +0 -0
  114. {sidereon-3.0.2 → sidereon-3.0.3}/src/ntrip.rs +0 -0
  115. {sidereon-3.0.2 → sidereon-3.0.3}/src/observables.rs +0 -0
  116. {sidereon-3.0.2 → sidereon-3.0.3}/src/observation.rs +0 -0
  117. {sidereon-3.0.2 → sidereon-3.0.3}/src/oem.rs +0 -0
  118. {sidereon-3.0.2 → sidereon-3.0.3}/src/omm.rs +0 -0
  119. {sidereon-3.0.2 → sidereon-3.0.3}/src/opm.rs +0 -0
  120. {sidereon-3.0.2 → sidereon-3.0.3}/src/orbit_determination.rs +0 -0
  121. {sidereon-3.0.2 → sidereon-3.0.3}/src/ppp.rs +0 -0
  122. {sidereon-3.0.2 → sidereon-3.0.3}/src/ppp_corrections.rs +0 -0
  123. {sidereon-3.0.2 → sidereon-3.0.3}/src/products.rs +0 -0
  124. {sidereon-3.0.2 → sidereon-3.0.3}/src/propagation.rs +0 -0
  125. {sidereon-3.0.2 → sidereon-3.0.3}/src/qc.rs +0 -0
  126. {sidereon-3.0.2 → sidereon-3.0.3}/src/reduced_orbit.rs +0 -0
  127. {sidereon-3.0.2 → sidereon-3.0.3}/src/relative.rs +0 -0
  128. {sidereon-3.0.2 → sidereon-3.0.3}/src/reliability.rs +0 -0
  129. {sidereon-3.0.2 → sidereon-3.0.3}/src/rf.rs +0 -0
  130. {sidereon-3.0.2 → sidereon-3.0.3}/src/rinex.rs +0 -0
  131. {sidereon-3.0.2 → sidereon-3.0.3}/src/rinex_clock.rs +0 -0
  132. {sidereon-3.0.2 → sidereon-3.0.3}/src/rtk.rs +0 -0
  133. {sidereon-3.0.2 → sidereon-3.0.3}/src/sbas_pl.rs +0 -0
  134. {sidereon-3.0.2 → sidereon-3.0.3}/src/sbas_ssr.rs +0 -0
  135. {sidereon-3.0.2 → sidereon-3.0.3}/src/scenario.rs +0 -0
  136. {sidereon-3.0.2 → sidereon-3.0.3}/src/sidereal.rs +0 -0
  137. {sidereon-3.0.2 → sidereon-3.0.3}/src/signal_analysis.rs +0 -0
  138. {sidereon-3.0.2 → sidereon-3.0.3}/src/sky.rs +0 -0
  139. {sidereon-3.0.2 → sidereon-3.0.3}/src/solve_error_detail.rs +0 -0
  140. {sidereon-3.0.2 → sidereon-3.0.3}/src/source_localization.rs +0 -0
  141. {sidereon-3.0.2 → sidereon-3.0.3}/src/space_weather.rs +0 -0
  142. {sidereon-3.0.2 → sidereon-3.0.3}/src/spk.rs +0 -0
  143. {sidereon-3.0.2 → sidereon-3.0.3}/src/spp.rs +0 -0
  144. {sidereon-3.0.2 → sidereon-3.0.3}/src/spp_error_detail.rs +0 -0
  145. {sidereon-3.0.2 → sidereon-3.0.3}/src/staleness.rs +0 -0
  146. {sidereon-3.0.2 → sidereon-3.0.3}/src/static_positioning.rs +0 -0
  147. {sidereon-3.0.2 → sidereon-3.0.3}/src/tca.rs +0 -0
  148. {sidereon-3.0.2 → sidereon-3.0.3}/src/tdm.rs +0 -0
  149. {sidereon-3.0.2 → sidereon-3.0.3}/src/terrain.rs +0 -0
  150. {sidereon-3.0.2 → sidereon-3.0.3}/src/terrain_store.rs +0 -0
  151. {sidereon-3.0.2 → sidereon-3.0.3}/src/tides.rs +0 -0
  152. {sidereon-3.0.2 → sidereon-3.0.3}/src/time_model_error.rs +0 -0
  153. {sidereon-3.0.2 → sidereon-3.0.3}/src/tle_fit_error_detail.rs +0 -0
  154. {sidereon-3.0.2 → sidereon-3.0.3}/src/tropo.rs +0 -0
  155. {sidereon-3.0.2 → sidereon-3.0.3}/src/unix_compress.rs +0 -0
  156. {sidereon-3.0.2 → sidereon-3.0.3}/tests/_helpers.py +0 -0
  157. {sidereon-3.0.2 → sidereon-3.0.3}/tests/_sp3_merge.py +0 -0
  158. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/README.md +0 -0
  159. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/antex/igs20_pasa_scoa_gps.atx +0 -0
  160. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/antex/igs20_wettzell_trim.atx +0 -0
  161. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/batch_fleet.json +0 -0
  162. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/bodies/observe_de.bsp +0 -0
  163. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/cdm.json +0 -0
  164. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/clk/lossless/rinex_clock304_table_a17.clk +0 -0
  165. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/clk/lossless/rinex_clock304_table_a18.clk +0 -0
  166. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/clk/synthetic_rinex_clock.clk +0 -0
  167. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/conjunction.json +0 -0
  168. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/constellation/gps_ops_sample.json +0 -0
  169. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/constellation/navcen_forecast_cases.html +0 -0
  170. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/constellation/navcen_gps_sample.html +0 -0
  171. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/events_bodies_dop.json +0 -0
  172. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/format_diagnostics_inputs.json +0 -0
  173. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/frames_time.json +0 -0
  174. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/geodesic/geodtest_row.dat +0 -0
  175. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/geoid/egm2008_25_norcal_crop.bin +0 -0
  176. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/gnss_data/igs22376.sp3.Z.b64 +0 -0
  177. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/gnss_data/ncompress-current-b9-counter.Z.b64 +0 -0
  178. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/listings/aiub-iono-prd-20260923.csv +0 -0
  179. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/listings/gfz-ultra-w2430-20260804.html +0 -0
  180. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/nav/BRDC00GOP_R_20210010000_01D_MN.rnx +0 -0
  181. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/nav/ESBC00DNK_R_20201770000_01D_MN.rnx +0 -0
  182. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/nav/KMS300DNK_R_20221591000_01H_MN.rnx +0 -0
  183. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/numerical_propagation.json +0 -0
  184. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/obs/ESBC00DNK_R_20201770000_01D_30S_MO_trim.crx +0 -0
  185. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/obs/ESBC00DNK_R_20201770000_01D_30S_MO_trim.rnx +0 -0
  186. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/obs/algo0010_2015001_v1_trim.crx +0 -0
  187. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/obs/algo0010_2015001_v1_trim.rnx +0 -0
  188. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/omm.json +0 -0
  189. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/pass_finder.json +0 -0
  190. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/rf_link_budget.json +0 -0
  191. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/rtk_wtzr.json +0 -0
  192. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/scenario_base.json +0 -0
  193. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/sgp4_topocentric.json +0 -0
  194. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/sp3/IGS0OPSFIN_20261200945_02H30M_15M_ORB.SP3 +0 -0
  195. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/sp3-merge-input-v1.json +0 -0
  196. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/sp3-merge-report-v3.json +0 -0
  197. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/sp3_bodies.json +0 -0
  198. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/spk/horizons_eros_type21.bsp +0 -0
  199. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/tdm/annex_e_01.kvn +0 -0
  200. {sidereon-3.0.2 → sidereon-3.0.3}/tests/fixtures/tle_roundtrip.json +0 -0
  201. {sidereon-3.0.2 → sidereon-3.0.3}/tests/golden/sp3-terminal-record-v1.json +0 -0
  202. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_012_bindings.py +0 -0
  203. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_013_bindings.py +0 -0
  204. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_014_bindings.py +0 -0
  205. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_015_bindings.py +0 -0
  206. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_016_wave2_bindings.py +0 -0
  207. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_017_domain_exposure.py +0 -0
  208. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_018_domain_exposure.py +0 -0
  209. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_019_track.py +0 -0
  210. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_020_error_metrics.py +0 -0
  211. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_antex.py +0 -0
  212. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_antex_public_equality.py +0 -0
  213. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_antex_public_pcv_sample_fields.py +0 -0
  214. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_atmosphere.py +0 -0
  215. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_attested_open.py +0 -0
  216. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_batch.py +0 -0
  217. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_body_observe_reference.py +0 -0
  218. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_broadcast_comparison.py +0 -0
  219. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_broadcast_fallback.py +0 -0
  220. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_cdm.py +0 -0
  221. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_cdm_top_level.py +0 -0
  222. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_cdm_value_equality.py +0 -0
  223. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_codec_error_details.py +0 -0
  224. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_conjunction.py +0 -0
  225. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_constellation.py +0 -0
  226. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_constellation_fleet.py +0 -0
  227. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_core_defaults.py +0 -0
  228. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_core_public_api_parity.py +0 -0
  229. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_core_round3_surfaces.py +0 -0
  230. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_covariance.py +0 -0
  231. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_covariance_propagation.py +0 -0
  232. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_coverage.py +0 -0
  233. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_crinex.py +0 -0
  234. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_data.py +0 -0
  235. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_data_publication_resilience.py +0 -0
  236. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_dgnss.py +0 -0
  237. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_distribution.py +0 -0
  238. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_distribution_fallback.py +0 -0
  239. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_dop_at_epoch.py +0 -0
  240. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_dop_convention.py +0 -0
  241. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_doppler.py +0 -0
  242. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_dted_tile_error_details.py +0 -0
  243. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_egm96.py +0 -0
  244. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_elements.py +0 -0
  245. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_events_bodies_dop.py +0 -0
  246. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_exact_cache_atomicity.py +0 -0
  247. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_field_mode_bindings.py +0 -0
  248. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_forces.py +0 -0
  249. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_format_diagnostics.py +0 -0
  250. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_frames_time.py +0 -0
  251. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ftp_transport.py +0 -0
  252. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_fusion_error_details.py +0 -0
  253. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_geoid.py +0 -0
  254. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_geometry.py +0 -0
  255. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ils.py +0 -0
  256. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_import.py +0 -0
  257. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_inertial_mechanization.py +0 -0
  258. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ionex.py +0 -0
  259. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ionex_instant_queries.py +0 -0
  260. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ionex_policies.py +0 -0
  261. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ionex_public_equality.py +0 -0
  262. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ionosphere_nequick.py +0 -0
  263. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_klobuchar_native.py +0 -0
  264. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_lambert_iod.py +0 -0
  265. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_leap_seconds.py +0 -0
  266. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_least_squares.py +0 -0
  267. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_misc_public_equality.py +0 -0
  268. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_moving_baseline.py +0 -0
  269. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_new_core_api.py +0 -0
  270. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_next_issue_due.py +0 -0
  271. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_nmea_finish_output.py +0 -0
  272. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_numerical.py +0 -0
  273. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_obs_policies.py +0 -0
  274. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_observables.py +0 -0
  275. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_observables_broadcast.py +0 -0
  276. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_observables_error_details.py +0 -0
  277. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_observation.py +0 -0
  278. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_observation_qc.py +0 -0
  279. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_observe_batch.py +0 -0
  280. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_oem.py +0 -0
  281. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_oem_full_dto.py +0 -0
  282. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_omm.py +0 -0
  283. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_omm_full_dto.py +0 -0
  284. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_opm.py +0 -0
  285. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_opm_full_dto.py +0 -0
  286. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_parity_gaps.py +0 -0
  287. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_parse_tle_file.py +0 -0
  288. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_passes.py +0 -0
  289. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ppp_corrections.py +0 -0
  290. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_ppp_range_corrections.py +0 -0
  291. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_precise_interpolant_public_values.py +0 -0
  292. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_precise_samples.py +0 -0
  293. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_precise_samples_errors.py +0 -0
  294. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_propagation.py +0 -0
  295. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_qc.py +0 -0
  296. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_reduced_orbit.py +0 -0
  297. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_reduced_orbit_piecewise.py +0 -0
  298. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_residual_stats.py +0 -0
  299. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rf.py +0 -0
  300. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rinex_clock.py +0 -0
  301. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rinex_clock_equality.py +0 -0
  302. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rinex_clock_header_field_details.py +0 -0
  303. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rinex_clock_lossless.py +0 -0
  304. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rinex_nav.py +0 -0
  305. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rinex_obs.py +0 -0
  306. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rtcm.py +0 -0
  307. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rtk.py +0 -0
  308. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_rtk_unresolved_carriers.py +0 -0
  309. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sbas_decoded_lists.py +0 -0
  310. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sbas_unassigned_mask.py +0 -0
  311. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_scenario_external_sources.py +0 -0
  312. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sky.py +0 -0
  313. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_bodies.py +0 -0
  314. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_catalog_exact.py +0 -0
  315. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_clock_reference.py +0 -0
  316. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_interpolation_policy.py +0 -0
  317. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_merge.py +0 -0
  318. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_merge_coverage.py +0 -0
  319. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_merge_per_epoch_provenance.py +0 -0
  320. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_public_metadata.py +0 -0
  321. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_terminal_record.py +0 -0
  322. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_window_continuity.py +0 -0
  323. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_sp3_write_and_records.py +0 -0
  324. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_spk.py +0 -0
  325. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_spp.py +0 -0
  326. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_spp_error_details.py +0 -0
  327. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_spp_glonass.py +0 -0
  328. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_spp_robustness.py +0 -0
  329. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_staleness.py +0 -0
  330. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_tca.py +0 -0
  331. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_tdm_policies.py +0 -0
  332. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_terrain_unknown_elevation.py +0 -0
  333. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_tides.py +0 -0
  334. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_time_model_error_details.py +0 -0
  335. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_time_offset_error_details.py +0 -0
  336. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_tle_fit.py +0 -0
  337. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_tle_roundtrip.py +0 -0
  338. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_tropo.py +0 -0
  339. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_unix_compress.py +0 -0
  340. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_visible_ground_track.py +0 -0
  341. {sidereon-3.0.2 → sidereon-3.0.3}/tests/test_weather_terrain_error_details.py +0 -0
  342. {sidereon-3.0.2 → sidereon-3.0.3}/third_party_licenses/ERFA-BSD-3-Clause.txt +0 -0
  343. {sidereon-3.0.2 → sidereon-3.0.3}/third_party_licenses/IERS-CONVENTIONS-SOFTWARE-LICENSE.txt +0 -0
  344. {sidereon-3.0.2 → sidereon-3.0.3}/third_party_licenses/SciPy-BSD-3-Clause.txt +0 -0
  345. {sidereon-3.0.2/third_party_source/sidereon-core-3.0.2 → sidereon-3.0.3/third_party_source/sidereon-core-3.0.3}/tides/mod.rs +0 -0
  346. {sidereon-3.0.2/third_party_source/sidereon-core-3.0.2 → sidereon-3.0.3/third_party_source/sidereon-core-3.0.3}/tides/ocean.rs +0 -0
  347. {sidereon-3.0.2/third_party_source/sidereon-core-3.0.2 → sidereon-3.0.3/third_party_source/sidereon-core-3.0.3}/tides/pole.rs +0 -0
@@ -125,6 +125,42 @@ jobs:
125
125
  "$RUNNER_TEMP/core-source-identity.log"
126
126
  grep -Eq '^test result: ok\. 1 passed; 0 failed; 0 ignored; 0 measured; [0-9]+ filtered out; finished in .*s$' \
127
127
  "$RUNNER_TEMP/core-source-identity.log"
128
+ - name: Verify candidate-generated fixtures
129
+ env:
130
+ CARGO_TARGET_DIR: ${{ github.workspace }}/target
131
+ run: |
132
+ set -euo pipefail
133
+ scratch="$RUNNER_TEMP/candidate-fixtures"
134
+ rm -rf "$scratch"
135
+ mkdir -p "$scratch"
136
+ cp -R tests/fixtures "$scratch/fixtures"
137
+ cargo run --release --locked --manifest-path scripts/core_goldens/Cargo.toml -- \
138
+ "$GITHUB_WORKSPACE/.core-checkout/crates/sidereon-core/tests/fixtures" \
139
+ "$scratch/fixtures"
140
+ cargo run --release --locked --manifest-path scripts/ppp_esbc_expected/Cargo.toml -- \
141
+ "$scratch/fixtures/ppp_esbc.json" \
142
+ "$GITHUB_WORKSPACE/.core-checkout/crates/sidereon-core/tests/fixtures/sp3"
143
+ python - "$scratch/fixtures" <<'PY'
144
+ import json
145
+ from pathlib import Path
146
+ import sys
147
+
148
+ generated = Path(sys.argv[1])
149
+ committed = Path("tests/fixtures")
150
+ for name in ("core_goldens.json", "ppp_esbc.json"):
151
+ with (generated / name).open() as handle:
152
+ actual = json.load(handle)
153
+ with (committed / name).open() as handle:
154
+ expected = json.load(handle)
155
+ assert actual == expected, f"{name}: candidate generator output differs"
156
+ PY
157
+ - name: Retain generated candidate fixtures
158
+ if: always()
159
+ uses: actions/upload-artifact@v4
160
+ with:
161
+ name: generated-core-fixtures
162
+ path: ${{ runner.temp }}/candidate-fixtures/fixtures/*.json
163
+ if-no-files-found: error
128
164
  - name: ruff check
129
165
  run: uv run --locked --extra test --group dev ruff check .
130
166
  - name: ruff format --check
@@ -153,10 +153,10 @@ jobs:
153
153
  done
154
154
  for source in mod.rs ocean.rs pole.rs; do
155
155
  unzip -p "$wheel" \
156
- "third_party_source/sidereon-core-3.0.2/tides/$source" \
156
+ "third_party_source/sidereon-core-3.0.3/tides/$source" \
157
157
  >"$RUNNER_TEMP/$source"
158
158
  cmp "$RUNNER_TEMP/$source" \
159
- "third_party_source/sidereon-core-3.0.2/tides/$source"
159
+ "third_party_source/sidereon-core-3.0.3/tides/$source"
160
160
  done
161
161
  done
162
162
  notice="$RUNNER_TEMP/sdist.notices"
@@ -173,10 +173,10 @@ jobs:
173
173
  done
174
174
  for source in mod.rs ocean.rs pole.rs; do
175
175
  tar -xOf "${sdists[0]}" --wildcards \
176
- "*/third_party_source/sidereon-core-3.0.2/tides/$source" \
176
+ "*/third_party_source/sidereon-core-3.0.3/tides/$source" \
177
177
  >"$RUNNER_TEMP/sdist-$source"
178
178
  cmp "$RUNNER_TEMP/sdist-$source" \
179
- "third_party_source/sidereon-core-3.0.2/tides/$source"
179
+ "third_party_source/sidereon-core-3.0.3/tides/$source"
180
180
  done
181
181
  - name: Smoke-test installed x86_64 Linux wheel
182
182
  shell: bash
@@ -4,6 +4,19 @@ All notable changes to the Sidereon Python interface are documented here.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [3.0.3] - 2026-10-12
8
+
9
+ ### Fixed
10
+
11
+ - Align all public PyO3 class declarations with their runtime inheritance, retaining `enum.Enum` only for the actual Python enum.
12
+ - Preserve RTCM message numbers on order/degree and short-record departure diagnostics.
13
+ - Align selector declarations with their runtime PyO3 classes instead of promising `enum.Enum` behavior they do not provide.
14
+ - Declare fixed-vector getters, including PPP float-state positions, as lists matching
15
+ their existing runtime containers.
16
+ - Declare the existing `TimeScale.TCG` and `TimeScale.TCB` runtime members and its
17
+ runtime PyO3 class inheritance in the public stub.
18
+ - Declare GNSS fix velocity as a list, matching its existing runtime container.
19
+
7
20
  ## [3.0.2] - 2026-10-05
8
21
 
9
22
  ### Changed
@@ -611,9 +611,9 @@ checksum = "f8fadd59c855ef2080decdef8ff161eb6661b86933c9d82e5ba29dc602a55aba"
611
611
 
612
612
  [[package]]
613
613
  name = "sidereon"
614
- version = "3.0.2"
614
+ version = "3.0.3"
615
615
  source = "registry+https://github.com/rust-lang/crates.io-index"
616
- checksum = "8a424bd9dea809b4cf2b816c27aa129a3e437b95139389ecbc94416aeee27951"
616
+ checksum = "fd6972904a6a2aac384ab4a082bf319ea0f1fdbcf7fa8c63221c85a16b07916c"
617
617
  dependencies = [
618
618
  "crc32fast",
619
619
  "flate2",
@@ -622,9 +622,9 @@ dependencies = [
622
622
 
623
623
  [[package]]
624
624
  name = "sidereon-core"
625
- version = "3.0.2"
625
+ version = "3.0.3"
626
626
  source = "registry+https://github.com/rust-lang/crates.io-index"
627
- checksum = "29f682ba7089c512d83cfea712bdc6ce9caac5e46d9acbeca7a1b2151ad8ee5b"
627
+ checksum = "ef89338b6c51ee9b15cc107f04c65f2d8916fd3efaed0d2eec12bfacb5ec1fda"
628
628
  dependencies = [
629
629
  "approx",
630
630
  "cc",
@@ -646,7 +646,7 @@ dependencies = [
646
646
 
647
647
  [[package]]
648
648
  name = "sidereon-py"
649
- version = "3.0.2"
649
+ version = "3.0.3"
650
650
  dependencies = [
651
651
  "nalgebra",
652
652
  "numpy",
@@ -1,6 +1,6 @@
1
1
  [package]
2
2
  name = "sidereon-py"
3
- version = "3.0.2"
3
+ version = "3.0.3"
4
4
  authors = []
5
5
  edition = "2021"
6
6
  description = "Python (PyO3) bindings over the sidereon ergonomic API: SP3 loading and SPP/RTK/PPP positioning solves"
@@ -25,8 +25,8 @@ exact-cache-test-failpoints = ["sidereon-core/exact-cache-test-failpoints"]
25
25
  # The thin ergonomic engine surface this binding marshals to. No modeling logic
26
26
  # lives here: every solve delegates to a `sidereon` entry point, which in turn
27
27
  # delegates to `sidereon-core`.
28
- sidereon = "=3.0.2"
29
- sidereon-core = { version = "=3.0.2", features = ["mmap"] }
28
+ sidereon = "=3.0.3"
29
+ sidereon-core = { version = "=3.0.3", features = ["mmap"] }
30
30
  # The standalone general-purpose trust-region least-squares solver: a data-driven
31
31
  # `least_squares` whose residual and Jacobian are evaluated entirely in Rust, so
32
32
  # no per-iteration Python callback is paid.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: sidereon
3
- Version: 3.0.2
3
+ Version: 3.0.3
4
4
  Classifier: Programming Language :: Rust
5
5
  Classifier: Programming Language :: Python :: 3
6
6
  Classifier: Topic :: Scientific/Engineering
@@ -330,9 +330,9 @@ endorsed by the IERS Conventions Center. The Rust source describes the origin,
330
330
  the renamed routines, and the differences from the Fortran implementation.
331
331
  The complete non-test tide source distributed in the compiled extension is
332
332
  included under
333
- `third_party_source/sidereon-core-3.0.2/tides/` in wheels and source
334
- distributions. These files match sidereon-core 3.0.2 at commit 8694648892d8ab065d94014e2e21d6cd5054818e.
335
- Source: [sidereon-core tides at the pinned commit](https://github.com/neilberkman/sidereon/tree/8694648892d8ab065d94014e2e21d6cd5054818e/crates/sidereon-core/src/tides).
333
+ `third_party_source/sidereon-core-3.0.3/tides/` in wheels and source
334
+ distributions. These files match sidereon-core 3.0.3 at commit d48b02561c4ad53fbc9d0ec72732aed447631337.
335
+ Source: [sidereon-core tides at the pinned commit](https://github.com/neilberkman/sidereon/tree/d48b02561c4ad53fbc9d0ec72732aed447631337/crates/sidereon-core/src/tides).
336
336
  The authoritative original is available from:
337
337
 
338
338
  <https://iers-conventions.obspm.fr/content/chapter7/software/dehanttideinel/DEHANTTIDEINEL.F>
@@ -4,7 +4,7 @@ build-backend = "maturin"
4
4
 
5
5
  [project]
6
6
  name = "sidereon"
7
- version = "3.0.2"
7
+ version = "3.0.3"
8
8
  description = "Python (PyO3) bindings over the sidereon engine: SP3 loading and SPP/RTK/PPP positioning solves"
9
9
  readme = "README.md"
10
10
  license = { text = "MIT" }
@@ -82,7 +82,7 @@ include = [
82
82
  "third_party_licenses/ERFA-BSD-3-Clause.txt",
83
83
  "third_party_licenses/IERS-CONVENTIONS-SOFTWARE-LICENSE.txt",
84
84
  "third_party_licenses/SciPy-BSD-3-Clause.txt",
85
- "third_party_source/sidereon-core-3.0.2/tides/mod.rs",
86
- "third_party_source/sidereon-core-3.0.2/tides/ocean.rs",
87
- "third_party_source/sidereon-core-3.0.2/tides/pole.rs",
85
+ "third_party_source/sidereon-core-3.0.3/tides/mod.rs",
86
+ "third_party_source/sidereon-core-3.0.3/tides/ocean.rs",
87
+ "third_party_source/sidereon-core-3.0.3/tides/pole.rs",
88
88
  ]