lp_parser_rs 3.2.0

A Rust parser for the LP file format.
Documentation
[package]
name = "lp_parser_rs"
version = "3.2.0"
edition = "2024"
authors = ["Dan Dixey", "Dan Dixey <dan@functorml.co.uk>"]
rust-version = "1.85.0"
license = "MIT OR Apache-2.0"
readme = "../README.md"
description = "A Rust parser for the LP file format."
keywords = [
    "linear-programming",
    "optimisation",
    "parser",
    "integer-programming",
    "math",
]
categories = ["mathematics", "algorithms", "science"]
repository = "https://github.com/dandxy89/lp_parser_rs"
default-run = "lp_parser"

[package.metadata.docs.rs]
all-features = true

[lib]
doctest = false

[[bin]]
name = "lp_parser"
path = "src/bin/lp_parser/main.rs"

[dependencies]
clap = { version = "4.5", features = ["derive"] }
csv = { version = "1.4.0", optional = true }
diff-struct = { version = "0.5.3", optional = true }
indexmap = "2.7"
lalrpop-util = { version = "0.23.0", features = ["lexer"] }
lasso = "0.7"
lp-solvers = { version = "1.2.0", optional = true }
log = "0.4.29"
logos = "0.16.0"
serde = { version = "1.0.228", features = ["derive"], optional = true }
serde_json = { version = "1.0", optional = true }
serde_yaml = { version = "0.9", optional = true }
thiserror = "2.0.18"

[build-dependencies]
lalrpop = { version = "0.23.0" }

[dev-dependencies]
insta = { version = "1.46.3", features = ["yaml", "redactions"] }
serde_json = "1.0.149"

[features]
csv = ["dep:csv"]
default = []
diff = ["dep:diff-struct", "serde"]
lp-solvers = ["dep:lp-solvers"]
serde = ["dep:serde", "dep:serde_json", "dep:serde_yaml"]
test-cbc = ["lp-solvers"]

[package.metadata.cargo-machete]
ignored = ["lalrpop", "diff-struct"]