[package]
edition = "2021"
rust-version = "1.87"
name = "rubo4e"
version = "0.2.0"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust implementation of the BO4E energy-market data standard"
readme = "README.md"
keywords = [
"bo4e",
"energy",
"electricity",
"gas",
"market",
]
categories = [
"encoding",
"data-structures",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/hupe1980/rubo4e"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
builder = ["dep:typed-builder"]
decimal = ["dep:rust_decimal"]
default = ["serde"]
json = [
"serde",
"dep:serde_json",
]
metrics = ["dep:metrics"]
schemars = [
"serde",
"dep:schemars",
]
serde = [
"dep:serde",
"dep:indexmap",
]
simd-json = [
"json",
"dep:simd-json",
]
sqlx = [
"dep:sqlx",
"json",
]
strum = ["dep:strum"]
time = ["dep:time"]
tracing = ["dep:tracing"]
utoipa = ["dep:utoipa"]
validate = ["dep:garde"]
versioned = ["serde"]
[lib]
name = "rubo4e"
path = "src/lib.rs"
[[example]]
name = "builder"
path = "examples/builder.rs"
required-features = [
"versioned",
"builder",
"json",
"decimal",
]
[[example]]
name = "serialize"
path = "examples/serialize.rs"
required-features = [
"versioned",
"json",
"decimal",
]
[[test]]
name = "any_bo"
path = "tests/any_bo.rs"
[[test]]
name = "builder"
path = "tests/builder.rs"
[[test]]
name = "compat"
path = "tests/compat.rs"
[[test]]
name = "golden"
path = "tests/golden.rs"
[[test]]
name = "module_coverage"
path = "tests/module_coverage.rs"
[[test]]
name = "proptest_roundtrips"
path = "tests/proptest_roundtrips.rs"
[[test]]
name = "schemars_snapshots"
path = "tests/schemars_snapshots.rs"
[[test]]
name = "serde_round_trip"
path = "tests/serde_round_trip.rs"
[[test]]
name = "struct_sizes"
path = "tests/struct_sizes.rs"
[[test]]
name = "strum_integration"
path = "tests/strum_integration.rs"
[[test]]
name = "utoipa_compile"
path = "tests/utoipa_compile.rs"
[[test]]
name = "validation"
path = "tests/validation.rs"
[[bench]]
name = "json_perf"
path = "benches/json_perf.rs"
harness = false
required-features = [
"versioned",
"json",
"time",
"decimal",
]
[dependencies.garde]
version = "0.23"
features = ["derive"]
optional = true
[dependencies.indexmap]
version = "2"
features = ["serde"]
optional = true
[dependencies.metrics]
version = "0.24"
optional = true
default-features = false
[dependencies.rust_decimal]
version = "1"
features = ["serde-with-str"]
optional = true
[dependencies.schemars]
version = "1"
features = [
"indexmap2",
"rust_decimal1",
]
optional = true
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1"
features = ["raw_value"]
optional = true
[dependencies.simd-json]
version = "0.17"
features = ["serde_impl"]
optional = true
[dependencies.sqlx]
version = "0.8"
features = ["postgres"]
optional = true
[dependencies.strum]
version = "0.28"
features = ["derive"]
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3.53"
features = [
"serde",
"serde-well-known",
"formatting",
"parsing",
"macros",
]
optional = true
[dependencies.tracing]
version = "0.1"
optional = true
default-features = false
[dependencies.typed-builder]
version = "0.23"
optional = true
[dependencies.utoipa]
version = "5"
features = [
"time",
"decimal",
"indexmap",
]
optional = true
[dev-dependencies.criterion]
version = "0.8"
features = ["html_reports"]
[dev-dependencies.insta]
version = "1"
[dev-dependencies.proptest]
version = "1"
[dev-dependencies.serde_json]
version = "1"
features = ["raw_value"]
[dev-dependencies.trybuild]
version = "1"
features = ["diff"]