[package]
name = "phasma"
version = "0.0.2"
edition = "2024"
description = "Terminal interface for the caustic Vlasov-Poisson solver"
authors = ["Albin <albin@sjoegren.se>"]
build = "build.rs"
license = "GPL-3.0"
readme = "README.md"
repository = "https://github.com/resonant-jovian/phasma"
keywords = ["vlasov", "poisson", "simulation", "tui", "physics"]
categories = ["science", "simulation", "command-line-utilities"]
include = [
"src/**/*",
"configs/**/*",
"build.rs",
"Cargo.toml",
"README.md",
"LICENSE",
]
[dependencies]
caustic = "0.0.5"
toml = "1.0.6"
better-panic = "0.3.0"
clap = { version = "4.5.60", features = [
"derive",
"cargo",
"wrap_help",
"unicode",
"string",
"unstable-styles",
] }
clap_mangen = "0.2.31"
color-eyre = "0.6.5"
config = "0.15.19"
crossterm = { version = "0.29.0", features = ["serde", "event-stream"] }
directories = "6.0.0"
futures = "0.3.32"
human-panic = "2.0.6"
json5 = "1.3.1"
lazy_static = "1.5.0"
libc = "1.0.0-alpha.3"
ratatui = { version = "0.30.0", features = ["serde", "macros"] }
serde = { version = "1.0.228", features = ["derive"] }
serde_json = "1.0.149"
signal-hook = "0.4.3"
strip-ansi-escapes = "0.2.1"
strum = { version = "0.28.0", features = ["derive"] }
tokio = { version = "1.50.0", features = ["full"] }
tokio-util = "0.7.18"
tracing = "0.1.44"
tracing-error = "0.2.1"
tracing-subscriber = { version = "0.3.22", features = ["env-filter", "serde"] }
rust_decimal = "1.40.0"
anyhow = "1.0.102"
zip = "8.2.0"
ndarray = "0.17.2"
ndarray-npy = "0.10.0"
chrono = { version = "0.4.44", features = ["serde"] }
notify-rust = { version = "4.12.0", optional = true }
arrow = "58.0.0"
parquet = "58.0.0"
rustfft = "6.4"
[dev-dependencies]
pretty_assertions = "1.4.1"
[features]
notifications = ["notify-rust"]
[build-dependencies]
anyhow = "1.0.102"
vergen-gix = { version = "10.0.0-beta.5", features = ["build", "cargo"] }
[profile.release]
codegen-units = 1
lto = true
opt-level = "s"
strip = true
debug = false
[profile.profiling]
inherits = "release"
debug = true