# apache/avro

Apache Avro is a data serialization system.

Repository: https://github.com/apache/avro
Canonical: https://ross.abutalabs.com/products/avro
Homepage: https://avro.apache.org/
Language: Java
License: Apache-2.0
License Family: permissive
Topics: csharp, ruby, cplusplus, python, php, java, c, avro, bigdata, dotnet, perl
Last push: 2026-08-24T15:26:42+00:00

## Health v2 (maintenance only)
Score: 88/100 (v2, computed 2026-09-02T17:46:02.011165+00:00)
- activity 99, release rhythm 67, longevity 100
- inputs: {"age_days": 6313, "days_push": 9, "days_rel": 10, "gap_med": null, "n_releases_24m": 1}
- flags: none
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 3301, forks 1769 (observed 2026-08-28T04:07:55.676325+00:00)

## What it is
Apache Avro is a data serialization system providing rich data structures, a compact binary format, container files, and RPC support, with schemas defined in JSON and stored alongside the data. It has mature implementations across many languages including Java/JVM, Python, C/C++/C#, PHP, Ruby, Rust, JavaScript, and Perl.

## Use cases
- serialize structured records to a compact binary format
- store self-describing data files with embedded schemas
- evolve data schemas over time without breaking readers
- exchange data between services in streaming pipelines
- implement RPC with schema negotiation
- generate typed code from schemas in statically typed languages
- read and write Avro files for Kafka and Hadoop ecosystems

## When to choose
- you need schema evolution and self-describing binary data
- you are building streaming data pipelines (e.g., Kafka) or big data workflows
- you need consistent serialization across many programming languages
- you want dynamic-language-friendly serialization without mandatory code generation

## When to avoid
- you need human-readable data interchange (use JSON instead)
- you want a strongly-typed IDL-first workflow with gRPC-style services (consider Protocol Buffers or Thrift)
- your payloads are tiny and text-based simplicity matters more than compactness

## Facets
- artifact type: library
- maturity: stable
- function: serialization, rpc
- domain: big-data, apis, developer-tools
- platform: jvm, python, cpp, c, dotnet, php, ruby, cross-platform
- tags: schema-registry, binary-format, schema-evolution, data-pipelines, code-generation, apache, multi-language, data-engineering, nodejs

## Member repositories
- apache/avro (main) score 88

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:55.676325+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:42:56.823335+00:00, confidence not recorded.
  - readme: https://github.com/apache/avro (fetched 2026-08-28T04:07:55.676325+00:00, sha 4ec82e7d9855)
  - homepage: https://avro.apache.org/ (fetched 2026-08-29T09:35:32.162272+00:00, sha d5b4dcc8b865)
  - site_page: https://avro.apache.org/docs/1.11.4 (fetched 2026-08-29T09:35:32.174613+00:00, sha 79280320e149)
  - site_page: https://avro.apache.org/docs/1.11.3 (fetched 2026-08-29T09:35:32.176632+00:00, sha 6b60ec6c3189)
  - site_page: https://avro.apache.org/docs/1.11.2 (fetched 2026-08-29T09:35:32.178653+00:00, sha 480d276d8525)
  - site_page: https://avro.apache.org/docs/1.11.1 (fetched 2026-08-29T09:35:32.180422+00:00, sha c5f1e1995a20)
  - site_page: https://avro.apache.org/docs/1.12.0 (fetched 2026-08-29T09:35:32.172037+00:00, sha 3c56205450a4)
  - site_page: https://avro.apache.org/docs/1.11.0 (fetched 2026-08-29T09:35:32.182294+00:00, sha 63f0ca1cae71)
  - site_page: https://avro.apache.org/docs/1.10.2 (fetched 2026-08-29T09:35:32.184177+00:00, sha 0b38cf303562)
  - site_page: https://avro.apache.org/docs/1.10.1 (fetched 2026-08-29T09:35:32.185817+00:00, sha 7b2a476bee30)
- Data as of 2026-08-30T08:39:29.467469+00:00.
