sidereon 2.1.0__tar.gz → 3.0.0__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 (372) hide show
  1. {sidereon-2.1.0 → sidereon-3.0.0}/.github/workflows/ci.yml +45 -31
  2. {sidereon-2.1.0 → sidereon-3.0.0}/.github/workflows/release.yml +17 -9
  3. {sidereon-2.1.0 → sidereon-3.0.0}/.gitignore +1 -0
  4. sidereon-3.0.0/CHANGELOG.md +783 -0
  5. sidereon-3.0.0/COVERAGE.md +6332 -0
  6. {sidereon-2.1.0 → sidereon-3.0.0}/Cargo.lock +35 -5
  7. {sidereon-2.1.0 → sidereon-3.0.0}/Cargo.toml +8 -4
  8. {sidereon-2.1.0 → sidereon-3.0.0}/PKG-INFO +74 -6
  9. {sidereon-2.1.0 → sidereon-3.0.0}/README.md +73 -5
  10. {sidereon-2.1.0 → sidereon-3.0.0}/THIRD-PARTY-NOTICES.md +1 -1
  11. sidereon-3.0.0/docs/antex.md +98 -0
  12. sidereon-3.0.0/docs/observations.md +621 -0
  13. {sidereon-2.1.0 → sidereon-3.0.0}/docs/public-gnss-distribution-sources.md +40 -8
  14. sidereon-3.0.0/docs/releasing.md +7 -0
  15. sidereon-3.0.0/docs/rinex-clock.md +255 -0
  16. sidereon-3.0.0/docs/sp3.md +216 -0
  17. sidereon-3.0.0/docs/tdm.md +253 -0
  18. {sidereon-2.1.0 → sidereon-3.0.0}/pyproject.toml +5 -4
  19. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/__init__.py +855 -176
  20. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/__init__.pyi +13539 -6227
  21. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/data.py +1598 -134
  22. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/data.pyi +7 -1
  23. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/distribution.py +68 -18
  24. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/distribution.pyi +5 -0
  25. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/exact_sp3.py +21 -5
  26. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/exact_sp3.pyi +3 -1
  27. sidereon-3.0.0/rust-toolchain.toml +2 -0
  28. sidereon-3.0.0/scripts/check-release.py +335 -0
  29. sidereon-3.0.0/scripts/core_source_identity.rs +417 -0
  30. sidereon-3.0.0/scripts/coverage/bindmap.py +284 -0
  31. sidereon-3.0.0/scripts/coverage/pubapi.py +554 -0
  32. sidereon-3.0.0/scripts/coverage/render_coverage.py +109 -0
  33. sidereon-3.0.0/src/antex.rs +1285 -0
  34. {sidereon-2.1.0 → sidereon-3.0.0}/src/araim.rs +7 -0
  35. sidereon-3.0.0/src/bias.rs +999 -0
  36. {sidereon-2.1.0 → sidereon-3.0.0}/src/broadcast_comparison.rs +8 -5
  37. sidereon-3.0.0/src/cdm.rs +1064 -0
  38. {sidereon-2.1.0 → sidereon-3.0.0}/src/constellation.rs +3 -3
  39. sidereon-3.0.0/src/core_error_detail.rs +718 -0
  40. {sidereon-2.1.0 → sidereon-3.0.0}/src/coverage.rs +119 -1
  41. sidereon-3.0.0/src/data_catalog.rs +1240 -0
  42. {sidereon-2.1.0 → sidereon-3.0.0}/src/defaults.rs +15 -1
  43. {sidereon-2.1.0 → sidereon-3.0.0}/src/dgnss.rs +24 -12
  44. sidereon-3.0.0/src/ephemeris.rs +4810 -0
  45. {sidereon-2.1.0 → sidereon-3.0.0}/src/error_metrics.rs +2 -0
  46. sidereon-3.0.0/src/exact_time.rs +221 -0
  47. {sidereon-2.1.0 → sidereon-3.0.0}/src/fallback.rs +176 -5
  48. sidereon-3.0.0/src/format_diagnostics.rs +603 -0
  49. {sidereon-2.1.0 → sidereon-3.0.0}/src/frames.rs +25 -7
  50. {sidereon-2.1.0 → sidereon-3.0.0}/src/fusion.rs +1059 -11
  51. {sidereon-2.1.0 → sidereon-3.0.0}/src/iod.rs +33 -5
  52. sidereon-3.0.0/src/ionex.rs +3644 -0
  53. sidereon-3.0.0/src/lib.rs +1162 -0
  54. {sidereon-2.1.0 → sidereon-3.0.0}/src/marshal.rs +119 -19
  55. {sidereon-2.1.0 → sidereon-3.0.0}/src/nmea.rs +15 -58
  56. {sidereon-2.1.0 → sidereon-3.0.0}/src/observables.rs +217 -32
  57. sidereon-3.0.0/src/oem.rs +960 -0
  58. sidereon-3.0.0/src/omm.rs +1180 -0
  59. sidereon-3.0.0/src/opm.rs +1097 -0
  60. sidereon-3.0.0/src/ppp.rs +2978 -0
  61. {sidereon-2.1.0 → sidereon-3.0.0}/src/ppp_corrections.rs +393 -18
  62. sidereon-3.0.0/src/products.rs +3026 -0
  63. {sidereon-2.1.0 → sidereon-3.0.0}/src/propagation.rs +557 -75
  64. {sidereon-2.1.0 → sidereon-3.0.0}/src/qc.rs +471 -227
  65. {sidereon-2.1.0 → sidereon-3.0.0}/src/reliability.rs +3 -2
  66. sidereon-3.0.0/src/rinex.rs +4874 -0
  67. sidereon-3.0.0/src/rinex_clock.rs +2651 -0
  68. sidereon-3.0.0/src/rtcm.rs +5725 -0
  69. {sidereon-2.1.0 → sidereon-3.0.0}/src/rtk.rs +236 -34
  70. {sidereon-2.1.0 → sidereon-3.0.0}/src/sbas_pl.rs +20 -4
  71. {sidereon-2.1.0 → sidereon-3.0.0}/src/sbas_ssr.rs +1181 -75
  72. sidereon-3.0.0/src/scenario.rs +1066 -0
  73. {sidereon-2.1.0 → sidereon-3.0.0}/src/sidereal.rs +2 -1
  74. {sidereon-2.1.0 → sidereon-3.0.0}/src/sky.rs +6 -2
  75. sidereon-3.0.0/src/solve_error_detail.rs +1117 -0
  76. sidereon-3.0.0/src/space_weather.rs +561 -0
  77. sidereon-3.0.0/src/spk.rs +549 -0
  78. {sidereon-2.1.0 → sidereon-3.0.0}/src/spp.rs +471 -26
  79. sidereon-3.0.0/src/spp_error_detail.rs +335 -0
  80. {sidereon-2.1.0 → sidereon-3.0.0}/src/staleness.rs +171 -7
  81. {sidereon-2.1.0 → sidereon-3.0.0}/src/static_positioning.rs +111 -17
  82. sidereon-3.0.0/src/tdm.rs +2911 -0
  83. sidereon-3.0.0/src/terrain.rs +715 -0
  84. {sidereon-2.1.0 → sidereon-3.0.0}/src/terrain_store.rs +565 -133
  85. sidereon-3.0.0/src/tides.rs +1432 -0
  86. sidereon-3.0.0/src/time_model_error.rs +29 -0
  87. sidereon-3.0.0/src/tle_fit_error_detail.rs +283 -0
  88. {sidereon-2.1.0 → sidereon-3.0.0}/src/tropo.rs +76 -15
  89. {sidereon-2.1.0 → sidereon-3.0.0}/tests/_helpers.py +26 -1
  90. sidereon-3.0.0/tests/_sp3_merge.py +446 -0
  91. sidereon-3.0.0/tests/fixtures/README.md +115 -0
  92. sidereon-3.0.0/tests/fixtures/cdm.json +133 -0
  93. sidereon-3.0.0/tests/fixtures/clk/lossless/rinex_clock304_table_a17.clk +34 -0
  94. sidereon-3.0.0/tests/fixtures/clk/lossless/rinex_clock304_table_a18.clk +13 -0
  95. sidereon-3.0.0/tests/fixtures/core_goldens.json +53240 -0
  96. sidereon-3.0.0/tests/fixtures/format_diagnostics_inputs.json +5 -0
  97. sidereon-3.0.0/tests/fixtures/listings/aiub-iono-prd-20260923.csv +38 -0
  98. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/omm.json +6 -6
  99. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/pass_finder.json +10 -10
  100. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/ppp_esbc.json +3930 -285
  101. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/rtk_wtzr.json +6941 -6941
  102. sidereon-3.0.0/tests/fixtures/scenario_base.json +152 -0
  103. sidereon-3.0.0/tests/fixtures/sgp4_topocentric.json +305 -0
  104. sidereon-3.0.0/tests/fixtures/sp3-merge-report-v3.json +346 -0
  105. sidereon-3.0.0/tests/fixtures/sp3_bodies.json +255 -0
  106. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_015_bindings.py +28 -0
  107. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_016_wave2_bindings.py +34 -10
  108. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_017_domain_exposure.py +123 -115
  109. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_018_domain_exposure.py +102 -59
  110. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_019_track.py +28 -0
  111. sidereon-3.0.0/tests/test_antex.py +552 -0
  112. sidereon-3.0.0/tests/test_antex_public_pcv_sample_fields.py +84 -0
  113. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_batch.py +41 -14
  114. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_broadcast_fallback.py +133 -5
  115. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_cdm.py +145 -0
  116. sidereon-3.0.0/tests/test_cdm_top_level.py +97 -0
  117. sidereon-3.0.0/tests/test_cdm_value_equality.py +83 -0
  118. sidereon-3.0.0/tests/test_codec_error_details.py +210 -0
  119. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_constellation_fleet.py +100 -2
  120. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_core_defaults.py +28 -1
  121. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_core_public_api_parity.py +3 -1
  122. sidereon-3.0.0/tests/test_core_revision.py +454 -0
  123. sidereon-3.0.0/tests/test_core_round3_surfaces.py +506 -0
  124. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_coverage.py +39 -0
  125. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_data.py +1202 -34
  126. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_data_publication_resilience.py +51 -11
  127. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_dgnss.py +99 -24
  128. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_distribution.py +35 -6
  129. sidereon-3.0.0/tests/test_dted_tile_error_details.py +248 -0
  130. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_events_bodies_dop.py +4 -4
  131. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_field_mode_bindings.py +56 -65
  132. sidereon-3.0.0/tests/test_format_diagnostics.py +247 -0
  133. sidereon-3.0.0/tests/test_fusion_error_details.py +196 -0
  134. sidereon-3.0.0/tests/test_inertial_mechanization.py +151 -0
  135. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_ionex.py +66 -0
  136. sidereon-3.0.0/tests/test_ionex_instant_queries.py +426 -0
  137. sidereon-3.0.0/tests/test_ionex_policies.py +1426 -0
  138. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_lambert_iod.py +41 -0
  139. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_new_core_api.py +312 -9
  140. sidereon-3.0.0/tests/test_nmea_finish_output.py +42 -0
  141. sidereon-3.0.0/tests/test_obs_policies.py +1520 -0
  142. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_observables.py +98 -46
  143. sidereon-3.0.0/tests/test_observables_error_details.py +257 -0
  144. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_observation_qc.py +25 -6
  145. sidereon-3.0.0/tests/test_oem.py +232 -0
  146. sidereon-3.0.0/tests/test_oem_full_dto.py +193 -0
  147. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_omm.py +166 -0
  148. sidereon-3.0.0/tests/test_omm_full_dto.py +118 -0
  149. sidereon-3.0.0/tests/test_opm.py +286 -0
  150. sidereon-3.0.0/tests/test_opm_full_dto.py +187 -0
  151. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_parse_tle_file.py +20 -0
  152. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_ppp.py +166 -55
  153. sidereon-3.0.0/tests/test_ppp_corrections.py +204 -0
  154. sidereon-3.0.0/tests/test_ppp_range_corrections.py +282 -0
  155. sidereon-3.0.0/tests/test_precise_samples_errors.py +99 -0
  156. sidereon-3.0.0/tests/test_qc.py +384 -0
  157. sidereon-3.0.0/tests/test_release_guard.py +250 -0
  158. sidereon-3.0.0/tests/test_rinex_clock.py +563 -0
  159. sidereon-3.0.0/tests/test_rinex_clock_header_field_details.py +252 -0
  160. sidereon-3.0.0/tests/test_rinex_clock_lossless.py +782 -0
  161. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_rinex_nav.py +13 -10
  162. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_rinex_obs.py +12 -1
  163. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_rtcm.py +302 -11
  164. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_rtk.py +163 -8
  165. sidereon-3.0.0/tests/test_rtk_unresolved_carriers.py +162 -0
  166. sidereon-3.0.0/tests/test_sbas_decoded_lists.py +118 -0
  167. sidereon-3.0.0/tests/test_sbas_unassigned_mask.py +64 -0
  168. sidereon-3.0.0/tests/test_scenario_external_sources.py +400 -0
  169. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sp3_catalog_exact.py +31 -0
  170. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sp3_interpolation_policy.py +8 -0
  171. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sp3_merge.py +79 -0
  172. sidereon-3.0.0/tests/test_sp3_merge_coverage.py +605 -0
  173. sidereon-3.0.0/tests/test_sp3_merge_per_epoch_provenance.py +189 -0
  174. sidereon-3.0.0/tests/test_sp3_write_and_records.py +293 -0
  175. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_spp.py +72 -16
  176. sidereon-3.0.0/tests/test_spp_error_details.py +145 -0
  177. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_spp_glonass.py +93 -25
  178. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_spp_robustness.py +100 -19
  179. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_staleness.py +36 -4
  180. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_stub_accuracy.py +87 -0
  181. sidereon-3.0.0/tests/test_tdm_policies.py +1665 -0
  182. sidereon-3.0.0/tests/test_terrain_unknown_elevation.py +175 -0
  183. sidereon-3.0.0/tests/test_tides.py +456 -0
  184. sidereon-3.0.0/tests/test_time_model_error_details.py +153 -0
  185. sidereon-3.0.0/tests/test_time_offset_error_details.py +109 -0
  186. sidereon-3.0.0/tests/test_tle_fit.py +189 -0
  187. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_tle_roundtrip.py +10 -2
  188. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_tropo.py +40 -1
  189. sidereon-3.0.0/tests/test_weather_terrain_error_details.py +262 -0
  190. {sidereon-2.1.0/third_party_source/sidereon-core-0.35.0 → sidereon-3.0.0/third_party_source/sidereon-core-3.0.0}/tides/mod.rs +508 -89
  191. {sidereon-2.1.0/third_party_source/sidereon-core-0.35.0 → sidereon-3.0.0/third_party_source/sidereon-core-3.0.0}/tides/ocean.rs +391 -86
  192. {sidereon-2.1.0 → sidereon-3.0.0}/uv.lock +1 -1
  193. sidereon-2.1.0/CHANGELOG.md +0 -634
  194. sidereon-2.1.0/COVERAGE.md +0 -278
  195. sidereon-2.1.0/scripts/check-release.py +0 -163
  196. sidereon-2.1.0/src/bias.rs +0 -406
  197. sidereon-2.1.0/src/cdm.rs +0 -442
  198. sidereon-2.1.0/src/data_catalog.rs +0 -763
  199. sidereon-2.1.0/src/ephemeris.rs +0 -1974
  200. sidereon-2.1.0/src/ionex.rs +0 -931
  201. sidereon-2.1.0/src/lib.rs +0 -514
  202. sidereon-2.1.0/src/oem.rs +0 -515
  203. sidereon-2.1.0/src/omm.rs +0 -448
  204. sidereon-2.1.0/src/opm.rs +0 -683
  205. sidereon-2.1.0/src/ppp.rs +0 -1495
  206. sidereon-2.1.0/src/products.rs +0 -1654
  207. sidereon-2.1.0/src/rinex.rs +0 -3081
  208. sidereon-2.1.0/src/rtcm.rs +0 -1916
  209. sidereon-2.1.0/src/scenario.rs +0 -522
  210. sidereon-2.1.0/src/space_weather.rs +0 -271
  211. sidereon-2.1.0/src/spk.rs +0 -313
  212. sidereon-2.1.0/src/tdm.rs +0 -967
  213. sidereon-2.1.0/src/terrain.rs +0 -216
  214. sidereon-2.1.0/src/tides.rs +0 -145
  215. sidereon-2.1.0/tests/fixtures/README.md +0 -57
  216. sidereon-2.1.0/tests/fixtures/cdm.json +0 -133
  217. sidereon-2.1.0/tests/fixtures/listings/aiub-iono-p1p2-20260804.csv +0 -19
  218. sidereon-2.1.0/tests/fixtures/sgp4_topocentric.json +0 -305
  219. sidereon-2.1.0/tests/fixtures/sp3_bodies.json +0 -255
  220. sidereon-2.1.0/tests/test_antex.py +0 -95
  221. sidereon-2.1.0/tests/test_oem.py +0 -126
  222. sidereon-2.1.0/tests/test_opm.py +0 -148
  223. sidereon-2.1.0/tests/test_ppp_corrections.py +0 -126
  224. sidereon-2.1.0/tests/test_qc.py +0 -209
  225. sidereon-2.1.0/tests/test_rinex_clock.py +0 -105
  226. sidereon-2.1.0/tests/test_tides.py +0 -125
  227. sidereon-2.1.0/tests/test_tle_fit.py +0 -121
  228. {sidereon-2.1.0 → sidereon-3.0.0}/.cargo/config.toml.disabled +0 -0
  229. {sidereon-2.1.0 → sidereon-3.0.0}/.gitattributes +0 -0
  230. {sidereon-2.1.0 → sidereon-3.0.0}/LICENSE +0 -0
  231. {sidereon-2.1.0 → sidereon-3.0.0}/bench/README.md +0 -0
  232. {sidereon-2.1.0 → sidereon-3.0.0}/bench/bench_fleet.py +0 -0
  233. {sidereon-2.1.0 → sidereon-3.0.0}/examples/clean_a_phone_track.ipynb +0 -0
  234. {sidereon-2.1.0 → sidereon-3.0.0}/examples/static_occupation_vs_cors.ipynb +0 -0
  235. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/_compression.py +0 -0
  236. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/_exact_cache.py +0 -0
  237. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/_ingress.py +0 -0
  238. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/exact_cache.py +0 -0
  239. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/exact_cache.pyi +0 -0
  240. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/ntrip.py +0 -0
  241. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/ntrip.pyi +0 -0
  242. {sidereon-2.1.0 → sidereon-3.0.0}/python/sidereon/py.typed +0 -0
  243. {sidereon-2.1.0 → sidereon-3.0.0}/scripts/smoke-release.py +0 -0
  244. {sidereon-2.1.0 → sidereon-3.0.0}/src/almanac.rs +0 -0
  245. {sidereon-2.1.0 → sidereon-3.0.0}/src/angles.rs +0 -0
  246. {sidereon-2.1.0 → sidereon-3.0.0}/src/anomaly.rs +0 -0
  247. {sidereon-2.1.0 → sidereon-3.0.0}/src/atmosphere.rs +0 -0
  248. {sidereon-2.1.0 → sidereon-3.0.0}/src/bodies.rs +0 -0
  249. {sidereon-2.1.0 → sidereon-3.0.0}/src/body_observe.rs +0 -0
  250. {sidereon-2.1.0 → sidereon-3.0.0}/src/clock_stability.rs +0 -0
  251. {sidereon-2.1.0 → sidereon-3.0.0}/src/conjunction.rs +0 -0
  252. {sidereon-2.1.0 → sidereon-3.0.0}/src/covariance.rs +0 -0
  253. {sidereon-2.1.0 → sidereon-3.0.0}/src/doppler.rs +0 -0
  254. {sidereon-2.1.0 → sidereon-3.0.0}/src/elements.rs +0 -0
  255. {sidereon-2.1.0 → sidereon-3.0.0}/src/emission.rs +0 -0
  256. {sidereon-2.1.0 → sidereon-3.0.0}/src/equinoctial.rs +0 -0
  257. {sidereon-2.1.0 → sidereon-3.0.0}/src/estimation.rs +0 -0
  258. {sidereon-2.1.0 → sidereon-3.0.0}/src/events.rs +0 -0
  259. {sidereon-2.1.0 → sidereon-3.0.0}/src/exact_cache.rs +0 -0
  260. {sidereon-2.1.0 → sidereon-3.0.0}/src/forces.rs +0 -0
  261. {sidereon-2.1.0 → sidereon-3.0.0}/src/frame_catalog.rs +0 -0
  262. {sidereon-2.1.0 → sidereon-3.0.0}/src/geodesic.rs +0 -0
  263. {sidereon-2.1.0 → sidereon-3.0.0}/src/geodetic_time_series.rs +0 -0
  264. {sidereon-2.1.0 → sidereon-3.0.0}/src/geofence.rs +0 -0
  265. {sidereon-2.1.0 → sidereon-3.0.0}/src/geoid.rs +0 -0
  266. {sidereon-2.1.0 → sidereon-3.0.0}/src/geometry.rs +0 -0
  267. {sidereon-2.1.0 → sidereon-3.0.0}/src/geometry_quality.rs +0 -0
  268. {sidereon-2.1.0 → sidereon-3.0.0}/src/ils.rs +0 -0
  269. {sidereon-2.1.0 → sidereon-3.0.0}/src/lambert.rs +0 -0
  270. {sidereon-2.1.0 → sidereon-3.0.0}/src/leap.rs +0 -0
  271. {sidereon-2.1.0 → sidereon-3.0.0}/src/least_squares.rs +0 -0
  272. {sidereon-2.1.0 → sidereon-3.0.0}/src/lnav.rs +0 -0
  273. {sidereon-2.1.0 → sidereon-3.0.0}/src/normality.rs +0 -0
  274. {sidereon-2.1.0 → sidereon-3.0.0}/src/ntrip.rs +0 -0
  275. {sidereon-2.1.0 → sidereon-3.0.0}/src/observation.rs +0 -0
  276. {sidereon-2.1.0 → sidereon-3.0.0}/src/orbit_determination.rs +0 -0
  277. {sidereon-2.1.0 → sidereon-3.0.0}/src/reduced_orbit.rs +0 -0
  278. {sidereon-2.1.0 → sidereon-3.0.0}/src/relative.rs +0 -0
  279. {sidereon-2.1.0 → sidereon-3.0.0}/src/rf.rs +0 -0
  280. {sidereon-2.1.0 → sidereon-3.0.0}/src/signal_analysis.rs +0 -0
  281. {sidereon-2.1.0 → sidereon-3.0.0}/src/source_localization.rs +0 -0
  282. {sidereon-2.1.0 → sidereon-3.0.0}/src/tca.rs +0 -0
  283. {sidereon-2.1.0 → sidereon-3.0.0}/src/unix_compress.rs +0 -0
  284. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/antex/igs20_pasa_scoa_gps.atx +0 -0
  285. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/antex/igs20_wettzell_trim.atx +0 -0
  286. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/batch_fleet.json +0 -0
  287. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/clk/synthetic_rinex_clock.clk +0 -0
  288. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/conjunction.json +0 -0
  289. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/constellation/gps_ops_sample.json +0 -0
  290. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/constellation/navcen_forecast_cases.html +0 -0
  291. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/constellation/navcen_gps_sample.html +0 -0
  292. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/events_bodies_dop.json +0 -0
  293. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/frames_time.json +0 -0
  294. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/geodesic/geodtest_row.dat +0 -0
  295. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/geoid/egm2008_25_norcal_crop.bin +0 -0
  296. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/gnss_data/igs22376.sp3.Z.b64 +0 -0
  297. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/gnss_data/ncompress-current-b9-counter.Z.b64 +0 -0
  298. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/listings/gfz-ultra-w2430-20260804.html +0 -0
  299. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/nav/BRDC00GOP_R_20210010000_01D_MN.rnx +0 -0
  300. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/nav/ESBC00DNK_R_20201770000_01D_MN.rnx +0 -0
  301. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/nav/KMS300DNK_R_20221591000_01H_MN.rnx +0 -0
  302. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/numerical_propagation.json +0 -0
  303. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/obs/ESBC00DNK_R_20201770000_01D_30S_MO_trim.crx +0 -0
  304. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/obs/ESBC00DNK_R_20201770000_01D_30S_MO_trim.rnx +0 -0
  305. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/obs/algo0010_2015001_v1_trim.crx +0 -0
  306. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/obs/algo0010_2015001_v1_trim.rnx +0 -0
  307. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/rf_link_budget.json +0 -0
  308. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/sp3/IGS0OPSFIN_20261200945_02H30M_15M_ORB.SP3 +0 -0
  309. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/sp3-merge-input-v1.json +0 -0
  310. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/spk/horizons_eros_type21.bsp +0 -0
  311. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/tdm/annex_e_01.kvn +0 -0
  312. {sidereon-2.1.0 → sidereon-3.0.0}/tests/fixtures/tle_roundtrip.json +0 -0
  313. {sidereon-2.1.0 → sidereon-3.0.0}/tests/golden/sp3-terminal-record-v1.json +0 -0
  314. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_012_bindings.py +0 -0
  315. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_013_bindings.py +0 -0
  316. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_014_bindings.py +0 -0
  317. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_020_error_metrics.py +0 -0
  318. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_atmosphere.py +0 -0
  319. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_attested_open.py +0 -0
  320. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_broadcast_comparison.py +0 -0
  321. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_conjunction.py +0 -0
  322. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_constellation.py +0 -0
  323. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_covariance.py +0 -0
  324. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_covariance_propagation.py +0 -0
  325. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_crinex.py +0 -0
  326. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_distribution_fallback.py +0 -0
  327. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_dop_at_epoch.py +0 -0
  328. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_dop_convention.py +0 -0
  329. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_doppler.py +0 -0
  330. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_egm96.py +0 -0
  331. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_elements.py +0 -0
  332. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_exact_cache_atomicity.py +0 -0
  333. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_forces.py +0 -0
  334. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_frames_time.py +0 -0
  335. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_ftp_transport.py +0 -0
  336. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_geoid.py +0 -0
  337. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_geometry.py +0 -0
  338. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_ils.py +0 -0
  339. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_import.py +0 -0
  340. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_ionosphere_nequick.py +0 -0
  341. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_klobuchar_native.py +0 -0
  342. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_leap_seconds.py +0 -0
  343. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_least_squares.py +0 -0
  344. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_lnav.py +0 -0
  345. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_moving_baseline.py +0 -0
  346. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_next_issue_due.py +0 -0
  347. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_ntrip.py +0 -0
  348. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_numerical.py +0 -0
  349. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_observables_broadcast.py +0 -0
  350. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_observation.py +0 -0
  351. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_observe_batch.py +0 -0
  352. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_parity_gaps.py +0 -0
  353. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_passes.py +0 -0
  354. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_precise_samples.py +0 -0
  355. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_propagation.py +0 -0
  356. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_reduced_orbit.py +0 -0
  357. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_reduced_orbit_piecewise.py +0 -0
  358. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_residual_stats.py +0 -0
  359. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_rf.py +0 -0
  360. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sky.py +0 -0
  361. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sp3_bodies.py +0 -0
  362. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sp3_clock_reference.py +0 -0
  363. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sp3_terminal_record.py +0 -0
  364. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_sp3_window_continuity.py +0 -0
  365. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_spk.py +0 -0
  366. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_tca.py +0 -0
  367. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_unix_compress.py +0 -0
  368. {sidereon-2.1.0 → sidereon-3.0.0}/tests/test_visible_ground_track.py +0 -0
  369. {sidereon-2.1.0 → sidereon-3.0.0}/third_party_licenses/ERFA-BSD-3-Clause.txt +0 -0
  370. {sidereon-2.1.0 → sidereon-3.0.0}/third_party_licenses/IERS-CONVENTIONS-SOFTWARE-LICENSE.txt +0 -0
  371. {sidereon-2.1.0 → sidereon-3.0.0}/third_party_licenses/SciPy-BSD-3-Clause.txt +0 -0
  372. {sidereon-2.1.0/third_party_source/sidereon-core-0.35.0 → sidereon-3.0.0/third_party_source/sidereon-core-3.0.0}/tides/pole.rs +0 -0
