[package]
name = "satkit"
version = "0.9.2"
edition = "2021"
description = "Satellite Toolkit"
readme = "README.md"
license-file = "LICENSE"
homepage = "https://github.com/ssmichael1/satkit"
repository = "https://github.com/ssmichael1/satkit"
documentation = "https://docs.rs/satkit"
keywords = ["satellite", "orbit", "ephemeris", "tle", "astrodynamics"]
categories = ["aerospace", "algorithms", "mathematics", "science"]
[lib]
name = "satkit"
[dependencies]
nalgebra = { version = "0.34.0", features = ["serde-serialize"] }
ndarray = "0.17.1"
cty = "0.2.2"
num-traits = "0.2.19"
thiserror = "2.0"
once_cell = "1.21"
numpy = { version = "0.27", optional = true }
pyo3 = { version = "0.27.1", features = [
"extension-module",
"anyhow",
], optional = true }
ureq = "3.1.2"
json = "0.12.4"
process_path = "0.1.4"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde-pickle = "1.2.0"
itertools = "0.14.0"
anyhow = "1"
rmpfit = "0.3.0"
chrono = { version = "0.4", optional = true }
[build-dependencies]
cc = { version = "1.2", features = ["parallel"] }
chrono = "0.4"
pyo3-build-config = { version = "0.27.1", optional = true }
[dev-dependencies]
rand = "0.9.2"
approx = "0.5"
rand_distr = "0.5.1"
[features]
pybindings = ["dep:pyo3", "dep:numpy", "dep:pyo3-build-config"]
chrono = ["dep:chrono"]
[profile.test]
opt-level = 3
[profile.release]
opt-level = 3
lto = "thin"
codegen-units = 1