Skip to main content

ISCC - Schema

Tests Python License Ask DeepWiki

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)

Source distribution for iscc-schema 0.8.0
File Size Uploaded
iscc_schema-0.8.0.tar.gz 511.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for iscc-schema 0.8.0
File Interpreter ABI Platform
iscc_schema-0.8.0-py3-none-any.whl Python 3 none any Details

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}

Release history Release notifications | RSS feed

This release

0.8.0 This release

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

0.4.1

2 release files

0.4.0

2 release files

0.3.9

2 release files

0.3.8

2 release files

0.3.7

2 release files

0.3.6

1 release file

0.3.5

1 release file

0.3.4

1 release file

0.3.3

1 release file

0.3.2

1 release file

0.3.1

1 release file

0.3.0

2 release files

0.2.1

2 release files

0.2.0

2 release files

0.1.0

1 release file

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