@@ -38,19 +38,23 @@ jobs:
38
38
  release-metadata:
39
39
  name: release metadata
40
40
  runs-on: ubuntu-latest
41
+ outputs:
42
+ core_fixture_ref: ${{ steps.release-check.outputs.fixture_ref }}
41
43
  steps:
42
44
  - uses: actions/checkout@v4
43
45
  - uses: actions/setup-python@v5
44
46
  with:
45
47
  python-version: "3.12"
46
- - run: python scripts/check-release.py
48
+ - name: Validate release metadata and select core fixtures
49
+ id: release-check
50
+ run: python scripts/check-release.py --ci --github-output "$GITHUB_OUTPUT"
47
51
 
48
52
  rust:
49
53
  name: rustfmt + clippy
50
54
  runs-on: ubuntu-latest
51
55
  steps:
52
56
  - uses: actions/checkout@v4
53
- - uses: dtolnay/rust-toolchain@stable
57
+ - uses: dtolnay/rust-toolchain@1.98.1
54
58
  with:
55
59
  components: rustfmt, clippy
56
60
  # shared-key so the tag-triggered release gate reuses this cache instead
@@ -62,13 +66,14 @@ jobs:
62
66
  - name: cargo fmt --check
63
67
  run: cargo fmt --check
64
68
  - name: cargo clippy -D warnings
