Metadata-Version: 2.5
Name: etlantic-schemaregistry
Version: 0.56.0
Summary: Experimental Confluent-compatible schema-registry adapter for ETLantic.
Project-URL: Homepage, https://github.com/eddiethedean/etlantic
Project-URL: Documentation, https://github.com/eddiethedean/etlantic/tree/main/docs
Project-URL: Repository, https://github.com/eddiethedean/etlantic
Project-URL: Issues, https://github.com/eddiethedean/etlantic/issues
Project-URL: Changelog, https://github.com/eddiethedean/etlantic/blob/main/CHANGELOG.md
Author-email: Odo Matthews <odosmatthews@gmail.com>
License-Expression: MIT
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Typing :: Typed
Requires-Python: >=3.11
Requires-Dist: etlantic<0.57,>=0.56.0
Description-Content-Type: text/markdown

# etlantic-schemaregistry (Experimental / Preview)

Version **0.56.0** (lockstep with ETLantic core).
Confluent-compatible schema-registry adapter over the core wire protocol.
The read-only HTTP adapter fetches one bounded subject version from a
Confluent-compatible registry. It never registers schemas or stores documents
in inference observations.

**Maturity:** Experimental (Alpha classifier).

## Install

```bash
pip install 'etlantic-schemaregistry==0.56.0'
```

Core dependency: `etlantic>=0.56.0,<0.57`. Production profiles require
`Profile.schema_registry_allowlist`.

```python
import etlantic as etl
from etlantic_schemaregistry import ConfluentHttpRegistry

registry = ConfluentHttpRegistry(
    "https://registry.example",
    allowed_hosts=("registry.example",),
)
result = etl.infer_registry_subject(registry, "orders-value", version=1)
```

The metadata adapter supports JSON Schema and Avro record fields. Protobuf
field inference returns an explicit unsupported diagnostic. Remote hosts must
be allowlisted; local HTTP is accepted for tests.
