Fory is a cross-language serialization framework and binary data serializer designed to convert complex object graphs into a compact binary format for high-performance data exchange. It includes an IDL-based schema compiler to transform interface definition language files into type-safe native data models and a schema evolution manager to maintain forward and backward compatibility.
The project features a zero-copy data access layer that allows reading specific fields from binary rows without deserializing the entire object. It supports dual-mode serialization, enabling a toggle between a portable wire mode for multi-language interoperability and a native mode optimized for single-language performance.
The framework covers a broad range of capabilities, including reference-tracking for circular dependencies, polymorphic type handling, and secure deserialization through type whitelisting and depth limiting. It further provides integration for columnar data transformation for analytics and the generation of service companions for remote procedure calls.
Native binaries can be produced via ahead-of-time compilation to reduce startup time and memory consumption.