65
- run: cargo clippy --all-targets -- -D warnings
69
+ run: cargo clippy --locked --all-targets -- -D warnings
66
70
 
67
71
  python:
68
72
  name: ruff + build + pytest
69
73
  # arm64 runner: the bit-exact f64 goldens are captured on aarch64, and
70
74
  # transcendental libm differs by a few ULP across architectures.
71
75
  runs-on: macos-latest
76
+ needs: release-metadata
72
77
  steps:
73
78
  - uses: actions/checkout@v4
74
79
  - uses: actions/setup-python@v5
@@ -78,41 +83,48 @@ jobs:
78
83
  with:
79
84
  version: "0.11.19"
80
85
  enable-cache: true
81
- - uses: dtolnay/rust-toolchain@stable
86
+ - uses: dtolnay/rust-toolchain@1.98.1
82
87
  - uses: Swatinem/rust-cache@v2
83
88
  with:
84
89
  shared-key: ci
85
- - name: Determine sidereon-core version
86
- id: core-version
87
- shell: bash
88
- run: |
89
- version=$(python - <<'PY'
90
- import tomllib
91
-
92
- with open("Cargo.toml", "rb") as handle:
93
- manifest = tomllib.load(handle)
94
-
95
- dep = manifest["dependencies"]["sidereon-core"]
96
- if isinstance(dep, str):
97
- version = dep
98
- else:
99
- version = dep["version"]
100
-
101
- if any(ch in version for ch in "<>=, "):
102
- raise SystemExit(f"cannot derive a release tag from version requirement: {version}")
103
-
104
- print(version)
105
- PY
106
- )
107
- echo "version=$version" >> "$GITHUB_OUTPUT"
108
90
  - name: Check out sidereon-core fixtures
