[package]
edition = "2024"
rust-version = "1.88"
name = "energy-api"
version = "0.3.0"
authors = ["hupe1980"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Rust client and server implementation for German energy market API-Webdienste (MaKo)"
readme = false
keywords = [
"edifact",
"edi-energy",
"bdew",
"api",
"ims",
]
categories = ["encoding"]
license = "MIT OR Apache-2.0"
repository = "https://github.com/hupe1980/mako"
resolver = "2"
[features]
client = ["dep:reqwest"]
crypto = [
"dep:p256",
"dep:sha2",
"dep:base64ct",
"dep:serde_jcs",
]
default = []
server = [
"dep:axum",
"dep:tower",
"dep:http",
]
websocket = [
"dep:tokio-tungstenite",
"dep:futures-util",
"dep:tokio",
]
[lib]
name = "energy_api"
path = "src/lib.rs"
[dependencies.axum]
version = "0.8"
optional = true
[dependencies.base64ct]
version = "1"
features = ["alloc"]
optional = true
[dependencies.futures-util]
version = "0.3"
optional = true
[dependencies.http]
version = "1"
optional = true
[dependencies.p256]
version = "0.13"
features = [
"ecdsa",
"pem",
]
optional = true
[dependencies.reqwest]
version = "0.12"
features = [
"json",
"rustls-tls",
]
optional = true
default-features = false
[dependencies.serde]
version = "1"
features = ["derive"]
[dependencies.serde_jcs]
version = "0.1"
optional = true
[dependencies.serde_json]
version = "1"
[dependencies.sha2]
version = "0.10"
optional = true
[dependencies.thiserror]
version = "2"
[dependencies.time]
version = "0.3"
features = [
"std",
"macros",
"serde-well-known",
"parsing",
"formatting",
"serde",
"formatting",
"parsing",
]
[dependencies.tokio]
version = "1"
features = [
"rt",
"sync",
]
optional = true
[dependencies.tokio-tungstenite]
version = "0.24"
features = ["rustls-tls-webpki-roots"]
optional = true
[dependencies.tower]
version = "0.5"
features = ["util"]
optional = true
[dependencies.url]
version = "2"
features = ["serde"]
[dependencies.uuid]
version = "1"
features = [
"v4",
"serde",
]
[dev-dependencies.serde_json]
version = "1"
[dev-dependencies.tokio]
version = "1"
features = ["full"]