schematalog-app
Schematalog is a registry and catalog for JSON Schema
specifications: it stores versioned schema documents and serves them back for
validation, $ref resolution and format conversion.
pip install schematalog-app
schematalog serve
With nothing configured it stores schemas in a SQLite file in the working directory — no
database to provision — and serves a JSON API and a server-rendered web UI on
http://127.0.0.1:8000. schematalog info reports the version and which storage backend
your configuration resolved to.
Storage
One setting selects and configures the store, its scheme choosing the backend:
SCHEMATALOG_STORAGE_URL=sqlite:///./schematalog.db # the default
SCHEMATALOG_STORAGE_URL=postgresql://user:pw@host/db
SCHEMATALOG_STORAGE_URL=file:///data/schemas # plain files you can grep and commit
Other backends install themselves: schematalog-s3
adds the s3 scheme. Writing your own needs
schematalog-core alone.
What it gives you
A published version is immutable — its name, version, document and publication time
never change — and is served back stamped with a canonical $id, so a link to a schema
keeps working and keeps meaning the same thing. Versions are free-form strings ordered by
publication rather than by string comparison, and a version can be marked deprecated or
pointed at its successor without disturbing any of that.
Documents can be viewed as JSON, YAML, Avro or ready-to-use Python.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file schematalog_app-0.1.0.tar.gz.
File metadata
- Download URL: schematalog_app-0.1.0.tar.gz
- Upload date:
- Size: 263.9 kB
- Tags: Source
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ad42f6be24724a9448c2aea084817bd97e8d1e6cdfc41f02ec9b60e9f5506a4
|
|
| MD5 |
5b875b3b4f27305f6c71bd2e891af7f4
|
|
| BLAKE2b-256 |
8f01e80451c46034ac5771eef72bbf3350a6d5dbefadb8c40c8fab9ab2764723
|
File details
Details for the file schematalog_app-0.1.0-py3-none-any.whl.
File metadata
- Download URL: schematalog_app-0.1.0-py3-none-any.whl
- Upload date:
- Size: 218.7 kB
- Tags: Python 3
- Uploaded using 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}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2c5075f77283964ea029ef244d43f376df37822cdaebb91cc4c1d6895c505077
|
|
| MD5 |
0d4d5924cb72bfb29aaa49d17778068c
|
|
| BLAKE2b-256 |
109492ec16b50a94a05821c5d887a25ca86d7bbb163b238ffe989428c859ca58
|