109
91
  uses: actions/checkout@v4
110
92
  with:
111
93
  repository: neilberkman/sidereon
112
- ref: v${{ steps.core-version.outputs.version }}
94
+ ref: ${{ needs.release-metadata.outputs.core_fixture_ref }}
113
95
  path: .core-checkout
114
96
  - name: Install locked environment
115
97
  run: uv sync --locked --extra test --group dev
98
+ - name: Test typed precise-sample error mapping
99
+ env:
100
+ PYO3_PYTHON: ${{ github.workspace }}/.venv/bin/python
101
+ run: |
102
+ set -euo pipefail
103
+ test -n "${PYO3_PYTHON:-}" || { echo "PYO3_PYTHON is not set" >&2; exit 1; }
104
+ test -x "$PYO3_PYTHON" || { echo "PYO3_PYTHON is not executable: $PYO3_PYTHON" >&2; exit 1; }
105
+ pyo3_home="$(env -u PYTHONHOME "$PYO3_PYTHON" -c 'import sys; print(sys.base_prefix)')"
106
+ test -n "$pyo3_home" || { echo "Derived PYTHONHOME is empty" >&2; exit 1; }
107
+ test -d "$pyo3_home" || { echo "Derived PYTHONHOME is not a directory: $pyo3_home" >&2; exit 1; }
108
+ PYO3_PYTHON="$PYO3_PYTHON" PYTHONHOME="$pyo3_home" \
109
+ cargo test --locked --no-default-features --features test-harness --lib \
110
+ ephemeris::precise_samples_error_tests::invalid_accuracy_from_valid_samples_keeps_typed_satellite_payload \
111
+ -- --exact 2>&1 | tee "$RUNNER_TEMP/precise-sample-invalid-accuracy.log"
112
+ grep -Fx \
113
+ 'test ephemeris::precise_samples_error_tests::invalid_accuracy_from_valid_samples_keeps_typed_satellite_payload ... ok' \
114
+ "$RUNNER_TEMP/precise-sample-invalid-accuracy.log"
115
+ grep -Eq '^test result: ok\. 1 passed; 0 failed; 0 ignored; 0 measured; [0-9]+ filtered out; finished in .*s$' \
116
+ "$RUNNER_TEMP/precise-sample-invalid-accuracy.log"
117
+ - name: Test registry source identity from the verified archive
118
+ run: |
119
+ set -euo pipefail
120
+ cargo test --locked --manifest-path scripts/core_goldens/Cargo.toml \
121
+ core_source_identity::tests::registry_revision_reads_vcs_from_checksum_verified_archive \
122
+ -- --exact 2>&1 | tee "$RUNNER_TEMP/core-source-identity.log"
123
+ grep -Fx \
124
+ 'test core_source_identity::tests::registry_revision_reads_vcs_from_checksum_verified_archive ... ok' \
125
+ "$RUNNER_TEMP/core-source-identity.log"
126
+ grep -Eq '^test result: ok\. 1 passed; 0 failed; 0 ignored; 0 measured; [0-9]+ filtered out; finished in .*s$' \
127
+ "$RUNNER_TEMP/core-source-identity.log"
116
128
  - name: ruff check
