02 — Serialization
Crous
Same data. Same bytes. Every time.
A deterministic binary document format built on a C core. No schema files. No code generation. Smaller than JSON in most real-world payloads — critical for content-addressable storage, caching, and audit logs.
encode.py
pythonimport crous
binary = crous.dumps({"name": "Alice", "scores": [98, 95, 100]})
# 42 bytes vs 76 bytes JSON
data = crous.loads(binary)encode.js
nodeconst crous = require('crous')
const binary = crous.dumps({ name: "Alice", scores: [98, 95, 100] })
const data = crous.loads(binary)DeterministicC-coreNo SchemaSmaller than JSONPythonNode.jsStreamingZero-copy
Why deterministic matters
Two systems hashing the same payload always agree. Crucial for caching, content-addressable storage, distributed dedup, and audit trails.
No schema, no codegen
Crous reads any document. No .proto file. No build step. Add a field, ship it.
Streaming-friendly
Encode and decode chunked payloads without buffering the whole document.
Cross-language by design
Python and Node SDKs share the same wire format. Add new bindings against the C core.
639K ops/sec. 227 byte payloads. Zero schema files.
Explore Crous