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.
- {astrox_python-0.1.1 → astrox_python-0.2.0}/PKG-INFO +1 -1
- {astrox_python-0.1.1 → 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.2.0/astrox/conjunction.py +288 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/orbits.py +90 -1
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/propagator.py +12 -18
- astrox_python-0.2.0/astrox/terrain.py +197 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/README.md +2 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/propagate_an_orbit.md +5 -2
- 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.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/README.md +2 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/propagate_an_orbit.md +36 -33
- 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.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/README.md +6 -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/conjunction/README.md +169 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/orbits/README.md +22 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/propagator/README.md +13 -11
- astrox_python-0.2.0/docs/i18n/en/manual/terrain/README.md +139 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/README.md +6 -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/conjunction/README.md +169 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/orbits/README.md +22 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/propagator/README.md +13 -11
- astrox_python-0.2.0/docs/manual/terrain/README.md +139 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/README.md +6 -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/terrain.md +23 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/propagator_reference.py +5 -2
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/sgp4_tle.py +6 -3
- 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.1 → astrox_python-0.2.0}/pyproject.toml +1 -1
- 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.2.0/tests/sdk/conjunction/test_conjunction.py +481 -0
- astrox_python-0.2.0/tests/sdk/orbits/test_tle.py +160 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/helpers.py +8 -1
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_hpop.py +6 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_public_contract.py +5 -2
- {astrox_python-0.1.1 → 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.1 → astrox_python-0.2.0}/tests/validation/_support/__init__.py +2 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/contracts.py +82 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_contracts.py +58 -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.1.1 → 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/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.1.1 → 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.1 → astrox_python-0.2.0}/uv.lock +1 -1
- {astrox_python-0.1.1 → astrox_python-0.2.0}/.gitignore +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/LICENSE +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/_http.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/access.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_axes.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_common.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_constraints.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_objects.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_positions.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_rotations.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_sensors.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/components/_vgt.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/_core.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/_fom.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/coverage_time.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/number_of_assets.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/response_time.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/revisit_time.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/coverage/simple_coverage.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/exceptions.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/lighting.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/astrox/rocket.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/CONTRIBUTING.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/automated-workflows.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/docs-principles.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/getting_started.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/build_an_hpop_configuration.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/compute_access_intervals.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/compute_lighting_conditions.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/how_to/convert_between_orbit_representations.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/getting_started.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/build_an_hpop_configuration.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/compute_access_intervals.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/compute_lighting_conditions.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/how_to/convert_between_orbit_representations.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/access/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/components/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/coverage/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/lighting/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/i18n/en/manual/rocket/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/access/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/components/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/coverage/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/lighting/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/manual/rocket/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/sdk-principles.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/test-principles.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/access.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/coverage.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/lighting.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/orbits.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/propagator.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/docs/validation/rocket.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_apogee_alt.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_delta_v.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_min_ecc.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/ballistic_time_of_flight.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/batch_propagators.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/hpop.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/j2_classical.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/simple_ascent.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/01_propagation/two_body_classical.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/conversions.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/lambert_delta_v.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/orbit_system.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/02_orbits/wizards.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/03_lighting/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/03_lighting/lighting.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/chain.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/compute.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/constraints.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/custom_axes.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/04_access/sensor_pointing.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/05_rocket/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/05_rocket/landing_zone.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/compute.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/fom.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/grid_points.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/06_coverage/reports.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/examples/manifest.toml +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/conftest.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/helpers.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/test_chain.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/test_compute.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/access/test_values.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/client/test_client.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/components/test_components.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/coverage/test_coverage.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/coverage/test_coverage_fom.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/helpers.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/lighting/test_lighting.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/helpers.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_conversions.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_keplerian.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_orbit_system.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/orbits/test_wizards.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_ballistic.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_j2_two_body.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/propagator/test_multi.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/rocket/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/sdk/rocket/test_rocket.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_external/gmat/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_external/gmat/hpop_driver.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_external/gmat/test_hpop_driver.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/external_tools.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/gmat.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_external_tools.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_gmat.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/_support/test_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/README.md +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_aer.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_cases.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_constraints.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_exclusion.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_mixed_model.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/_orientation.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_axes_orientation_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_chain_sgp4_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_composite_czml_axes_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_constraints_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_exclusion_constraints_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_ground_sgp4_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_j2_two_body_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_sgp4_j2_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_hpop_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_j2_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_compute_site_two_body_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_sensor_pointing_geometry.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/access/test_vgt_orientation_resolution.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/_fom_helpers.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_exclusion_grid_constraints_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_at_time_boundaries_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_edge_cases_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_grid_options_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_interval_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_resource_options_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_response_shapes_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_fom_response_time_dynamic_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_grid_generation_local.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_grid_point_modifiers_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_resource_reports_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/coverage/test_sgp4_grid_membership_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_site_sun_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_spacecraft_solar_intensity_orekit.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/lighting/test_spacecraft_sun_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/_support.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/test_convert_czml_position.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbit_system/test_earth_moon_libration.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_kozai_izsak_mean_elements_invariants.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_lambert_lamberthub.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_walker_constellation_equations.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/orbits/test_wizards_local_derivation.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_ballistic_geodetic.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_hpop_gmat.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_j2_analytical.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_multi_sgp4_skyfield.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_simple_ascent_geodetic.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/propagator/test_two_body_brahe.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/rocket/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/cross_validation/rocket/test_landing_zone_geographiclib.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/access.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_access.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_chain_topology.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_compute_model_pairs.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/access/test_compute_options.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/coverage/coverage.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/coverage/test_coverage.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/lighting.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/lighting/test_lighting.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/conversions.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/orbit_system.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_conversion_roundtrip.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_conversions.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_orbit_system.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/test_wizards.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/orbits/wizards.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/ballistic.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/hpop.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/j2.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_j2.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_sgp4.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/multi_two_body.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/sgp4.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/simple_ascent.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_ballistic.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_hpop.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_j2.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_j2.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_sgp4.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_multi_two_body.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_simple_ascent.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/test_two_body.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/propagator/two_body.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/__init__.py +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/landing_zone.snap.json +0 -0
- {astrox_python-0.1.1 → astrox_python-0.2.0}/tests/validation/live_snapshot/rocket/test_landing_zone.py +0 -0
|
@@ -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"]
|