117
129
  run: uv run --locked --extra test --group dev ruff check .
118
130
  - name: ruff format --check
@@ -120,13 +132,15 @@ jobs:
120
132
  - name: mypy
121
133
  run: uv run --locked --extra test --group dev mypy
122
134
  - name: Build the extension (maturin develop)
123
- run: uv run --locked --extra test --group dev maturin develop --features exact-cache-test-failpoints
135
+ run: uv run --locked --extra test --group dev maturin develop --locked --features exact-cache-test-failpoints
124
136
  - name: stub accuracy
137
+ env:
138
+ SIDEREON_CORE_FIXTURES: ${{ github.workspace }}/.core-checkout/crates/sidereon-core/tests/fixtures
125
139
  run: uv run --locked --extra test --group dev pytest tests/test_stub_accuracy.py
126
140
  - name: pytest
127
141
  env:
128
142
  SIDEREON_CORE_FIXTURES: ${{ github.workspace }}/.core-checkout/crates/sidereon-core/tests/fixtures
129
143
  run: |
130
- # The published sidereon-core crate omits test fixtures, so CI checks
131
- # out the matching release tag and points the test resolver at them.
144
+ # The published crate omits test fixtures, so use the guard-selected
145
+ # candidate revision or matching registry release tag.
132
146
  uv run --locked --extra test --group dev pytest
