[package] name = "positions" version = "0.2.1" edition = "2021" description = "A position (finance) definition with some good algebraic properties." repository = "https://github.com/Nouzan/positions/" license = "MIT" keywords = ["finance"] rust-version = "1.65.0" [package.metadata.docs.rs] all-features = true rustdoc-args = ["--cfg", "docsrs"] [features] default = ["std"] alloc = [ "smol_str", "hashbrown", "serde?/alloc", ] std = [ "thiserror", "alloc", "serde?/std", "smol_str?/std", ] serde = [ "dep:serde", "serde_with", "smol_str?/serde", "hashbrown?/serde", ] [dependencies] smol_str = { version = "0.1.23", default-features = false, optional = true } num-traits = { version = "0.2.14", default_features = false } serde = { version = "1", features = ["derive"], optional = true, default_features = false } serde_with = { version = "2.1", features = ["macros"], optional = true, default_features = false } hashbrown = { version = "0.13.1", optional = true } thiserror = { version = "1.0", optional = true } [dev-dependencies] anyhow = "1.0.66" rust_decimal = "1.26.1" rust_decimal_macros = "1.26.1" serde_json = "1.0" fraction = { version = "0.12.1" } maplit = "1.0.2" [[example]] name = "arbitrage" required-features = ["alloc"] [[example]] name = "basic" required-features = ["alloc"] [[example]] name = "coin_margin" required-features = ["alloc"] [[example]] name = "multi_instruments" required-features = ["std"]