A binary data serialization format optimized for nested structures containing binary blobs, with a native DateTime type and self-describing wire format.
- spec/snowed-spec.md — canonical wire format specification
- spec/platform-limitations.md — known limitations per implementation platform
| Language | Path | Status |
|---|---|---|
| Swift | implementations/swift | Complete |
| C# | implementations/csharp | Complete |
| Rust | implementations/rust | Complete |
| Go | implementations/go | Complete |
| Kotlin | implementations/kotlin | Complete |
| Python | implementations/python | Complete |
All implementations target zero runtime dependencies beyond the host language's standard library.
| Language | Package | Install |
|---|---|---|
| C# | BetterPractice.Snowed | dotnet add package BetterPractice.Snowed |
| C# | BetterPractice.Snowed.AspNetCore | dotnet add package BetterPractice.Snowed.AspNetCore |
The C# packages are published from this repository by a v* tag (see .github/workflows/publish.yml). Versions below 1.0 signal that the library API is not yet committed; the wire format itself is governed by the specification.
Cross-implementation test vectors are in tests/conformance. Each implementation is expected to provide a test runner that validates against these vectors.