@@ -45,9 +45,10 @@ jobs:
45
45
  - name: Build abi3 wheel
46
46
  uses: PyO3/maturin-action@v1
47
47
  with:
48
+ rust-toolchain: "1.98.1"
48
49
  target: ${{ matrix.target }}
49
50
  manylinux: auto
50
- args: --release --out dist
51
+ args: --release --locked --out dist
51
52
  - uses: actions/upload-artifact@v4
52
53
  with:
53
54
  name: wheels-linux-${{ matrix.target }}
@@ -67,8 +68,9 @@ jobs:
67
68
  - name: Build abi3 wheel
68
69
  uses: PyO3/maturin-action@v1
69
70
  with:
71
+ rust-toolchain: "1.98.1"
70
72
  target: ${{ matrix.target }}
71
- args: --release --out dist
73
+ args: --release --locked --out dist
72
74
  - uses: actions/upload-artifact@v4
73
75
  with:
74
76
  name: wheels-macos-${{ matrix.target }}
@@ -85,8 +87,9 @@ jobs:
85
87
  - name: Build abi3 wheel
86
88
  uses: PyO3/maturin-action@v1
87
89
  with:
90
+ rust-toolchain: "1.98.1"
88
91
  target: x64
89
- args: --release --out dist
92
+ args: --release --locked --out dist
90
93
  - uses: actions/upload-artifact@v4
