MCPcopy Index your code
hub / github.com/apache/avro

github.com/apache/avro @release-1.12.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release release-1.12.1 ↗ · + Follow
17,221 symbols 64,591 edges 1,336 files 5,194 documented · 30% 19 cross-repo links
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

[!IMPORTANT]
The Rust SDK is moving to https://github.com/apache/avro-rs. Please use it for new issues and pull requests!

Apache Avro™Avro Logo

Current CI status (Github servers)

test c test c# test c++ test java test javascript test perl test ruby test python test php

Current CodeQL status

codeql c# codeql java codeql javascript codeql python


Apache Avro™ is a data serialization system.

Learn more about Avro, please visit our website at:

https://avro.apache.org/

To contribute to Avro, please read:

https://cwiki.apache.org/confluence/display/AVRO/How+To+Contribute

You can use devcontainers to develop Avro:

  • Open in Visual Studio Code
  • Open in Github Codespaces

Trademark & logos

Apache®, Apache Avro and the Apache Avro airplane logo are trademarks of The Apache Software Foundation.

The Apache Avro airplane logo on this page has been designed by Emma Kellam for use by this project.

Extension points exported contracts — how you extend this code

Tool (Interface)
Command-line "avro-tools" utilities should implement this interface for delegation by Main. [60 implementers]
lang/java/tools/src/main/java/org/apache/avro/tool/Tool.java
DatumReader (Interface)
Defines the interface for an object that reads data of a schema. Type of the in [2 implementers]
lang/csharp/src/apache/main/Generic/DatumReader.cs
Input (Interface)
A byte source that supports positioned read and length. [12 implementers]
lang/java/trevni/core/src/main/java/org/apache/trevni/Input.java
ICallback (Interface)
Obsolete - This will be removed from the public API in a future version. </type
lang/csharp/src/apache/main/IO/ICallback.cs
SchemaValidator (Interface)
A SchemaValidator has one method, which validates that a Schema is compatible with the other schemas [57 implementers]
lang/java/avro/src/main/java/org/apache/avro/SchemaValidator.java
Encoder (Interface)
Defines the interface for a class that provides low-level support for serializing Avro values.
lang/csharp/src/apache/main/IO/Encoder.cs
SchemaValidationStrategy (Interface)
An interface for validating the compatibility of a single schema against another. What makes one schema compatible w [58 …
lang/java/avro/src/main/java/org/apache/avro/SchemaValidationStrategy.java
Decoder (Interface)
Decoder is used to decode Avro data on a stream. There are methods to read the Avro types on the stream. There
lang/csharp/src/apache/main/IO/Decoder.cs

Core symbols most depended-on inside this repo

get
called by 1186
lang/java/avro/src/main/java/org/apache/avro/util/SchemaVisitor.java
create
called by 816
lang/java/avro/src/main/java/org/apache/avro/Schema.java
size
called by 811
lang/java/ipc/src/main/java/org/apache/avro/ipc/stats/Histogram.java
parse
called by 801
lang/java/avro/src/main/java/org/apache/avro/FormattedSchemaParser.java
toString
called by 714
lang/java/avro/src/main/java/org/apache/avro/generic/GenericEnumSymbol.java
put
called by 592
lang/java/avro/src/main/java/org/apache/avro/generic/GenericRecord.java
append
called by 490
lang/java/avro/src/main/java/org/apache/avro/file/DataFileWriter.java
fieldSetFlags
called by 453
lang/java/avro/src/main/java/org/apache/avro/data/RecordBuilderBase.java

Shape

Method 12,586
Class 2,420
Function 2,031
Interface 97
Enum 86
Route 1

Languages

Java60%
C#11%
C++9%
C8%
Python4%
Ruby4%

Modules by API surface

lang/java/avro/src/main/java/org/apache/avro/SchemaBuilder.java321 symbols
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/noopt/Test.java303 symbols
lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Foo.java280 symbols
lang/java/ipc/src/test/java/org/apache/avro/io/Perf.java243 symbols
lang/c/src/generic.c223 symbols
lang/java/avro/src/main/java/org/apache/avro/Schema.java209 symbols
lang/java/protobuf/src/test/java/org/apache/avro/protobuf/multiplefiles/Foo.java197 symbols
lang/c/src/resolved-reader.c188 symbols
lang/java/avro/src/test/java/org/apache/avro/reflect/TestReflect.java167 symbols
lang/py/avro/schema.py142 symbols
lang/c/src/resolved-writer.c142 symbols
lang/java/thrift/src/test/java/org/apache/avro/thrift/test/Test.java124 symbols

For agents

$ claude mcp add avro \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact