epcis-models
Type-safe, native Rust representations of GS1 EPCIS 2.0 Core Event Models and Core Business Vocabulary (CBV) standard vocabularies.
Features
- Standardized Event Types: Implements structs for all core EPCIS event types:
ObjectEventAggregationEventTransformationEventAssociationEventTransactionEvent
- Flexibility for Custom Vocabularies: Leverages open-ended enum structures via
strum-backed CBV bindings, allowing you to easily use either GS1 Standard elements (e.g.StandardBizStep::Receiving) or any Custom URNs/URLs. - Fail-Safe Enforcements: Implements
#![deny(unsafe_code)]and strict linting. - Full Serialization: Built on top of
serdeandserde_jsonfor high-fidelity conversion.
Quick Start
Basic Event Structure
use ;
use Utc;
// Create a standard Object Event
let mut event = new;
// Assign CBV standard business step and disposition
event.biz_step = Some;
event.disposition = Some;
// Serialize to JSON
let serialized = to_string_pretty.unwrap;
println!;
Custom vocabularies
use ;
// Can use standard
let standard_step = Standard;
// Or easily fall back to custom URNs/URLs
let custom_step = Custom;
License
Licensed under either of Apache-2.0 or MIT.