[package]
edition = "2024"
rust-version = "1.87"
name = "ocpp-types"
version = "0.3.0"
build = false
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Strongly typed OCPP 1.6J, 2.0.1, and 2.1 message types for Rust. no_std, no alloc, embedded-friendly."
readme = "README.md"
keywords = [
"ocpp",
"ev-charging",
"charging-station",
"embedded",
"no-std",
]
categories = [
"embedded",
"no-std",
"encoding",
"network-programming",
]
license = "MIT OR Apache-2.0"
repository = "https://github.com/flowionab/ocpp-types"
resolver = "2"
[package.metadata.docs.rs]
all-features = true
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
alloc = ["serde?/alloc"]
chrono = ["dep:chrono"]
default = ["alloc"]
serde = [
"dep:serde",
"dep:serde-json-core",
"heapless/serde",
]
validate = []
[lib]
name = "ocpp_types"
path = "src/lib.rs"
[[example]]
name = "basic_usage"
path = "examples/basic_usage.rs"
[[example]]
name = "envelope"
path = "examples/envelope.rs"
required-features = ["serde"]
[[example]]
name = "rpc_error_codes"
path = "examples/rpc_error_codes.rs"
[[example]]
name = "serialization"
path = "examples/serialization.rs"
required-features = ["serde"]
[[example]]
name = "unbounded_fields"
path = "examples/unbounded_fields.rs"
[[example]]
name = "validate"
path = "examples/validate.rs"
required-features = [
"validate",
"alloc",
]
[dependencies.chrono]
version = "0.4"
optional = true
default-features = false
[dependencies.heapless]
version = "0.8"
[dependencies.serde]
version = "1"
features = ["derive"]
optional = true
default-features = false
[dependencies.serde-json-core]
version = "0.6"
optional = true