[package]
name        = "pldag"
version     = "5.0.2"
edition     = "2021"
description = "A DAG-based combinatorial-model framework."
license     = "MIT"
repository  = "https://github.com/ourstudio-se/pldag-rust"
homepage    = "https://github.com/ourstudio-se/pldag-rust"
keywords    = ["ilp", "milp", "combinatorics", "modelling", "constraints"]
categories  = ["science", "mathematics", "algorithms"]

# ───────────────────────────────────────────────────────────
# 1. Dependencies that are always built
# ───────────────────────────────────────────────────────────
[dependencies]
async-trait = "0.1"
bimap      = "0.6.3"
indexmap   = "2.14.0"
itertools  = "0.14.0"
serde_json = "1.0.149"
serde = { version = "1.0.228", features = ["derive"] }
tracing = { version = "0.1.44", optional = true, features = ["attributes"], default-features = false}

# ───────────────────────────────────────────────────────────
# 3. Feature flags
#    • default  ⇢ modelling-only
#    • trace    ⇢ Tracing is enabled
# ───────────────────────────────────────────────────────────
[features]
default = []
trace   = ["tracing"]

[dev-dependencies]
tokio = { version = "1.52.2", features = ["rt", "macros", "rt-multi-thread"] }
glpk-rust = "0.1.15"