91
94
  with:
92
95
  name: wheels-windows-x64
@@ -97,9 +100,13 @@ jobs:
97
100
  runs-on: ubuntu-latest
98
101
  steps:
99
102
  - uses: actions/checkout@v4
103
+ - uses: dtolnay/rust-toolchain@1.98.1
104
+ - name: Verify the Cargo lock before packaging the source distribution
105
+ run: cargo metadata --locked --format-version 1 --manifest-path Cargo.toml
100
106
  - name: Build sdist
101
107
  uses: PyO3/maturin-action@v1
102
108
  with:
109
+ rust-toolchain: "1.98.1"
103
110
  command: sdist
104
111
  args: --out dist
105
112
  - uses: actions/upload-artifact@v4
@@ -116,7 +123,7 @@ jobs:
116
123
  - uses: actions/setup-python@v5
117
124
  with:
118
125
  python-version: "3.12"
119
- - uses: dtolnay/rust-toolchain@stable
126
+ - uses: dtolnay/rust-toolchain@1.98.1
120
127
  - uses: Swatinem/rust-cache@v2
121
128
  with:
122
129
  shared-key: release-wheels
@@ -146,10 +153,10 @@ jobs:
146
153
  done
147
154
  for source in mod.rs ocean.rs pole.rs; do
