[package]
edition = "2021"
rust-version = "1.85"
name = "laminate"
version = "0.4.1"
build = false
exclude = [
"/tests/iteration_*",
"/testdata/corpus/*/volume_*",
"/fuzz/",
"/results/",
"*.proptest-regressions",
]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Progressive data shaping for Rust: type coercion, format detection, and fault-tolerant deserialization built on serde"
homepage = "https://lamco.ai/open-source/laminate/"
documentation = "https://docs.rs/laminate"
readme = "README.md"
keywords = [
"serde",
"json",
"coercion",
"llm",
"deserialization",
]
categories = [
"encoding",
"parser-implementations",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/lamco-admin/laminate"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[badges.maintenance]
status = "actively-developed"
[features]
chrono-integration = ["dep:chrono"]
core = []
default = ["core"]
derive = [
"core",
"laminate-derive",
]
full = [
"core",
"derive",
"streaming",
"providers",
"registry",
"schema",
]
providers = ["core"]
registry = [
"core",
"providers",
]
schema = ["core"]
streaming = ["core"]
uom-integration = ["dep:uom"]
[lib]
name = "laminate"
path = "src/lib.rs"
[[example]]
name = "api_consumption"
path = "examples/api_consumption.rs"
[[example]]
name = "basic_extraction"
path = "examples/basic_extraction.rs"
[[example]]
name = "csv_etl"
path = "examples/csv_etl.rs"
[[example]]
name = "llm_tool_call"
path = "examples/llm_tool_call.rs"
required-features = [
"derive",
"providers",
]
[[example]]
name = "medical_data"
path = "examples/medical_data.rs"
[[example]]
name = "schema_inference"
path = "examples/schema_inference.rs"
[[example]]
name = "type_detection"
path = "examples/type_detection.rs"
[[test]]
name = "derive_tests"
path = "tests/derive_tests.rs"
[[test]]
name = "detect_tests"
path = "tests/detect_tests.rs"
[[test]]
name = "domain_tests"
path = "tests/domain_tests.rs"
[[test]]
name = "edge_case_tests"
path = "tests/edge_case_tests.rs"
[[test]]
name = "expanded_domain_tests"
path = "tests/expanded_domain_tests.rs"
[[test]]
name = "fixture_tests"
path = "tests/fixture_tests.rs"
[[test]]
name = "integration_scaffolding_test"
path = "tests/integration_scaffolding_test.rs"
[[test]]
name = "issue_01_absorbing_residual"
path = "tests/issue_01_absorbing_residual.rs"
[[test]]
name = "issue_02_enum_support"
path = "tests/issue_02_enum_support.rs"
[[test]]
name = "issue_03_llm_preprocessing"
path = "tests/issue_03_llm_preprocessing.rs"
[[test]]
name = "issue_04_defaulted_diagnostic"
path = "tests/issue_04_defaulted_diagnostic.rs"
[[test]]
name = "issue_12_derive_from_llm_response"
path = "tests/issue_12_derive_from_llm_response.rs"
[[test]]
name = "iter114_probe"
path = "tests/iter114_probe.rs"
[[test]]
name = "message_snapshot_test"
path = "tests/message_snapshot_test.rs"
[[test]]
name = "mode_system_tests"
path = "tests/mode_system_tests.rs"
[[test]]
name = "pack_coercion_test"
path = "tests/pack_coercion_test.rs"
[[test]]
name = "proptest_invariants"
path = "tests/proptest_invariants.rs"
[[test]]
name = "source_hint_test"
path = "tests/source_hint_test.rs"
[[test]]
name = "tool_definition_tests"
path = "tests/tool_definition_tests.rs"
[[bench]]
name = "core"
path = "benches/core.rs"
harness = false
[dependencies.chrono]
version = "0.4"
optional = true
[dependencies.laminate-derive]
version = "0.4.0"
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_json]
version = "1"
[dependencies.thiserror]
version = "2"
[dependencies.uom]
version = "0.36"
features = [
"f64",
"si",
]
optional = true
default-features = false
[dev-dependencies.criterion]
version = "0.5"
features = ["html_reports"]
[dev-dependencies.laminate-derive]
version = "0.4.0"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = [
"macros",
"rt",
]