[package]
edition = "2024"
rust-version = "1.94"
name = "bin-packing"
version = "0.3.0"
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Cut list optimization and bin packing library for 1D, 2D, and 3D stock problems"
documentation = "https://docs.rs/bin-packing"
readme = "README.md"
keywords = [
"bin-packing",
"cutting-stock",
"optimization",
"packing",
"algorithms",
]
categories = [
"algorithms",
"science",
]
license = "MIT"
repository = "https://github.com/doublesharp/bin-packing"
[features]
default = [
"one-d",
"two-d",
"three-d",
"parallel",
]
one-d = []
parallel = ["dep:rayon"]
three-d = ["two-d"]
three-d-preview = ["three-d"]
two-d = []
[lib]
name = "bin_packing"
path = "src/lib.rs"
[[test]]
name = "consolidation_2d"
path = "tests/consolidation_2d.rs"
[[test]]
name = "cut_plan_integration"
path = "tests/cut_plan_integration.rs"
[[test]]
name = "edge_kerf_relief_2d"
path = "tests/edge_kerf_relief_2d.rs"
[[test]]
name = "kerf_2d_regressions"
path = "tests/kerf_2d_regressions.rs"
[[test]]
name = "solver_regressions"
path = "tests/solver_regressions.rs"
[[bench]]
name = "solver_benches"
path = "benches/solver_benches.rs"
harness = false
[dependencies.rand]
version = "0.9"
features = [
"small_rng",
"std",
]
default-features = false
[dependencies.rayon]
version = "1.10"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.thiserror]
version = "2"
[dev-dependencies.criterion]
version = "0.5"
features = [
"cargo_bench_support",
"plotters",
"rayon",
]
default-features = false
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serde_json]
version = "1"
[lints.clippy]
dbg_macro = "deny"
todo = "deny"
unwrap_used = "deny"