RustyQLib 0.0.3

RustyQLib is a lightweight yet robust quantitative finance library designed to price derivatives and perform risk analysis
Documentation
[package]
# crates.io permanently binds the crate to its first-published spelling
# ("RustyQLib"); the [lib]/[[bin]] names below keep the import path and
# binary lowercase (use rustyqlib::...).
name = "RustyQLib"
version = "0.0.3"
edition = "2021"
authors = ["Siddharth Singh"]
description = "RustyQLib is a lightweight yet robust quantitative finance library designed to price derivatives and perform risk analysis"
license = "MIT"
repository = "https://github.com/siddharthqs/RustyQLib"
readme = "README.md"
homepage = "https://github.com/siddharthqs/RustyQLib"
keywords = [
    "quantitative-finance",
    "derivatives",
    "monte-carlo",
    "black-scholes",
    "cli"
]
# crates.io categories must be from its controlled vocabulary
# (https://crates.io/category_slugs) -- the old values were rejected/ignored.
categories = ["mathematics", "science", "simulation", "command-line-utilities"]

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html

[lib]
name = "rustyqlib"
path = "src/lib.rs"

[[bin]]
name = "rustyqlib"
path = "src/main.rs"
required-features = ["cli"]

[features]
default = []
# XML contract input/output (the JSON path is always available)
xml = ["dep:quick-xml"]
# TOML stress-scenario configuration files
stress-config = ["dep:toml"]
# the `rustyqlib` command-line binary and its file plumbing
cli = ["dep:clap", "dep:csv", "dep:env_logger", "xml", "stress-config"]

[dependencies]
rand = "0.8.4"
rand_distr = "0.4.3"
libm = "0.2.8"
chrono = { version = "0.4.31", features = ["serde"] }
rand_chacha = "0.3.1"
rand_pcg = " 0.3.1"
serde = { version = "1.0.104", features = ["derive"] }
serde_json = "1"
strum = "0.25"
thiserror = "1"
strum_macros = "0.25"
ndarray = "0.15"
rayon = "1.5.1"
log = "0.4"

# feature-gated: CLI and alternative formats
clap = { version = "4.5", optional = true }
env_logger = { version = "0.11", optional = true }
csv = { version = "1.1", optional = true }
quick-xml = { version = "0.41.0", default-features = false, optional = true }
toml = { version = "0.8", optional = true }

[dev-dependencies]
assert_approx_eq = "1.1.0"
criterion = "0.5"

[[bench]]
name = "engines"
harness = false

[[bench]]
name = "stress"
harness = false

[[example]]
name = "convert_format"
required-features = ["xml"]

[[example]]
name = "stress_mtm"
required-features = ["stress-config"]