[package]
edition = "2024"
name = "brahe"
version = "1.1.2"
authors = ["Duncan Eddy <duncan.eddy@gmail.com>"]
build = false
exclude = [
"/test_data",
"/tests",
"/scripts",
"/docs",
"/brahe",
".github",
"/examples",
"/plots",
"/test_assets",
"/data/textures/world.topo.200410.3x5400x2700.png",
"justfile",
"mkdocs.yaml",
"uv.lock",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Brahe is a modern satellite dynamics library for research and engineering applications designed to be easy-to-learn, high-performance, and quick-to-deploy. The north-star of the development is enabling users to solve meaningful problems and answer questions quickly, easily, and correctly."
homepage = "https://duncaneddy.github.io/brahe/"
documentation = "https://docs.rs/brahe/"
readme = "README.md"
keywords = [
"space",
"astrodynamics",
"satellite",
]
categories = ["science"]
license = "MIT"
repository = "https://github.com/duncaneddy/brahe/"
[features]
ci = []
manual = []
python = []
[lib]
name = "brahe"
crate-type = [
"cdylib",
"lib",
]
path = "src/lib.rs"
[[bench]]
name = "propagator_benchmarks"
path = "benchmarks/propagator_benchmarks.rs"
harness = false
[[bench]]
name = "provider_benchmarks"
path = "benchmarks/provider_benchmarks.rs"
harness = false
[dependencies.anise]
version = "0.9.3"
[dependencies.dirs]
version = "6.0.0"
[dependencies.is_close]
version = "0.1.3"
[dependencies.nalgebra]
version = "0.34.1"
features = ["serde-serialize"]
[dependencies.num-traits]
version = "0.2.19"
[dependencies.num_cpus]
version = "1.17"
[dependencies.numpy]
version = "0.27.1"
[dependencies.once_cell]
version = "1.21.3"
[dependencies.polars]
version = "0.52"
features = ["lazy"]
default-features = false
[dependencies.pyo3]
version = "0.27.2"
features = ["extension-module"]
[dependencies.rayon]
version = "1.11"
[dependencies.regex]
version = "1.12.3"
[dependencies.rsofa]
version = "0.5.0"
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
[dependencies.serde_json]
version = "1.0.149"
[dependencies.sgp4]
version = "2.3.0"
[dependencies.strum]
version = "0.27.2"
[dependencies.strum_macros]
version = "0.27.2"
[dependencies.ureq]
version = "3.2.0"
features = [
"cookies",
"multipart",
]
[dependencies.uuid]
version = "1.20.0"
features = [
"v4",
"serde",
]
[dev-dependencies.approx]
version = "0.5.1"
[dev-dependencies.cargo-deny]
version = "0.19.0"
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.httpmock]
version = "0.8.3"
[dev-dependencies.mockall]
version = "0.14.0"
[dev-dependencies.rand]
version = "0.9"
[dev-dependencies.rstest]
version = "0.26.1"
[dev-dependencies.rv]
version = "0.19"
[dev-dependencies.serial_test]
version = "3.3.1"
[dev-dependencies.tempfile]
version = "3.24.0"
[lints.rust]
missing_docs = "warn"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = [
"cfg(coverage,coverage_nightly)",
'cfg(feature, values("manual"))',
]
[profile.bench]
opt-level = 3
lto = "thin"
[profile.dev]
opt-level = 0
lto = "off"
[profile.release]
opt-level = 3
lto = "fat"
codegen-units = 1