astrox-python 0.1.1__tar.gz → 0.2.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 (324) hide show
  1. {astrox_python-0.1.1 → astrox_python-0.2.0}/PKG-INFO +1 -1
  2. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/__init__.py +22 -2
  3. astrox_python-0.2.0/astrox/astrogator/__init__.py +8 -0
  4. astrox_python-0.2.0/astrox/astrogator/_api.py +60 -0
  5. astrox_python-0.2.0/astrox/astrogator/_models.py +1328 -0
  6. astrox_python-0.2.0/astrox/astrogator/_results.py +720 -0
  7. astrox_python-0.2.0/astrox/cat.py +465 -0
  8. astrox_python-0.2.0/astrox/catalog.py +175 -0
  9. astrox_python-0.2.0/astrox/celestial.py +153 -0
  10. astrox_python-0.2.0/astrox/conjunction.py +288 -0
  11. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/orbits.py +90 -1
  12. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/propagator.py +12 -18
  13. astrox_python-0.2.0/astrox/terrain.py +197 -0
  14. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/README.md +2 -0
  15. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/propagate_an_orbit.md +5 -2
  16. astrox_python-0.2.0/docs/how_to/run_an_astrogator_mcs.md +116 -0
  17. astrox_python-0.2.0/docs/how_to/screen_close_approaches.md +67 -0
  18. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/README.md +2 -0
  19. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/propagate_an_orbit.md +36 -33
  20. astrox_python-0.2.0/docs/i18n/en/how_to/run_an_astrogator_mcs.md +116 -0
  21. astrox_python-0.2.0/docs/i18n/en/how_to/screen_close_approaches.md +67 -0
  22. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/README.md +6 -0
  23. astrox_python-0.2.0/docs/i18n/en/manual/astrogator/README.md +675 -0
  24. astrox_python-0.2.0/docs/i18n/en/manual/cat/README.md +277 -0
  25. astrox_python-0.2.0/docs/i18n/en/manual/catalog/README.md +137 -0
  26. astrox_python-0.2.0/docs/i18n/en/manual/celestial/README.md +149 -0
  27. astrox_python-0.2.0/docs/i18n/en/manual/conjunction/README.md +169 -0
  28. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/orbits/README.md +22 -0
  29. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/propagator/README.md +13 -11
  30. astrox_python-0.2.0/docs/i18n/en/manual/terrain/README.md +139 -0
  31. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/README.md +6 -0
  32. astrox_python-0.2.0/docs/manual/astrogator/README.md +675 -0
  33. astrox_python-0.2.0/docs/manual/cat/README.md +277 -0
  34. astrox_python-0.2.0/docs/manual/catalog/README.md +137 -0
  35. astrox_python-0.2.0/docs/manual/celestial/README.md +149 -0
  36. astrox_python-0.2.0/docs/manual/conjunction/README.md +169 -0
  37. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/orbits/README.md +22 -0
  38. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/propagator/README.md +13 -11
  39. astrox_python-0.2.0/docs/manual/terrain/README.md +139 -0
  40. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/README.md +6 -0
  41. astrox_python-0.2.0/docs/validation/astrogator.md +238 -0
  42. astrox_python-0.2.0/docs/validation/cat.md +64 -0
  43. astrox_python-0.2.0/docs/validation/catalog.md +18 -0
  44. astrox_python-0.2.0/docs/validation/celestial.md +45 -0
  45. astrox_python-0.2.0/docs/validation/conjunction.md +62 -0
  46. astrox_python-0.2.0/docs/validation/terrain.md +23 -0
  47. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/propagator_reference.py +5 -2
  48. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/sgp4_tle.py +6 -3
  49. astrox_python-0.2.0/examples/07_astrogator/run_mcs.py +68 -0
  50. astrox_python-0.2.0/examples/08_conjunction/README.md +17 -0
  51. astrox_python-0.2.0/examples/08_conjunction/close_approaches.py +79 -0
  52. astrox_python-0.2.0/examples/09_cat/README.md +17 -0
  53. astrox_python-0.2.0/examples/09_cat/cat_workflows.py +81 -0
  54. astrox_python-0.2.0/examples/10_catalog/README.md +17 -0
  55. astrox_python-0.2.0/examples/10_catalog/catalog_queries.py +30 -0
  56. astrox_python-0.2.0/examples/11_celestial/README.md +17 -0
  57. astrox_python-0.2.0/examples/11_celestial/celestial_queries.py +42 -0
  58. astrox_python-0.2.0/examples/12_terrain/README.md +17 -0
  59. astrox_python-0.2.0/examples/12_terrain/terrain_masks.py +36 -0
  60. {astrox_python-0.1.1 → astrox_python-0.2.0}/pyproject.toml +1 -1
  61. astrox_python-0.2.0/tests/sdk/astrogator/test_api.py +181 -0
  62. astrox_python-0.2.0/tests/sdk/astrogator/test_models.py +625 -0
  63. astrox_python-0.2.0/tests/sdk/astrogator/test_results.py +301 -0
  64. astrox_python-0.2.0/tests/sdk/cat/test_cat.py +646 -0
  65. astrox_python-0.2.0/tests/sdk/catalog/test_catalog.py +187 -0
  66. astrox_python-0.2.0/tests/sdk/celestial/test_celestial.py +266 -0
  67. astrox_python-0.2.0/tests/sdk/conjunction/test_conjunction.py +481 -0
  68. astrox_python-0.2.0/tests/sdk/orbits/test_tle.py +160 -0
  69. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/helpers.py +8 -1
  70. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_hpop.py +6 -0
  71. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_public_contract.py +5 -2
  72. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_sgp4_simple_ascent.py +21 -40
  73. astrox_python-0.2.0/tests/sdk/terrain/test_terrain.py +192 -0
  74. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/__init__.py +2 -0
  75. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/contracts.py +82 -0
  76. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_contracts.py +58 -0
  77. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/__init__.py +1 -0
  78. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_branch_semantics.py +540 -0
  79. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_initial_state_conversions.py +184 -0
  80. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_maneuver_invariants.py +226 -0
  81. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_run_mcs_two_body_brahe.py +267 -0
  82. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_scalar_invariants.py +596 -0
  83. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_sequence_czml_brahe.py +180 -0
  84. astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_target_sequence_local.py +229 -0
  85. astrox_python-0.2.0/tests/validation/cross_validation/cat/test_cat_skyfield.py +939 -0
  86. astrox_python-0.2.0/tests/validation/cross_validation/celestial/test_cb_axes_rotation_invariants.py +313 -0
  87. astrox_python-0.2.0/tests/validation/cross_validation/celestial/test_ephemeris_skyfield.py +285 -0
  88. astrox_python-0.2.0/tests/validation/cross_validation/conjunction/test_close_approaches_skyfield.py +718 -0
  89. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_sgp4_skyfield.py +11 -5
  90. astrox_python-0.2.0/tests/validation/cross_validation/terrain/test_terrain_mask_invariants.py +163 -0
  91. astrox_python-0.2.0/tests/validation/live_snapshot/astrogator/__init__.py +1 -0
  92. astrox_python-0.2.0/tests/validation/live_snapshot/astrogator/run_mcs.snap.json +2571 -0
  93. astrox_python-0.2.0/tests/validation/live_snapshot/astrogator/test_run_mcs.py +352 -0
  94. astrox_python-0.2.0/tests/validation/live_snapshot/cat/cat.snap.json +485 -0
  95. astrox_python-0.2.0/tests/validation/live_snapshot/cat/test_cat.py +146 -0
  96. astrox_python-0.2.0/tests/validation/live_snapshot/catalog/catalog.snap.json +200 -0
  97. astrox_python-0.2.0/tests/validation/live_snapshot/catalog/test_catalog.py +106 -0
  98. astrox_python-0.2.0/tests/validation/live_snapshot/celestial/celestial.snap.json +194 -0
  99. astrox_python-0.2.0/tests/validation/live_snapshot/celestial/test_celestial.py +191 -0
  100. astrox_python-0.2.0/tests/validation/live_snapshot/conjunction/close_approaches.snap.json +66 -0
  101. astrox_python-0.2.0/tests/validation/live_snapshot/conjunction/test_close_approaches.py +124 -0
  102. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_sgp4.py +6 -6
  103. astrox_python-0.2.0/tests/validation/live_snapshot/terrain/terrain.snap.json +121 -0
  104. astrox_python-0.2.0/tests/validation/live_snapshot/terrain/test_terrain.py +124 -0
  105. {astrox_python-0.1.1 → astrox_python-0.2.0}/uv.lock +1 -1
  106. {astrox_python-0.1.1 → astrox_python-0.2.0}/.gitignore +0 -0
  107. {astrox_python-0.1.1 → astrox_python-0.2.0}/LICENSE +0 -0
  108. {astrox_python-0.1.1 → astrox_python-0.2.0}/README.md +0 -0
  109. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/_http.py +0 -0
  110. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/access.py +0 -0
  111. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/__init__.py +0 -0
  112. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_axes.py +0 -0
  113. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_common.py +0 -0
  114. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_constraints.py +0 -0
  115. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_objects.py +0 -0
  116. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_positions.py +0 -0
  117. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_rotations.py +0 -0
  118. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_sensors.py +0 -0
  119. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_vgt.py +0 -0
  120. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/__init__.py +0 -0
  121. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/_core.py +0 -0
  122. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/_fom.py +0 -0
  123. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/coverage_time.py +0 -0
  124. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/number_of_assets.py +0 -0
  125. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/response_time.py +0 -0
  126. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/revisit_time.py +0 -0
  127. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/simple_coverage.py +0 -0
  128. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/exceptions.py +0 -0
  129. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/lighting.py +0 -0
  130. {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/rocket.py +0 -0
  131. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/CONTRIBUTING.md +0 -0
  132. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/README.md +0 -0
  133. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/automated-workflows.md +0 -0
  134. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/docs-principles.md +0 -0
  135. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/getting_started.md +0 -0
  136. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/build_an_hpop_configuration.md +0 -0
  137. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/compute_access_intervals.md +0 -0
  138. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/compute_lighting_conditions.md +0 -0
  139. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/convert_between_orbit_representations.md +0 -0
  140. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/README.md +0 -0
  141. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/getting_started.md +0 -0
  142. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/build_an_hpop_configuration.md +0 -0
  143. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/compute_access_intervals.md +0 -0
  144. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/compute_lighting_conditions.md +0 -0
  145. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/convert_between_orbit_representations.md +0 -0
  146. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/access/README.md +0 -0
  147. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/components/README.md +0 -0
  148. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/coverage/README.md +0 -0
  149. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/lighting/README.md +0 -0
  150. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/rocket/README.md +0 -0
  151. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/access/README.md +0 -0
  152. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/components/README.md +0 -0
  153. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/coverage/README.md +0 -0
  154. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/lighting/README.md +0 -0
  155. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/rocket/README.md +0 -0
  156. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/sdk-principles.md +0 -0
  157. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/test-principles.md +0 -0
  158. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/access.md +0 -0
  159. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/coverage.md +0 -0
  160. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/lighting.md +0 -0
  161. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/orbits.md +0 -0
  162. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/propagator.md +0 -0
  163. {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/rocket.md +0 -0
  164. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/README.md +0 -0
  165. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_apogee_alt.py +0 -0
  166. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_delta_v.py +0 -0
  167. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_min_ecc.py +0 -0
  168. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_time_of_flight.py +0 -0
  169. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/batch_propagators.py +0 -0
  170. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/hpop.py +0 -0
  171. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/j2_classical.py +0 -0
  172. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/simple_ascent.py +0 -0
  173. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/two_body_classical.py +0 -0
  174. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/README.md +0 -0
  175. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/conversions.py +0 -0
  176. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/lambert_delta_v.py +0 -0
  177. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/orbit_system.py +0 -0
  178. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/wizards.py +0 -0
  179. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/03_lighting/README.md +0 -0
  180. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/03_lighting/lighting.py +0 -0
  181. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/README.md +0 -0
  182. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/chain.py +0 -0
  183. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/compute.py +0 -0
  184. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/constraints.py +0 -0
  185. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/custom_axes.py +0 -0
  186. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/sensor_pointing.py +0 -0
  187. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/05_rocket/README.md +0 -0
  188. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/05_rocket/landing_zone.py +0 -0
  189. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/README.md +0 -0
  190. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/compute.py +0 -0
  191. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/fom.py +0 -0
  192. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/grid_points.py +0 -0
  193. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/reports.py +0 -0
  194. {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/manifest.toml +0 -0
  195. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/README.md +0 -0
  196. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/conftest.py +0 -0
  197. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/helpers.py +0 -0
  198. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/test_chain.py +0 -0
  199. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/test_compute.py +0 -0
  200. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/test_values.py +0 -0
  201. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/client/test_client.py +0 -0
  202. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/components/test_components.py +0 -0
  203. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/coverage/test_coverage.py +0 -0
  204. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/coverage/test_coverage_fom.py +0 -0
  205. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/helpers.py +0 -0
  206. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/lighting/test_lighting.py +0 -0
  207. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/helpers.py +0 -0
  208. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_conversions.py +0 -0
  209. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_keplerian.py +0 -0
  210. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_orbit_system.py +0 -0
  211. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_wizards.py +0 -0
  212. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_ballistic.py +0 -0
  213. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_j2_two_body.py +0 -0
  214. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_multi.py +0 -0
  215. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/rocket/__init__.py +0 -0
  216. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/rocket/test_rocket.py +0 -0
  217. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/README.md +0 -0
  218. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_external/gmat/README.md +0 -0
  219. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_external/gmat/hpop_driver.py +0 -0
  220. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_external/gmat/test_hpop_driver.py +0 -0
  221. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/external_tools.py +0 -0
  222. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/gmat.py +0 -0
  223. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/skyfield.py +0 -0
  224. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_external_tools.py +0 -0
  225. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_gmat.py +0 -0
  226. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_skyfield.py +0 -0
  227. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/__init__.py +0 -0
  228. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/README.md +0 -0
  229. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/__init__.py +0 -0
  230. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_aer.py +0 -0
  231. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_cases.py +0 -0
  232. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_constraints.py +0 -0
  233. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_exclusion.py +0 -0
  234. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_geometry.py +0 -0
  235. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_mixed_model.py +0 -0
  236. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_orientation.py +0 -0
  237. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_axes_orientation_geometry.py +0 -0
  238. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_chain_sgp4_skyfield.py +0 -0
  239. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_composite_czml_axes_geometry.py +0 -0
  240. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_constraints_skyfield.py +0 -0
  241. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_exclusion_constraints_invariants.py +0 -0
  242. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_ground_sgp4_skyfield.py +0 -0
  243. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_j2_two_body_geometry.py +0 -0
  244. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_sgp4_j2_geometry.py +0 -0
  245. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_hpop_geometry.py +0 -0
  246. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_j2_geometry.py +0 -0
  247. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_two_body_geometry.py +0 -0
  248. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_sensor_pointing_geometry.py +0 -0
  249. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_vgt_orientation_resolution.py +0 -0
  250. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/_fom_helpers.py +0 -0
  251. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_exclusion_grid_constraints_skyfield.py +0 -0
  252. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_at_time_boundaries_invariants.py +0 -0
  253. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_edge_cases_invariants.py +0 -0
  254. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_grid_options_invariants.py +0 -0
  255. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_interval_invariants.py +0 -0
  256. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_resource_options_invariants.py +0 -0
  257. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_response_shapes_invariants.py +0 -0
  258. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_response_time_dynamic_invariants.py +0 -0
  259. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_grid_generation_local.py +0 -0
  260. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_grid_point_modifiers_invariants.py +0 -0
  261. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_resource_reports_invariants.py +0 -0
  262. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_sgp4_grid_membership_skyfield.py +0 -0
  263. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/__init__.py +0 -0
  264. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_site_sun_skyfield.py +0 -0
  265. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_spacecraft_solar_intensity_orekit.py +0 -0
  266. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_spacecraft_sun_skyfield.py +0 -0
  267. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/__init__.py +0 -0
  268. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/_support.py +0 -0
  269. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/test_convert_czml_position.py +0 -0
  270. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/test_earth_moon_libration.py +0 -0
  271. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/__init__.py +0 -0
  272. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_kozai_izsak_mean_elements_invariants.py +0 -0
  273. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_lambert_lamberthub.py +0 -0
  274. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_walker_constellation_equations.py +0 -0
  275. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_wizards_local_derivation.py +0 -0
  276. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_ballistic_geodetic.py +0 -0
  277. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_hpop_gmat.py +0 -0
  278. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_j2_analytical.py +0 -0
  279. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_multi_sgp4_skyfield.py +0 -0
  280. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_simple_ascent_geodetic.py +0 -0
  281. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_two_body_brahe.py +0 -0
  282. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/rocket/__init__.py +0 -0
  283. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/rocket/test_landing_zone_geographiclib.py +0 -0
  284. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/__init__.py +0 -0
  285. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/__init__.py +0 -0
  286. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/access.snap.json +0 -0
  287. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_access.py +0 -0
  288. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_chain_topology.py +0 -0
  289. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_compute_model_pairs.py +0 -0
  290. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_compute_options.py +0 -0
  291. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/coverage/coverage.snap.json +0 -0
  292. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/coverage/test_coverage.py +0 -0
  293. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/__init__.py +0 -0
  294. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/lighting.snap.json +0 -0
  295. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/test_lighting.py +0 -0
  296. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/__init__.py +0 -0
  297. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/conversions.snap.json +0 -0
  298. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/orbit_system.snap.json +0 -0
  299. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_conversion_roundtrip.py +0 -0
  300. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_conversions.py +0 -0
  301. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_orbit_system.py +0 -0
  302. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_wizards.py +0 -0
  303. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/wizards.snap.json +0 -0
  304. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/__init__.py +0 -0
  305. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/ballistic.snap.json +0 -0
  306. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/hpop.snap.json +0 -0
  307. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/j2.snap.json +0 -0
  308. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_j2.snap.json +0 -0
  309. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_sgp4.snap.json +0 -0
  310. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_two_body.snap.json +0 -0
  311. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/sgp4.snap.json +0 -0
  312. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/simple_ascent.snap.json +0 -0
  313. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_ballistic.py +0 -0
  314. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_hpop.py +0 -0
  315. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_j2.py +0 -0
  316. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_j2.py +0 -0
  317. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_sgp4.py +0 -0
  318. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_two_body.py +0 -0
  319. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_simple_ascent.py +0 -0
  320. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_two_body.py +0 -0
  321. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/two_body.snap.json +0 -0
  322. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/__init__.py +0 -0
  323. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/landing_zone.snap.json +0 -0
  324. {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/test_landing_zone.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: astrox-python
3
- Version: 0.1.1
3
+ Version: 0.2.0
4
4
  Summary: Python SDK for the ASTROX Web API.
5
5
  Project-URL: Homepage, https://github.com/Mtrya/astrox-python
6
6
  Project-URL: Repository, https://github.com/Mtrya/astrox-python.git
@@ -4,7 +4,7 @@ Functions are organized by domain modules and can use package-level
4
4
  configuration without requiring explicit client management:
5
5
 
6
6
  import astrox
7
- from astrox import access, coverage, components, lighting, orbits, propagator
7
+ from astrox import access, celestial, catalog, components, coverage, lighting, orbits, propagator, terrain
8
8
 
9
9
  astrox.configure(base_url="http://custom:8765", timeout=120)
10
10
  orbit = orbits.keplerian(...)
@@ -26,7 +26,21 @@ Raw route access is available for advanced callers:
26
26
 
27
27
  from importlib.metadata import PackageNotFoundError, version
28
28
 
29
- from astrox import access, coverage, components, lighting, orbits, propagator, rocket
29
+ from astrox import (
30
+ access,
31
+ astrogator,
32
+ catalog,
33
+ cat,
34
+ celestial,
35
+ conjunction,
36
+ components,
37
+ coverage,
38
+ lighting,
39
+ orbits,
40
+ propagator,
41
+ rocket,
42
+ terrain,
43
+ )
30
44
  from astrox._http import Client, configure, get_session, raw
31
45
 
32
46
  try:
@@ -39,11 +53,17 @@ __all__ = [
39
53
  "configure",
40
54
  "get_session",
41
55
  "access",
56
+ "astrogator",
57
+ "catalog",
58
+ "cat",
59
+ "celestial",
60
+ "conjunction",
42
61
  "coverage",
43
62
  "components",
44
63
  "lighting",
45
64
  "orbits",
46
65
  "propagator",
47
66
  "rocket",
67
+ "terrain",
48
68
  "raw",
49
69
  ]
@@ -0,0 +1,8 @@
1
+ """Pythonic Astrogator mission-control sequence API."""
2
+
3
+ from . import _models, _results
4
+ from ._api import run_mcs
5
+ from ._models import * # noqa: F403
6
+ from ._results import * # noqa: F403
7
+
8
+ __all__ = [*_models.__all__, *_results.__all__, "run_mcs"] # noqa: PLE0604
@@ -0,0 +1,60 @@
1
+ """Public Astrogator RunMCS endpoint."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from collections.abc import Sequence
6
+
7
+ from astrox._http import raw
8
+ from astrox.propagator import HpopConfig
9
+
10
+ from ._models import (
11
+ EngineConstant,
12
+ EntityPath,
13
+ MCSSegment,
14
+ _mission_wire,
15
+ )
16
+ from ._results import RunMCSResult, run_mcs_result_from_wire
17
+
18
+
19
+ def _entities_to_wire(values: Sequence[EntityPath] | None) -> list[dict[str, object]] | None:
20
+ if values is None:
21
+ return None
22
+ if isinstance(values, (str, bytes)) or not isinstance(values, Sequence):
23
+ raise TypeError("entities must be a sequence of astrogator EntityPath values")
24
+ items = tuple(values)
25
+ if not all(isinstance(item, EntityPath) for item in items):
26
+ raise TypeError("entities must be a sequence of astrogator EntityPath values")
27
+ return [item.to_wire() for item in items]
28
+
29
+
30
+ def run_mcs(
31
+ main_sequence: Sequence[MCSSegment],
32
+ *,
33
+ central_body: str = "Earth",
34
+ out_czml_frame_name: str = "INERTIAL",
35
+ compute_czml_positions: bool | None = None,
36
+ entities: Sequence[EntityPath] | None = None,
37
+ propagators: Sequence[HpopConfig] | None = None,
38
+ engine_models: Sequence[EngineConstant] | None = None,
39
+ text: str | None = None,
40
+ ) -> RunMCSResult:
41
+ """Run an ASTROX Astrogator mission-control sequence."""
42
+
43
+ payload = _mission_wire(
44
+ central_body=central_body,
45
+ main_sequence=main_sequence,
46
+ compute_czml_positions=compute_czml_positions,
47
+ out_czml_frame_name=out_czml_frame_name,
48
+ text=text,
49
+ propagators=propagators,
50
+ engine_models=engine_models,
51
+ )
52
+ entity_values = _entities_to_wire(entities)
53
+ if entity_values is not None:
54
+ payload["Entities"] = entity_values
55
+
56
+ result = raw.post("/Astrogator/RunMCS", json=payload)
57
+ return run_mcs_result_from_wire(result)
58
+
59
+
60
+ __all__ = ["run_mcs"]