Skip to main content

Define data format schemas once and generate code for multiple languages and serialization frameworks.

Project description

Interface Generator

Write your protocol specifications in a single language (Avro IDL) and automatically generate schema definitions, code, and documentation for multiple languages and serialization frameworks, including:

  • Protobuf (proto3)
  • Apache Avro Schema (.avsc)
  • JSON schema
  • XML schema
  • SQL DDL (create table)
  • .. and of the other formats supported by Avrotize.

Quick Start

  1. Create a virtual environment (optional but recommended), and activate it:
python -m venv venv
source venv/bin/activate

  1. Install the package:
python -m pip install interface-gen

Or, to install an editable package from a git checkout:

python -m pip install -e .
  1. Set up your protocol definitions and output directory.
mkdir -p my-protocols/v1.0
mkdir my-output

Place your Avro IDL definition files (.avdl) in my-protocols/v1.0

  1. Run the generator:
ifgen -i -p my-protocols -o my-output

More Details

For more details see the source code docs:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

interface_gen-0.1.1.tar.gz (17.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

interface_gen-0.1.1-py3-none-any.whl (21.6 kB view details)

Uploaded Python 3

File details

Details for the file interface_gen-0.1.1.tar.gz.

File metadata

  • Download URL: interface_gen-0.1.1.tar.gz
  • Upload date:
  • Size: 17.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for interface_gen-0.1.1.tar.gz
Algorithm Hash digest
SHA256 7450d3ed7ef487605616544ef07bb6569746b4bece685463a3dce25afaf77e99
MD5 11d6dc0475f876d5be0dd28ce8bbe11b
BLAKE2b-256 20f6b4e0fa94fda0c8436e75c1ade4615cfab988e442860bf4ebf09724e03d75

See more details on using hashes here.

Provenance

The following attestation bundles were made for interface_gen-0.1.1.tar.gz:

Publisher: publish.yml on ajfabbri/interface-gen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file interface_gen-0.1.1-py3-none-any.whl.

File metadata

  • Download URL: interface_gen-0.1.1-py3-none-any.whl
  • Upload date:
  • Size: 21.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for interface_gen-0.1.1-py3-none-any.whl
Algorithm Hash digest
SHA256 5faa678722a7cd0a97d15915657a070a2d45260ca0d974551a078e57cac820fa
MD5 e5be1b9c76ddcb5fd6f02bacfd90f0af
BLAKE2b-256 7c040ed0592ee2ba5673eb928665893011ca0452e73f0ca37b4420f6818b391f

See more details on using hashes here.

Provenance

The following attestation bundles were made for interface_gen-0.1.1-py3-none-any.whl:

Publisher: publish.yml on ajfabbri/interface-gen

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page