6 releases (breaking)

0.18.0 Feb 24, 2026
0.17.1 Dec 10, 2025
0.16.0 Jul 11, 2025
0.15.1 Apr 23, 2025
0.14.0 Jan 23, 2025

#18 in #ua

Download history 1236/week @ 2025-12-08 1371/week @ 2025-12-15 1353/week @ 2025-12-22 975/week @ 2025-12-29 1833/week @ 2026-01-05 2514/week @ 2026-01-12 2030/week @ 2026-01-19 2848/week @ 2026-01-26 2905/week @ 2026-02-02 2798/week @ 2026-02-09 2089/week @ 2026-02-16 3595/week @ 2026-02-23 3248/week @ 2026-03-02 3431/week @ 2026-03-09 2800/week @ 2026-03-16 2481/week @ 2026-03-23

12,110 downloads per month
Used in 10 crates (3 directly)

MPL-2.0 license

82KB
2K SLoC

Async OPC-UA Macros

Part of async-opcua, a general purpose OPC-UA library in rust.

This defines a number of utility macros for encoding, decoding, and defining types to help write server and client software.

Currently defines:

  • Event, a macro for deriving the Event trait on custom event types.
  • EventField, a macro for deriving the EventField trait, used for types that can be part of OPC-UA events.
  • FromXml, with the "xml" feature. Derives conversion from XML objects in NodeSet2 files.
  • JsonEncodable, with the "json" feature. Derives streaming serialization using OPC-UA JSON.
  • JsonDecodable, with the "json" feature. Derives streaming deserialization using OPC-UA JSON.
  • BinaryEncodable, derives streaming serialization using OPC-UA Binary.
  • BinaryDecodable, derives streaming deserialization using OPC-UA Binary.
  • UaEnum, derives the UaEnum and a few other traits to make it easier to define custom OPC-UA enums.

Features

  • json, adds the JsonEncodable and JsonDecodable macros.
  • xml, adds the FromXml macro.

Dependencies

~0.9–1.4MB
~25K SLoC