ISCC - Schema
JSON Schema and JSON-LD Contexts for ISCC Metadata
What is iscc-schema?
iscc-schema provides the official schema definitions for the International Standard Content Code
(ISO 24138:2024). YAML-based OpenAPI 3.1.0 definitions
are the single source of truth for auto-generated JSON Schema,
JSON-LD contexts, Python models, and vocabulary
documentation.
Install
pip install iscc-schema
Quick Start
Core and Service metadata serialize as full JSON-LD by default:
from iscc_schema import IsccMeta
meta = IsccMeta(
iscc="ISCC:KACYPXW445FTYNJ3CYSXHAFJMA2HUWULUNRFE3BLHRSCXYH2M5AEGQY",
name="The Never Ending Story",
)
# Serialize as dict (set fields only)
meta.dict()
# {'iscc': 'ISCC:KACY...', 'name': 'The Never Ending Story'}
# Serialize as JSON (includes schema defaults)
meta.json()
# JSON-LD: includes @context, @type and a version-pinned $schema
Seed and Protocol records serialize as compact JSON — just the fields plus a version-pinned
$schema that anchors the schema version and lets any consumer recover full JSON-LD on demand:
from iscc_schema import STM, recover_context
seed = STM(
doi="10.5555/example.2020.0001",
resource_type="JournalArticle",
title="On the Stability of Quasilinear Forms",
publisher="Meridian Academic Press",
pubyear=2020,
)
# Compact JSON by default: fields plus the version-pinned $schema, no @context/@type
seed.json()
# Opt into full JSON-LD when you need it
seed.json(ld=True)
# Recover the JSON-LD @context from compact data using its $schema
recover_context(seed.dict())
Schema Categories
- ISCC Metadata. Core vocabulary for digital content identified by the ISCC. All fields are optional, covering content description, rights, technical properties, and cryptographic declarations.
- Seed Metadata. Industry-specific input for Meta-Code generation (
ISBN,ISRC,STM). Required fields ensure interoperable content fingerprinting across platforms. - Service Metadata. Use-case-specific schemas for ISCC registries (
TDM,GenAI). Machine-readable signals for text and data mining rights and generative AI disclosure. - Protocol Schemas. ISCC Discovery Protocol wire records (
IsccNote). Compact, signature-anchored declaration records for ISCC-HUB timestamping and registration.
Published Artifacts
| Artifact | URL |
|---|---|
| JSON Schema | http://purl.org/iscc/schema |
| JSON-LD Context | http://purl.org/iscc/context |
| Vocabulary | http://purl.org/iscc/terms |
| Python Package | https://pypi.org/project/iscc-schema |
Documentation
Documentation is hosted at schema.iscc.codes
Development
uv sync # Install dependencies
uv run poe all # Full build pipeline (codegen, tests, docs)
Status
Under development. Expect breaking changes until we reach a version 1.0 release.
Metadata
Release files for iscc-schema 0.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| iscc_schema-0.8.0.tar.gz | 511.5 kB | Without provenance | Details for iscc_schema-0.8.0.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| iscc_schema-0.8.0-py3-none-any.whl | Python 3 | none | any | Details for iscc_schema-0.8.0-py3-none-any.whl |
Total release size: 578.4 kB
Release files / iscc_schema-0.8.0.tar.gz
| Download URL | iscc_schema-0.8.0.tar.gz |
|---|---|
| Size | 511.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ceca76958b4f76df686f93f37daef05d8026f24945db1d78e0aa5921b52cefc1
|
|
BLAKE2b-256 checksum How to use checksums |
e205430bd42956fd54770ca6ecf1debb9b0df70bd146d3c2eafd587578e54bd6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / iscc_schema-0.8.0-py3-none-any.whl
| Download URL | iscc_schema-0.8.0-py3-none-any.whl |
|---|---|
| Size | 66.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
465a423647c8d845a704a3f4d04a7923f8633e33313eb618bb9ea80c60ec39b4
|
|
BLAKE2b-256 checksum How to use checksums |
6c236b44c5bed78f6d76c365ddbe52ca8b5a9183cf763611b95481f98f363879
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.11.19 {"installer":{"name":"uv","version":"0.11.19","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Security for iscc-schema 0.8.0
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.