148
155
  unzip -p "$wheel" \
149
- "third_party_source/sidereon-core-0.35.0/tides/$source" \
156
+ "third_party_source/sidereon-core-3.0.0/tides/$source" \
150
157
  >"$RUNNER_TEMP/$source"
151
158
  cmp "$RUNNER_TEMP/$source" \
152
- "third_party_source/sidereon-core-0.35.0/tides/$source"
159
+ "third_party_source/sidereon-core-3.0.0/tides/$source"
153
160
  done
154
161
  done
155
162
  notice="$RUNNER_TEMP/sdist.notices"
@@ -166,10 +173,10 @@ jobs:
166
173
  done
167
174
  for source in mod.rs ocean.rs pole.rs; do
168
175
  tar -xOf "${sdists[0]}" --wildcards \
169
- "*/third_party_source/sidereon-core-0.35.0/tides/$source" \
176
+ "*/third_party_source/sidereon-core-3.0.0/tides/$source" \
170
177
  >"$RUNNER_TEMP/sdist-$source"
171
178
  cmp "$RUNNER_TEMP/sdist-$source" \
172
- "third_party_source/sidereon-core-0.35.0/tides/$source"
179
+ "third_party_source/sidereon-core-3.0.0/tides/$source"
173
180
  done
174
181
  - name: Smoke-test installed x86_64 Linux wheel
175
182
  shell: bash
@@ -189,7 +196,8 @@ jobs:
189
196
  python -m venv .venv-sdist
190
197
  . .venv-sdist/bin/activate
191
198
  python -m pip install --upgrade pip
192
- python -m pip install "${sdists[0]}"
199
+ python -m pip install "${sdists[0]}" \
200
+ --config-settings="maturin.build-args=--locked"
193
201
  SIDEREON_EXPECTED_VERSION="${GITHUB_REF_NAME#v}" python scripts/smoke-release.py
194
202
 
195
203
  publish:
@@ -9,3 +9,4 @@ __pycache__/
9
9
  *.so
10
10
  *.dSYM/
11
11
  *.egg-info/
12
+ /scripts/*/target