astrox-python 0.1.0__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.
- {astrox_python-0.1.0 → astrox_python-0.2.0}/PKG-INFO +30 -25
- astrox_python-0.2.0/README.md +59 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/__init__.py +22 -2
- astrox_python-0.2.0/astrox/astrogator/__init__.py +8 -0
- astrox_python-0.2.0/astrox/astrogator/_api.py +60 -0
- astrox_python-0.2.0/astrox/astrogator/_models.py +1328 -0
- astrox_python-0.2.0/astrox/astrogator/_results.py +720 -0
- astrox_python-0.2.0/astrox/cat.py +465 -0
- astrox_python-0.2.0/astrox/catalog.py +175 -0
- astrox_python-0.2.0/astrox/celestial.py +153 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/__init__.py +8 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_constraints.py +62 -2
- astrox_python-0.2.0/astrox/conjunction.py +288 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/_core.py +1 -5
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/orbits.py +90 -1
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/propagator.py +12 -18
- astrox_python-0.2.0/astrox/terrain.py +197 -0
- astrox_python-0.2.0/docs/CONTRIBUTING.md +9 -0
- astrox_python-0.2.0/docs/README.md +10 -0
- astrox_python-0.2.0/docs/docs-principles.md +102 -0
- astrox_python-0.2.0/docs/getting_started.md +71 -0
- astrox_python-0.2.0/docs/how_to/README.md +13 -0
- astrox_python-0.2.0/docs/how_to/build_an_hpop_configuration.md +148 -0
- astrox_python-0.2.0/docs/how_to/compute_access_intervals.md +108 -0
- astrox_python-0.2.0/docs/how_to/compute_lighting_conditions.md +123 -0
- astrox_python-0.2.0/docs/how_to/convert_between_orbit_representations.md +137 -0
- astrox_python-0.2.0/docs/how_to/propagate_an_orbit.md +151 -0
- astrox_python-0.2.0/docs/how_to/run_an_astrogator_mcs.md +116 -0
- astrox_python-0.2.0/docs/how_to/screen_close_approaches.md +67 -0
- astrox_python-0.2.0/docs/i18n/en/README.md +59 -0
- astrox_python-0.2.0/docs/i18n/en/getting_started.md +71 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/README.md +13 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/build_an_hpop_configuration.md +148 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/compute_access_intervals.md +108 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/compute_lighting_conditions.md +123 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/convert_between_orbit_representations.md +137 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/propagate_an_orbit.md +151 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/run_an_astrogator_mcs.md +116 -0
- astrox_python-0.2.0/docs/i18n/en/how_to/screen_close_approaches.md +67 -0
- astrox_python-0.2.0/docs/i18n/en/manual/README.md +17 -0
- astrox_python-0.2.0/docs/i18n/en/manual/access/README.md +264 -0
- astrox_python-0.2.0/docs/i18n/en/manual/astrogator/README.md +675 -0
- astrox_python-0.2.0/docs/i18n/en/manual/cat/README.md +277 -0
- astrox_python-0.2.0/docs/i18n/en/manual/catalog/README.md +137 -0
- astrox_python-0.2.0/docs/i18n/en/manual/celestial/README.md +149 -0
- astrox_python-0.2.0/docs/i18n/en/manual/components/README.md +807 -0
- astrox_python-0.2.0/docs/i18n/en/manual/conjunction/README.md +169 -0
- astrox_python-0.2.0/docs/i18n/en/manual/coverage/README.md +403 -0
- astrox_python-0.2.0/docs/i18n/en/manual/lighting/README.md +185 -0
- astrox_python-0.2.0/docs/i18n/en/manual/orbits/README.md +473 -0
- astrox_python-0.2.0/docs/i18n/en/manual/propagator/README.md +636 -0
- astrox_python-0.2.0/docs/i18n/en/manual/rocket/README.md +110 -0
- astrox_python-0.2.0/docs/i18n/en/manual/terrain/README.md +139 -0
- astrox_python-0.2.0/docs/manual/README.md +17 -0
- astrox_python-0.2.0/docs/manual/access/README.md +264 -0
- astrox_python-0.2.0/docs/manual/astrogator/README.md +675 -0
- astrox_python-0.2.0/docs/manual/cat/README.md +277 -0
- astrox_python-0.2.0/docs/manual/catalog/README.md +137 -0
- astrox_python-0.2.0/docs/manual/celestial/README.md +149 -0
- astrox_python-0.2.0/docs/manual/components/README.md +807 -0
- astrox_python-0.2.0/docs/manual/conjunction/README.md +169 -0
- astrox_python-0.2.0/docs/manual/coverage/README.md +403 -0
- astrox_python-0.2.0/docs/manual/lighting/README.md +185 -0
- astrox_python-0.2.0/docs/manual/orbits/README.md +473 -0
- astrox_python-0.2.0/docs/manual/propagator/README.md +636 -0
- astrox_python-0.2.0/docs/manual/rocket/README.md +110 -0
- astrox_python-0.2.0/docs/manual/terrain/README.md +139 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/docs/sdk-principles.md +3 -3
- astrox_python-0.2.0/docs/validation/README.md +21 -0
- astrox_python-0.2.0/docs/validation/access.md +348 -0
- astrox_python-0.2.0/docs/validation/astrogator.md +238 -0
- astrox_python-0.2.0/docs/validation/cat.md +64 -0
- astrox_python-0.2.0/docs/validation/catalog.md +18 -0
- astrox_python-0.2.0/docs/validation/celestial.md +45 -0
- astrox_python-0.2.0/docs/validation/conjunction.md +62 -0
- astrox_python-0.2.0/docs/validation/coverage.md +216 -0
- astrox_python-0.2.0/docs/validation/lighting.md +171 -0
- astrox_python-0.2.0/docs/validation/orbits.md +194 -0
- astrox_python-0.2.0/docs/validation/propagator.md +271 -0
- astrox_python-0.2.0/docs/validation/rocket.md +93 -0
- astrox_python-0.2.0/docs/validation/terrain.md +23 -0
- astrox_python-0.2.0/examples/01_propagation/README.md +47 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/ballistic_apogee_alt.py +25 -26
- astrox_python-0.2.0/examples/01_propagation/ballistic_delta_v.py +107 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/ballistic_min_ecc.py +3 -3
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/ballistic_time_of_flight.py +3 -3
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/batch_propagators.py +4 -4
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/hpop.py +9 -9
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/j2_classical.py +11 -11
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/propagator_reference.py +19 -16
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/sgp4_tle.py +10 -7
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/simple_ascent.py +4 -4
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/01_propagation/two_body_classical.py +4 -4
- astrox_python-0.2.0/examples/02_orbits/README.md +30 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/02_orbits/conversions.py +8 -8
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/02_orbits/lambert_delta_v.py +5 -5
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/02_orbits/orbit_system.py +16 -17
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/02_orbits/wizards.py +4 -4
- astrox_python-0.2.0/examples/03_lighting/README.md +26 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/03_lighting/lighting.py +9 -9
- astrox_python-0.2.0/examples/04_access/README.md +30 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/04_access/chain.py +5 -5
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/04_access/compute.py +7 -7
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/04_access/constraints.py +7 -7
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/04_access/custom_axes.py +3 -3
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/04_access/sensor_pointing.py +3 -3
- astrox_python-0.2.0/examples/05_rocket/README.md +7 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/05_rocket/landing_zone.py +5 -5
- astrox_python-0.2.0/examples/06_coverage/README.md +32 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/06_coverage/compute.py +6 -6
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/06_coverage/fom.py +6 -6
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/06_coverage/grid_points.py +3 -3
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/06_coverage/reports.py +5 -5
- astrox_python-0.2.0/examples/07_astrogator/run_mcs.py +68 -0
- astrox_python-0.2.0/examples/08_conjunction/README.md +17 -0
- astrox_python-0.2.0/examples/08_conjunction/close_approaches.py +79 -0
- astrox_python-0.2.0/examples/09_cat/README.md +17 -0
- astrox_python-0.2.0/examples/09_cat/cat_workflows.py +81 -0
- astrox_python-0.2.0/examples/10_catalog/README.md +17 -0
- astrox_python-0.2.0/examples/10_catalog/catalog_queries.py +30 -0
- astrox_python-0.2.0/examples/11_celestial/README.md +17 -0
- astrox_python-0.2.0/examples/11_celestial/celestial_queries.py +42 -0
- astrox_python-0.2.0/examples/12_terrain/README.md +17 -0
- astrox_python-0.2.0/examples/12_terrain/terrain_masks.py +36 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/pyproject.toml +1 -1
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/access/test_chain.py +30 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/access/test_compute.py +4 -0
- astrox_python-0.2.0/tests/sdk/astrogator/test_api.py +181 -0
- astrox_python-0.2.0/tests/sdk/astrogator/test_models.py +625 -0
- astrox_python-0.2.0/tests/sdk/astrogator/test_results.py +301 -0
- astrox_python-0.2.0/tests/sdk/cat/test_cat.py +646 -0
- astrox_python-0.2.0/tests/sdk/catalog/test_catalog.py +187 -0
- astrox_python-0.2.0/tests/sdk/celestial/test_celestial.py +266 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/components/test_components.py +54 -0
- astrox_python-0.2.0/tests/sdk/conjunction/test_conjunction.py +481 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/coverage/test_coverage.py +10 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/coverage/test_coverage_fom.py +11 -1
- astrox_python-0.2.0/tests/sdk/orbits/test_tle.py +160 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/propagator/helpers.py +8 -1
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/propagator/test_hpop.py +6 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/propagator/test_public_contract.py +5 -2
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/propagator/test_sgp4_simple_ascent.py +21 -40
- astrox_python-0.2.0/tests/sdk/terrain/test_terrain.py +192 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/README.md +32 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/__init__.py +2 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/contracts.py +82 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/test_contracts.py +58 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/README.md +1 -0
- astrox_python-0.2.0/tests/validation/cross_validation/access/_exclusion.py +285 -0
- astrox_python-0.2.0/tests/validation/cross_validation/access/test_compute_exclusion_constraints_invariants.py +576 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/__init__.py +1 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_branch_semantics.py +540 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_initial_state_conversions.py +184 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_maneuver_invariants.py +226 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_run_mcs_two_body_brahe.py +267 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_scalar_invariants.py +596 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_sequence_czml_brahe.py +180 -0
- astrox_python-0.2.0/tests/validation/cross_validation/astrogator/test_target_sequence_local.py +229 -0
- astrox_python-0.2.0/tests/validation/cross_validation/cat/test_cat_skyfield.py +939 -0
- astrox_python-0.2.0/tests/validation/cross_validation/celestial/test_cb_axes_rotation_invariants.py +313 -0
- astrox_python-0.2.0/tests/validation/cross_validation/celestial/test_ephemeris_skyfield.py +285 -0
- astrox_python-0.2.0/tests/validation/cross_validation/conjunction/test_close_approaches_skyfield.py +718 -0
- astrox_python-0.2.0/tests/validation/cross_validation/coverage/test_exclusion_grid_constraints_skyfield.py +266 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_grid_options_invariants.py +20 -2
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_grid_point_modifiers_invariants.py +58 -1
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_sgp4_skyfield.py +11 -5
- astrox_python-0.2.0/tests/validation/cross_validation/terrain/test_terrain_mask_invariants.py +163 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/access/access.snap.json +1434 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_access.py +23 -6
- astrox_python-0.2.0/tests/validation/live_snapshot/astrogator/__init__.py +1 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/astrogator/run_mcs.snap.json +2571 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/astrogator/test_run_mcs.py +352 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/cat/cat.snap.json +485 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/cat/test_cat.py +146 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/catalog/catalog.snap.json +200 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/catalog/test_catalog.py +106 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/celestial/celestial.snap.json +194 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/celestial/test_celestial.py +191 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/conjunction/close_approaches.snap.json +66 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/conjunction/test_close_approaches.py +124 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/propagator/ballistic.snap.json +213 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_ballistic.py +24 -6
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_sgp4.py +6 -6
- astrox_python-0.2.0/tests/validation/live_snapshot/terrain/terrain.snap.json +121 -0
- astrox_python-0.2.0/tests/validation/live_snapshot/terrain/test_terrain.py +124 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/uv.lock +61 -557
- astrox_python-0.1.0/README.md +0 -54
- astrox_python-0.1.0/docs/sdk/access.md +0 -191
- astrox_python-0.1.0/docs/sdk/components.md +0 -351
- astrox_python-0.1.0/docs/sdk/coverage.md +0 -171
- astrox_python-0.1.0/docs/sdk/lighting.md +0 -75
- astrox_python-0.1.0/docs/sdk/orbits.md +0 -215
- astrox_python-0.1.0/docs/sdk/propagator.md +0 -272
- astrox_python-0.1.0/docs/sdk/rocket.md +0 -55
- astrox_python-0.1.0/examples/01_propagation/README.md +0 -47
- astrox_python-0.1.0/examples/01_propagation/ballistic_delta_v.py +0 -108
- astrox_python-0.1.0/examples/02_orbits/README.md +0 -30
- astrox_python-0.1.0/examples/03_lighting/README.md +0 -26
- astrox_python-0.1.0/examples/04_access/README.md +0 -30
- astrox_python-0.1.0/examples/05_rocket/README.md +0 -7
- astrox_python-0.1.0/examples/06_coverage/README.md +0 -32
- astrox_python-0.1.0/tests/validation/live_snapshot/access/access.snap.json +0 -1434
- astrox_python-0.1.0/tests/validation/live_snapshot/propagator/ballistic.snap.json +0 -213
- {astrox_python-0.1.0 → astrox_python-0.2.0}/.gitignore +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/LICENSE +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/_http.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/access.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_axes.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_common.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_objects.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_positions.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_rotations.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_sensors.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/components/_vgt.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/_fom.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/coverage_time.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/number_of_assets.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/response_time.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/revisit_time.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/coverage/simple_coverage.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/exceptions.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/lighting.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/astrox/rocket.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/docs/automated-workflows.md +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/docs/test-principles.md +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/examples/manifest.toml +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/README.md +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/conftest.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/access/helpers.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/access/test_values.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/client/test_client.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/helpers.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/lighting/test_lighting.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/orbits/helpers.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/orbits/test_conversions.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/orbits/test_keplerian.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/orbits/test_orbit_system.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/orbits/test_wizards.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/propagator/test_ballistic.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/propagator/test_j2_two_body.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/propagator/test_multi.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/rocket/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/sdk/rocket/test_rocket.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_external/gmat/README.md +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_external/gmat/hpop_driver.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_external/gmat/test_hpop_driver.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/external_tools.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/gmat.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/test_external_tools.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/test_gmat.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/_support/test_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_aer.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_cases.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_constraints.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_mixed_model.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_orientation.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_axes_orientation_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_chain_sgp4_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_composite_czml_axes_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_constraints_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_ground_sgp4_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_j2_two_body_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_sgp4_j2_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_hpop_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_j2_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_two_body_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_sensor_pointing_geometry.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_vgt_orientation_resolution.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/_fom_helpers.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_at_time_boundaries_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_edge_cases_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_interval_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_resource_options_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_response_shapes_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_response_time_dynamic_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_grid_generation_local.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_resource_reports_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_sgp4_grid_membership_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_site_sun_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_spacecraft_solar_intensity_orekit.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_spacecraft_sun_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/_support.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/test_convert_czml_position.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/test_earth_moon_libration.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_kozai_izsak_mean_elements_invariants.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_lambert_lamberthub.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_walker_constellation_equations.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_wizards_local_derivation.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_ballistic_geodetic.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_hpop_gmat.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_j2_analytical.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_multi_sgp4_skyfield.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_simple_ascent_geodetic.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_two_body_brahe.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/rocket/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/cross_validation/rocket/test_landing_zone_geographiclib.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_chain_topology.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_compute_model_pairs.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_compute_options.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/coverage/coverage.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/coverage/test_coverage.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/lighting.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/test_lighting.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/conversions.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/orbit_system.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_conversion_roundtrip.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_conversions.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_orbit_system.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_wizards.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/wizards.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/hpop.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/j2.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_j2.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_sgp4.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_two_body.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/sgp4.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/simple_ascent.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_hpop.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_j2.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_j2.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_sgp4.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_two_body.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_simple_ascent.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_two_body.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/two_body.snap.json +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/__init__.py +0 -0
- {astrox_python-0.1.0 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/landing_zone.snap.json +0 -0
- {astrox_python-0.1.0 → 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.
|
|
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
|
|
@@ -28,55 +28,60 @@ Description-Content-Type: text/markdown
|
|
|
28
28
|
|
|
29
29
|
# astrox-python
|
|
30
30
|
|
|
31
|
-
|
|
31
|
+
astrox-python 是 ASTROX Web API 的 Python SDK。
|
|
32
32
|
|
|
33
|
-
##
|
|
33
|
+
## 安装
|
|
34
|
+
|
|
35
|
+
需要 Python 3.10 或更高版本。
|
|
34
36
|
|
|
35
37
|
```bash
|
|
36
38
|
pip install astrox-python
|
|
37
39
|
```
|
|
38
40
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
## Quickstart
|
|
41
|
+
## 一分钟示例
|
|
42
42
|
|
|
43
|
-
|
|
43
|
+
用一组开普勒根数做 J2 传播:
|
|
44
44
|
|
|
45
45
|
```python
|
|
46
|
+
import astrox
|
|
46
47
|
from astrox import orbits, propagator
|
|
47
48
|
|
|
49
|
+
astrox.configure(base_url="http://astrox.cn:8765")
|
|
50
|
+
|
|
48
51
|
orbit = orbits.keplerian(
|
|
49
52
|
semi_major_axis_m=6778137.0,
|
|
50
53
|
eccentricity=0.001,
|
|
51
|
-
inclination_deg=
|
|
54
|
+
inclination_deg=51.6,
|
|
52
55
|
argument_of_periapsis_deg=0.0,
|
|
53
|
-
raan_deg=
|
|
54
|
-
true_anomaly_deg=
|
|
56
|
+
raan_deg=120.0,
|
|
57
|
+
true_anomaly_deg=45.0,
|
|
55
58
|
)
|
|
56
59
|
|
|
57
60
|
period_s, position = propagator.j2(
|
|
58
|
-
start="
|
|
59
|
-
stop="
|
|
60
|
-
orbit_epoch="
|
|
61
|
+
start="2024-01-01T00:00:00.000Z",
|
|
62
|
+
stop="2024-01-01T00:10:00.000Z",
|
|
63
|
+
orbit_epoch="2024-01-01T00:00:00.000Z",
|
|
61
64
|
orbit=orbit,
|
|
62
65
|
)
|
|
66
|
+
|
|
67
|
+
print(f"轨道周期: {period_s:.3f} s")
|
|
68
|
+
print(f"位置/速度采样数: {len(position.cartesian_velocity)}")
|
|
63
69
|
```
|
|
64
70
|
|
|
65
|
-
|
|
71
|
+
完整首次运行流程见 [快速上手](docs/getting_started.md)。
|
|
66
72
|
|
|
67
|
-
|
|
68
|
-
- Runnable examples: [`examples/`](./examples/)
|
|
73
|
+
## 文档
|
|
69
74
|
|
|
70
|
-
|
|
75
|
+
- 完整文档导航:[docs/README.md](docs/README.md)
|
|
76
|
+
- 可运行示例:[examples/](examples/)
|
|
77
|
+
- 英文快照:[docs/i18n/en/README.md](docs/i18n/en/README.md)
|
|
71
78
|
|
|
72
|
-
|
|
79
|
+
## 参与开发
|
|
73
80
|
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
uv run python -m pytest -q tests/sdk
|
|
78
|
-
```
|
|
81
|
+
开发环境搭建与构建步骤见 [CONTRIBUTING.md](docs/CONTRIBUTING.md)。
|
|
82
|
+
|
|
83
|
+
## 许可
|
|
79
84
|
|
|
80
|
-
|
|
85
|
+
MIT 许可证,详见 [LICENSE](LICENSE)。
|
|
81
86
|
|
|
82
|
-
|
|
87
|
+
本项目目前处于 Alpha 阶段。
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# astrox-python
|
|
2
|
+
|
|
3
|
+
astrox-python 是 ASTROX Web API 的 Python SDK。
|
|
4
|
+
|
|
5
|
+
## 安装
|
|
6
|
+
|
|
7
|
+
需要 Python 3.10 或更高版本。
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install astrox-python
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
## 一分钟示例
|
|
14
|
+
|
|
15
|
+
用一组开普勒根数做 J2 传播:
|
|
16
|
+
|
|
17
|
+
```python
|
|
18
|
+
import astrox
|
|
19
|
+
from astrox import orbits, propagator
|
|
20
|
+
|
|
21
|
+
astrox.configure(base_url="http://astrox.cn:8765")
|
|
22
|
+
|
|
23
|
+
orbit = orbits.keplerian(
|
|
24
|
+
semi_major_axis_m=6778137.0,
|
|
25
|
+
eccentricity=0.001,
|
|
26
|
+
inclination_deg=51.6,
|
|
27
|
+
argument_of_periapsis_deg=0.0,
|
|
28
|
+
raan_deg=120.0,
|
|
29
|
+
true_anomaly_deg=45.0,
|
|
30
|
+
)
|
|
31
|
+
|
|
32
|
+
period_s, position = propagator.j2(
|
|
33
|
+
start="2024-01-01T00:00:00.000Z",
|
|
34
|
+
stop="2024-01-01T00:10:00.000Z",
|
|
35
|
+
orbit_epoch="2024-01-01T00:00:00.000Z",
|
|
36
|
+
orbit=orbit,
|
|
37
|
+
)
|
|
38
|
+
|
|
39
|
+
print(f"轨道周期: {period_s:.3f} s")
|
|
40
|
+
print(f"位置/速度采样数: {len(position.cartesian_velocity)}")
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
完整首次运行流程见 [快速上手](docs/getting_started.md)。
|
|
44
|
+
|
|
45
|
+
## 文档
|
|
46
|
+
|
|
47
|
+
- 完整文档导航:[docs/README.md](docs/README.md)
|
|
48
|
+
- 可运行示例:[examples/](examples/)
|
|
49
|
+
- 英文快照:[docs/i18n/en/README.md](docs/i18n/en/README.md)
|
|
50
|
+
|
|
51
|
+
## 参与开发
|
|
52
|
+
|
|
53
|
+
开发环境搭建与构建步骤见 [CONTRIBUTING.md](docs/CONTRIBUTING.md)。
|
|
54
|
+
|
|
55
|
+
## 许可
|
|
56
|
+
|
|
57
|
+
MIT 许可证,详见 [LICENSE](LICENSE)。
|
|
58
|
+
|
|
59
|
+
本项目目前处于 Alpha 阶段。
|
|
@@ -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,
|
|
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
|
|
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"]
|