[package]
edition = "2021"
rust-version = "1.75"
name = "kshana"
version = "0.22.0"
authors = ["Chakshu Baweja <contact@ashforde.org>"]
build = false
exclude = [
"/web",
"/.github",
"/README.pypi.md",
"/README.npm.md",
"/tests/fixtures",
"/tests/igs_real_data.rs",
"/tests/sgp4_crate_comparison.rs",
"/tests/terrain_nav_validation.rs",
"/xval",
"/mcp",
"/ide",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Open, reproducible PNT-resilience simulator with quantum-sensor performance models"
homepage = "https://kshana.dev"
documentation = "https://docs.rs/kshana"
readme = "README.crates.md"
keywords = [
"pnt",
"navigation",
"quantum",
"gnss",
"simulation",
]
categories = [
"science",
"simulation",
]
license = "AGPL-3.0-only"
repository = "https://github.com/AshfordeOU/kshana"
[features]
python = ["dep:pyo3"]
wasm = ["dep:wasm-bindgen"]
[lib]
name = "kshana"
crate-type = [
"rlib",
"cdylib",
]
path = "src/lib.rs"
[[bin]]
name = "crossover_study"
path = "src/bin/crossover_study.rs"
[[bin]]
name = "gen_validation_artifacts"
path = "src/bin/gen_validation_artifacts.rs"
[[bin]]
name = "kshana"
path = "src/main.rs"
[[bin]]
name = "validation_report"
path = "src/bin/validation_report.rs"
[[example]]
name = "gen_ccsds_oem_interop_fixtures"
path = "examples/gen_ccsds_oem_interop_fixtures.rs"
[[example]]
name = "ingest_realdata"
path = "examples/ingest_realdata.rs"
[[example]]
name = "jammertest_probe"
path = "examples/jammertest_probe.rs"
[[example]]
name = "optimism_study"
path = "examples/optimism_study.rs"
[[example]]
name = "real_data_probe"
path = "examples/real_data_probe.rs"
[[example]]
name = "resilience_report"
path = "examples/resilience_report.rs"
[[example]]
name = "satgrid_probe"
path = "examples/satgrid_probe.rs"
[[example]]
name = "texbat_probe"
path = "examples/texbat_probe.rs"
[[example]]
name = "tpl_jammertest"
path = "examples/tpl_jammertest.rs"
[[example]]
name = "yunnan_probe"
path = "examples/yunnan_probe.rs"
[[test]]
name = "agency_galileo"
path = "tests/agency_galileo.rs"
[[test]]
name = "agency_lro"
path = "tests/agency_lro.rs"
[[test]]
name = "agency_swarm"
path = "tests/agency_swarm.rs"
[[test]]
name = "ai_ml_rf_impairment_detection_evaluation_reference"
path = "tests/ai_ml_rf_impairment_detection_evaluation_reference.rs"
[[test]]
name = "allan_nist_sp1065_1000point"
path = "tests/allan_nist_sp1065_1000point.rs"
[[test]]
name = "allan_reference"
path = "tests/allan_reference.rs"
[[test]]
name = "alternative_complementary_pnt_reference"
path = "tests/alternative_complementary_pnt_reference.rs"
[[test]]
name = "araim_dual_real_data"
path = "tests/araim_dual_real_data.rs"
[[test]]
name = "attitude_dynamics_reference"
path = "tests/attitude_dynamics_reference.rs"
[[test]]
name = "attitude_gg_torque_reference"
path = "tests/attitude_gg_torque_reference.rs"
[[test]]
name = "ballistic_re_entry_corridor_reference"
path = "tests/ballistic_re_entry_corridor_reference.rs"
[[test]]
name = "batch_sequential_orbit_determination_reference"
path = "tests/batch_sequential_orbit_determination_reference.rs"
[[test]]
name = "cai_cited_error_model_sheet_reference"
path = "tests/cai_cited_error_model_sheet_reference.rs"
[[test]]
name = "calibration"
path = "tests/calibration.rs"
[[test]]
name = "ccsds_oem_interop_reference"
path = "tests/ccsds_oem_interop_reference.rs"
[[test]]
name = "ccsds_reference"
path = "tests/ccsds_reference.rs"
[[test]]
name = "ccsds_space_packet_reference"
path = "tests/ccsds_space_packet_reference.rs"
[[test]]
name = "cislunar_mission_analysis_reference"
path = "tests/cislunar_mission_analysis_reference.rs"
[[test]]
name = "citation_metadata_doc_sync"
path = "tests/citation_metadata_doc_sync.rs"
[[test]]
name = "classical_strapdown_ins_reference"
path = "tests/classical_strapdown_ins_reference.rs"
[[test]]
name = "clock_state_reference"
path = "tests/clock_state_reference.rs"
[[test]]
name = "cross_platform_golden"
path = "tests/cross_platform_golden.rs"
[[test]]
name = "cs5071a_reference"
path = "tests/cs5071a_reference.rs"
[[test]]
name = "cw_dynamics_reference"
path = "tests/cw_dynamics_reference.rs"
[[test]]
name = "deep_space_mars_radiometric_reference"
path = "tests/deep_space_mars_radiometric_reference.rs"
[[test]]
name = "determinism"
path = "tests/determinism.rs"
[[test]]
name = "dominance_demonstrators"
path = "tests/dominance_demonstrators.rs"
[[test]]
name = "dop_reference"
path = "tests/dop_reference.rs"
[[test]]
name = "eo_payload_coverage_reference"
path = "tests/eo_payload_coverage_reference.rs"
[[test]]
name = "ephem_provider"
path = "tests/ephem_provider.rs"
[[test]]
name = "eval_metrics_reference"
path = "tests/eval_metrics_reference.rs"
[[test]]
name = "evalstats_reference"
path = "tests/evalstats_reference.rs"
[[test]]
name = "figures_doc_sync"
path = "tests/figures_doc_sync.rs"
[[test]]
name = "fom_label_reference"
path = "tests/fom_label_reference.rs"
[[test]]
name = "frame_reference_vectors"
path = "tests/frame_reference_vectors.rs"
[[test]]
name = "fusion_one_way_two_way"
path = "tests/fusion_one_way_two_way.rs"
[[test]]
name = "geolocation_reference"
path = "tests/geolocation_reference.rs"
[[test]]
name = "gnss_denied_clock_holdover_reference"
path = "tests/gnss_denied_clock_holdover_reference.rs"
[[test]]
name = "gnss_denied_jamming_resilience_reference"
path = "tests/gnss_denied_jamming_resilience_reference.rs"
[[test]]
name = "gnss_free_quantum_navigation_reference"
path = "tests/gnss_free_quantum_navigation_reference.rs"
[[test]]
name = "gnss_ins_sensor_fusion_reference"
path = "tests/gnss_ins_sensor_fusion_reference.rs"
[[test]]
name = "golden"
path = "tests/golden.rs"
[[test]]
name = "ground_station_pass_prediction_reference"
path = "tests/ground_station_pass_prediction_reference.rs"
[[test]]
name = "icgem_gravity_reference"
path = "tests/icgem_gravity_reference.rs"
[[test]]
name = "imu_allan_spec"
path = "tests/imu_allan_spec.rs"
[[test]]
name = "klobuchar_reference"
path = "tests/klobuchar_reference.rs"
[[test]]
name = "lambda_reference"
path = "tests/lambda_reference.rs"
[[test]]
name = "lambert_reference"
path = "tests/lambert_reference.rs"
[[test]]
name = "launch_window_ascent_geometry_reference"
path = "tests/launch_window_ascent_geometry_reference.rs"
[[test]]
name = "lunar_coordinate_time_reference"
path = "tests/lunar_coordinate_time_reference.rs"
[[test]]
name = "lunar_differential_pnt_reference"
path = "tests/lunar_differential_pnt_reference.rs"
[[test]]
name = "lunar_interoperability_export_reference"
path = "tests/lunar_interoperability_export_reference.rs"
[[test]]
name = "lunar_joint_multi_technique_od_reference"
path = "tests/lunar_joint_multi_technique_od_reference.rs"
[[test]]
name = "lunar_navigation_service_volume_reference"
path = "tests/lunar_navigation_service_volume_reference.rs"
[[test]]
name = "lunar_reference_frame_realisation_reference"
path = "tests/lunar_reference_frame_realisation_reference.rs"
[[test]]
name = "mars_dynamics"
path = "tests/mars_dynamics.rs"
[[test]]
name = "mars_lmo_od"
path = "tests/mars_lmo_od.rs"
[[test]]
name = "mars_pnt_targets"
path = "tests/mars_pnt_targets.rs"
[[test]]
name = "mars_propagation"
path = "tests/mars_propagation.rs"
[[test]]
name = "nav_signal_modulation_code_tracking_reference"
path = "tests/nav_signal_modulation_code_tracking_reference.rs"
[[test]]
name = "navego_imu_crossval"
path = "tests/navego_imu_crossval.rs"
[[test]]
name = "no_overclaims"
path = "tests/no_overclaims.rs"
[[test]]
name = "numerical_cowell_propagator_reference"
path = "tests/numerical_cowell_propagator_reference.rs"
[[test]]
name = "one_way_link_budget_reference"
path = "tests/one_way_link_budget_reference.rs"
[[test]]
name = "opssat_ad_reference"
path = "tests/opssat_ad_reference.rs"
[[test]]
name = "optical_clock_adev_reference"
path = "tests/optical_clock_adev_reference.rs"
[[test]]
name = "phasedat_reference"
path = "tests/phasedat_reference.rs"
[[test]]
name = "precise_od_synth"
path = "tests/precise_od_synth.rs"
[[test]]
name = "property"
path = "tests/property.rs"
[[test]]
name = "pvt_abmf"
path = "tests/pvt_abmf.rs"
[[test]]
name = "quantum_faults_reference"
path = "tests/quantum_faults_reference.rs"
[[test]]
name = "quantum_inertial_dead_reckoning_reference"
path = "tests/quantum_inertial_dead_reckoning_reference.rs"
[[test]]
name = "quantum_inertial_sensor_reference"
path = "tests/quantum_inertial_sensor_reference.rs"
[[test]]
name = "quantum_vs_classical_pnt_trade_reference"
path = "tests/quantum_vs_classical_pnt_trade_reference.rs"
[[test]]
name = "radiometric_benchmark"
path = "tests/radiometric_benchmark.rs"
[[test]]
name = "raim_reference"
path = "tests/raim_reference.rs"
[[test]]
name = "readme_validation_counts_doc_sync"
path = "tests/readme_validation_counts_doc_sync.rs"
[[test]]
name = "realdata_pipeline"
path = "tests/realdata_pipeline.rs"
[[test]]
name = "realdata_raim_igs"
path = "tests/realdata_raim_igs.rs"
[[test]]
name = "realdata_sdr_graded"
path = "tests/realdata_sdr_graded.rs"
[[test]]
name = "reproducibility_software_assurance_reference"
path = "tests/reproducibility_software_assurance_reference.rs"
[[test]]
name = "resilience_diversity_reference"
path = "tests/resilience_diversity_reference.rs"
[[test]]
name = "resilience_score_decision_instability_reference"
path = "tests/resilience_score_decision_instability_reference.rs"
[[test]]
name = "rinex_sp3_interop_reference"
path = "tests/rinex_sp3_interop_reference.rs"
[[test]]
name = "sbas_reference"
path = "tests/sbas_reference.rs"
[[test]]
name = "scenario_count_doc_sync"
path = "tests/scenario_count_doc_sync.rs"
[[test]]
name = "scenario_coverage"
path = "tests/scenario_coverage.rs"
[[test]]
name = "scipy_reference"
path = "tests/scipy_reference.rs"
[[test]]
name = "sgp4_verification"
path = "tests/sgp4_verification.rs"
[[test]]
name = "sp3_export_roundtrip"
path = "tests/sp3_export_roundtrip.rs"
[[test]]
name = "sp3_interp_reference"
path = "tests/sp3_interp_reference.rs"
[[test]]
name = "space_weather_reference"
path = "tests/space_weather_reference.rs"
[[test]]
name = "spoof_texbat_validation"
path = "tests/spoof_texbat_validation.rs"
[[test]]
name = "study_aggregate"
path = "tests/study_aggregate.rs"
[[test]]
name = "study_meta_hashstable"
path = "tests/study_meta_hashstable.rs"
[[test]]
name = "study_name_cli"
path = "tests/study_name_cli.rs"
[[test]]
name = "suite_parse"
path = "tests/suite_parse.rs"
[[test]]
name = "surface_readme_image_urls_doc_sync"
path = "tests/surface_readme_image_urls_doc_sync.rs"
[[test]]
name = "tides_iers"
path = "tests/tides_iers.rs"
[[test]]
name = "time_transfer_error_budgeting_reference"
path = "tests/time_transfer_error_budgeting_reference.rs"
[[test]]
name = "timing_protection_level_under_spoofing_reference"
path = "tests/timing_protection_level_under_spoofing_reference.rs"
[[test]]
name = "tutorials"
path = "tests/tutorials.rs"
[[test]]
name = "validate_scenario"
path = "tests/validate_scenario.rs"
[[test]]
name = "verification_artifacts_doc_sync"
path = "tests/verification_artifacts_doc_sync.rs"
[[test]]
name = "wahba_reference"
path = "tests/wahba_reference.rs"
[dependencies.hex]
version = "0.4"
[dependencies.pyo3]
version = "0.29"
features = [
"extension-module",
"abi3-py39",
]
optional = true
[dependencies.rand]
version = "0.8"
[dependencies.rand_chacha]
version = "0.3"
[dependencies.rand_distr]
version = "0.4"
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
[dependencies.toml]
version = "0.8"
[dependencies.wasm-bindgen]
version = "0.2"
optional = true
[dev-dependencies.sgp4]
version = "2.4"
[target.'cfg(target_arch = "wasm32")'.dependencies.getrandom]
version = "0.2"
features = ["js"]