or run

npx @tessl/cli init
Log in

Version

Tile

Overview

Evals

Files

docs

build-tools.mdframework-coordination.mdindex.mdlanguage-implementations.mdschema-registry.md
tile.json

tessl/maven-org-apache-avro--avro-toplevel

Apache Avro meta-framework that coordinates data serialization implementations across multiple programming languages

Workspace
tessl
Visibility
Public
Created
Last updated
Describes
mavenpkg:maven/org.apache.avro/avro-toplevel@1.12.x

To install, run

npx @tessl/cli install tessl/maven-org-apache-avro--avro-toplevel@1.12.0

index.mddocs/

Apache Avro Toplevel

Apache Avro Toplevel is a meta-framework that coordinates the entire Apache Avro data serialization ecosystem across multiple programming languages. It provides shared schemas, build coordination, and cross-language compatibility standards for the comprehensive Avro data serialization system.

Package Information

  • Package Name: avro-toplevel
  • Package Type: maven
  • Language: Java (Framework Coordinator)
  • Installation: mvn dependency:get -Dartifact=org.apache.avro:avro-toplevel:1.12.0

Core Imports

This meta-framework doesn't provide direct programming APIs. Instead, it coordinates language-specific implementations:

<!-- Maven POM dependency for build coordination -->
<dependency>
    <groupId>org.apache.avro</groupId>
    <artifactId>avro-toplevel</artifactId>
    <version>1.12.0</version>
    <type>pom</type>
</dependency>

Basic Usage

The Avro Toplevel project is primarily used for:

# Clone and build entire Avro ecosystem
git clone https://github.com/apache/avro.git
cd avro
./build.sh

# Access shared schemas and specifications
ls share/schemas/org/apache/avro/

Architecture

Apache Avro Toplevel serves as the central orchestrator for a comprehensive data serialization ecosystem:

  • Framework Coordination: Manages builds and dependencies across 10+ language implementations
  • Schema Registry: Provides shared Avro schemas for RPC, serialization, and MapReduce integration
  • Cross-Language Standards: Ensures compatibility and consistency across all language implementations
  • Development Infrastructure: Includes build tools, testing frameworks, and documentation systems
  • Version Management: Coordinates versioning and releases across the entire ecosystem

Capabilities

Framework Coordination

Central coordination and build management for the entire Apache Avro ecosystem, supporting multi-language implementations and cross-platform compatibility.

<!-- Maven coordinates for the framework coordinator -->
<groupId>org.apache.avro</groupId>
<artifactId>avro-toplevel</artifactId>
<version>1.12.0</version>
<packaging>pom</packaging>

Framework Coordination

Shared Schema Registry

Core Avro schemas used across all language implementations for serialization, RPC communication, and data interchange protocols.

// Example: IPC Handshake Request Schema Structure
{
  "type": "record",
  "name": "HandshakeRequest", 
  "namespace": "org.apache.avro.ipc",
  "fields": [
    {"name": "clientHash", "type": {"type": "fixed", "name": "MD5", "size": 16}},
    {"name": "clientProtocol", "type": ["null", "string"], "default": null},
    {"name": "serverHash", "type": "MD5"},
    {"name": "meta", "type": ["null", {"type": "map", "values": "bytes"}], "default": null}
  ]
}

Schema Registry

Language Implementation References

References and coordination for language-specific Avro implementations across C, C++, C#, Java, JavaScript, Perl, PHP, Python, Ruby, and Rust.

# Supported Language Implementations
implementations:
  - language: java
    location: lang/java
    artifacts: [avro, avro-compiler, avro-ipc, avro-tools]
  - language: python
    location: lang/py
    package: avro-python3
  - language: javascript
    location: lang/js
    package: avro-js
  - language: csharp
    location: lang/csharp
    package: Apache.Avro

Language Implementations

Build and Development Tools

Comprehensive build system and development infrastructure for cross-platform development and testing of the Avro ecosystem.

# Build system interface
./build.sh                    # Build all language implementations
./build.sh test              # Run cross-language compatibility tests
./build.sh clean             # Clean all build artifacts
./build.sh doc               # Generate documentation for all languages

Build Tools

Types

# Project Structure Types
AvroToplevelProject:
  groupId: "org.apache.avro"
  artifactId: "avro-toplevel"
  version: string
  packaging: "pom"
  modules: LanguageImplementation[]

LanguageImplementation:
  language: string
  location: string
  buildSystem: string
  mainArtifacts: string[]

SchemaDefinition:
  name: string
  namespace: string
  type: "record" | "enum" | "array" | "map" | "union" | "fixed"
  location: string
  description: string

BuildConfiguration:
  script: string
  commands: string[]
  environment: map[string, string]
  dependencies: string[]