# apache/fory

A blazingly fast multi-language serialization framework for idiomatic domain objects, schema IDL, and cross-language data exchange.

Repository: https://github.com/apache/fory
Canonical: https://ross.abutalabs.com/products/fory
Homepage: https://fory.apache.org
Language: Java
License: Apache-2.0
License Family: permissive
Topics: cross-language, fast, jit, multiple-language, serialization, zero-copy, java, python, cpp, golang, javascript, rust, compression, encoding, marshalling, persistence, rpc, transfer, lightning, hacktoberfest
Last push: 2026-08-26T05:04:27+00:00

## Health v2 (maintenance only)
Score: 96/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 99, release rhythm 98, longevity 87
- inputs: {"age_days": 1223, "days_push": 7, "days_rel": 18, "gap_med": 20, "n_releases_24m": 30}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 4515, forks 435 (observed 2026-08-28T04:08:52.667956+00:00)

## What it is
Apache Fory is a blazingly fast multi-language serialization framework supporting idiomatic domain objects, a reference-aware schema IDL, and cross-language binary data exchange. It offers JIT-generated serializers, schema evolution, shared/circular reference handling, row-format random access, and Fory-backed gRPC integration across Java, Python, C++, Go, Rust, JavaScript, C#, Swift, Dart, Scala, and Kotlin.

## Use cases
- serialize objects fast in java
- cross-language serialization between python and rust
- serialize dataclasses in python to binary
- schema evolution for binary payloads
- preserve circular references when serializing object graphs
- generate native model classes from an IDL schema
- high-throughput serialization for rpc payloads
- random access to fields without full deserialization

## When to choose
- you need very fast, compact binary serialization across multiple languages
- you must serialize existing idiomatic domain objects without IDL boilerplate
- your object graphs contain shared or circular references or polymorphic types
- you want schema evolution with forward/backward compatibility
- you need partial/random access to serialized analytical data via row format

## When to avoid
- you need a human-readable format like JSON or YAML for interoperability with third parties
- your stack uses languages Fory does not support
- you need a battle-tested minimal format like protobuf with a mature ecosystem and broad tooling
- you only serialize simple data occasionally and performance is irrelevant

## Facets
- artifact type: library
- maturity: active
- function: serialization, rpc, compiler, sdk
- domain: developer-tools, microservices, apis, performance, cross-platform
- platform: jvm, python, go, rust, cpp, dotnet, cross-platform, browser
- tags: xlang, zero-copy, jit-serialization, schema-evolution, idl, code-generation, row-format, grpc, object-graph, binary-format, javascript, swift, android, nodejs

## Member repositories
- apache/fory (main) score 96

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:08:52.667956+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-29T18:20:19.391507+00:00, confidence not recorded.
  - readme: https://github.com/apache/fory (fetched 2026-08-28T04:08:52.667956+00:00, sha e5193f93f476)
  - homepage: https://fory.apache.org (fetched 2026-08-29T09:06:19.159346+00:00, sha 68d25527c874)
  - site_page: https://fory.apache.org/docs/introduction (fetched 2026-08-29T09:06:19.162219+00:00, sha 9ba84de2c7fb)
  - site_page: https://fory.apache.org/docs/specification/xlang_serialization_spec (fetched 2026-08-29T09:06:19.164195+00:00, sha d9204730ec44)
  - site_page: https://fory.apache.org/docs/community (fetched 2026-08-29T09:06:19.167809+00:00, sha baa01384e9f1)
  - site_page: https://fory.apache.org/docs (fetched 2026-08-29T09:06:19.169491+00:00, sha c41909a4f970)
  - site_page: https://fory.apache.org/docs/next (fetched 2026-08-29T09:06:19.171014+00:00, sha d93f48277a55)
  - site_page: https://fory.apache.org/docs/1.5/introduction/overview (fetched 2026-08-29T09:06:19.174207+00:00, sha 76ce146a4ac5)
  - site_page: https://fory.apache.org/docs/1.4/introduction/overview (fetched 2026-08-29T09:06:19.176654+00:00, sha f7c59cc00ee6)
  - site_page: https://fory.apache.org/docs/1.3/introduction/overview (fetched 2026-08-29T09:06:19.179084+00:00, sha 90ba9a325c12)
- Data as of 2026-08-30T08:39:29.467469+00:00.
