Skip to main content

Python serialization library for Apicurio Registry

Project description

apicurio-serdes

CI codecov Quality Gate OpenSSF Scorecard Docs PyPI version Python versions License

Python serialization library for Apicurio Registry.

Provides Avro serializers that fetch and cache schemas from an Apicurio Registry v3 instance, with support for both sync and async usage. Two wire formats are supported: the Confluent-compatible payload framing and Apicurio's Kafka-headers mode.

Installation

pip install apicurio-serdes

Quick start

Sync client

from apicurio_serdes import ApicurioRegistryClient

client = ApicurioRegistryClient(
    url="http://localhost:8080/apis/registry/v3",
    group_id="com.example.schemas",
)

cached = client.get_schema("UserEvent")
# cached.schema     — parsed Avro schema dict (fastavro-ready)
# cached.global_id  — Apicurio globalId
# cached.content_id — Apicurio contentId

Async client

from apicurio_serdes import AsyncApicurioRegistryClient

client = AsyncApicurioRegistryClient(
    url="http://localhost:8080/apis/registry/v3",
    group_id="com.example.schemas",
)

cached = await client.get_schema("UserEvent")

Wire formats

from apicurio_serdes import WireFormat

# Magic byte (0x00) + 4-byte globalId prefix — Confluent-compatible
WireFormat.CONFLUENT_PAYLOAD

# Raw Avro bytes; schema ID carried in a Kafka message header
WireFormat.KAFKA_HEADERS

Releasing a new version

  1. Update version in pyproject.toml.
  2. Commit: git commit -m "chore: bump version to X.Y.Z".
  3. Push, then create a GitHub Release with tag vX.Y.Z.
  4. The publish workflow publishes to TestPyPI then PyPI automatically.

License

MIT

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

apicurio_serdes-0.1.0.tar.gz (1.7 MB view details)

Uploaded Source

Built Distribution

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

apicurio_serdes-0.1.0-py3-none-any.whl (13.9 kB view details)

Uploaded Python 3

File details

Details for the file apicurio_serdes-0.1.0.tar.gz.

File metadata

  • Download URL: apicurio_serdes-0.1.0.tar.gz
  • Upload date:
  • Size: 1.7 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for apicurio_serdes-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6f584fda1d6d002c5911494163cb61fc9b61283449acb5194053acf662cbf418
MD5 c1c2d6c706719f000189e5b1ff0758fd
BLAKE2b-256 a9d789c852ecda172369448ffaf09621a101e7b708cd3fe41c83ade703c507db

See more details on using hashes here.

Provenance

The following attestation bundles were made for apicurio_serdes-0.1.0.tar.gz:

Publisher: publish.yml on jcbianic/apicurio-serdes

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

File details

Details for the file apicurio_serdes-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for apicurio_serdes-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 879630e430f19531b0f7275aefd20ae8b7122a464fc8b4b7eb290798eeaa7519
MD5 83bd2307eec96fd230af6dd2b4608d60
BLAKE2b-256 404dd862e5a3e854828698290d4e0f972d8687eddb4216d21d0f0f1b642102bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for apicurio_serdes-0.1.0-py3-none-any.whl:

Publisher: publish.yml on jcbianic/apicurio-serdes

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