Skip to main content

schematalog-core

The domain contract for Schematalog, a registry and catalog for JSON Schema specifications — and the conformance suite that goes with it.

This is what a storage backend codes against. It deliberately does not depend on the registry application, so implementing a backend does not oblige you to install a web framework.

pip install schematalog-core[testing]

Writing a storage backend

A backend implements five methods — add, get, set_metadata, list_versions and list_names. Three more (get_latest, list_latest, list_predecessors) are derived for you by SchemaRepository, including the rule for which version counts as latest, so you inherit that rather than reimplementing it. Override them only if your store can answer them better.

The contract is written as tests. Subclass it, supply one fixture yielding an empty repository, and it tells you whether your backend is correct:

import pytest
from schematalog.testing import SchemaRepositoryConformance

class TestMyBackend(SchemaRepositoryConformance):
    @pytest.fixture
    def repository(self):
        return MyRepository(...)

Registration is a schematalog.storage entry point naming the URL scheme you answer to; nothing in the registry needs changing. See schematalog-s3 for a complete worked example.

What it contains

  • schematalog.domain — Schema, SchemaRepository, the value objects and errors.
  • schematalog.testing — the conformance suite and a sample schema to test with.
  • schematalog.common — layer-neutral helpers, including a dependency-free JSON Schema ↔ Avro converter.

Metadata

Release files for schematalog-core 0.1.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for schematalog-core 0.1.1
File Size Uploaded Provenance Actions
schematalog_core-0.1.1.tar.gz 27.3 kB Without provenance Details for schematalog_core-0.1.1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for schematalog-core 0.1.1
File Interpreter ABI Platform Actions
schematalog_core-0.1.1-py3-none-any.whl Python 3 none any Details for schematalog_core-0.1.1-py3-none-any.whl

Total release size: 52.6 kB

Release files / schematalog_core-0.1.1.tar.gz

Download URL schematalog_core-0.1.1.tar.gz
Size 27.3 kB
Tags Source
SHA-256 checksum
How to use checksums
dd8a623079326cdec45ad2cb8a1b15bc42076d89976688ea4a315460518a35db
BLAKE2b-256 checksum
How to use checksums
eb64a565e98c3e3d21141b1f29a5cc4bbe8c9c2c5d5ec055e9fb60de59319937
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Release files / schematalog_core-0.1.1-py3-none-any.whl

Download URL schematalog_core-0.1.1-py3-none-any.whl
Size 25.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
02fff2ea08c05469efc6cb9e475b1920082355ebc5ebb5668b01c346daecd65d
BLAKE2b-256 checksum
How to use checksums
df0fbf9e007eeecbad9f8c0dff0313c7037cc8dd908fe11671c8d51557ae4eaa
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via uv/0.11.29 {"installer":{"name":"uv","version":"0.11.29","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

Security for schematalog-core 0.1.1

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

0.1.1 This release

2 release files No provenance

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page