eulumdat 0.7.0

Eulumdat (LDT) and IES photometric file parser, writer, and validator for Rust
Documentation
[package]
name = "eulumdat"
version.workspace = true
edition.workspace = true
authors.workspace = true
license.workspace = true
repository.workspace = true
description = "Eulumdat (LDT) and IES photometric file parser, writer, and validator for Rust"
keywords = ["lighting", "photometry", "ldt", "ies", "eulumdat"]
categories = ["parser-implementations", "science"]
readme = "README.md"
homepage = "https://github.com/holg/eulumdat-rs"
documentation = "https://docs.rs/eulumdat"
# Exclude dev-only example + bench that reach into sibling crates'
# test data via `include_str!("../../../...")`. They run fine from
# the monorepo but break `cargo package` because the referenced files
# live outside this crate. The other examples (parse_road, generate_*,
# create_wiki_templates) are self-contained and ship as usual.
exclude = [
    "examples/wasm_benchmark.rs",
    "benches/native_benchmark.rs",
]

[features]
# atla XML and JSON parsers ship by default — atla itself (the data model)
# is always part of the crate, no feature gate, since the published surface
# (Eulumdat, IES export, photometric calc) builds on top of it.
default = ["xml", "json"]
xml = ["dep:quick-xml"]
json = ["dep:serde_json", "dep:serde"]
i18n = ["dep:eulumdat-i18n"]
serde = ["dep:serde"]

[dependencies]
anyhow.workspace = true
eulumdat-i18n = { workspace = true, optional = true }
quick-xml = { version = "0.37", features = ["serialize"], optional = true }
serde = { workspace = true, optional = true }
serde_json = { version = "1.0", optional = true }
thiserror.workspace = true

[dev-dependencies]
approx.workspace = true

[[bench]]
name = "native_benchmark"
harness = false