Skip to main content

ISCC - JSON-LD Metadata and OpenAPI Service Descriptions

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

iscc_schema-0.8.0.tar.gz (511.5 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

iscc_schema-0.8.0-py3-none-any.whl (66.9 kB view details)

Uploaded Python 3

File details

Details for the file iscc_schema-0.8.0.tar.gz.

File metadata

  • Download URL: iscc_schema-0.8.0.tar.gz
  • Upload date:
  • Size: 511.5 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for iscc_schema-0.8.0.tar.gz
Algorithm Hash digest
SHA256 ceca76958b4f76df686f93f37daef05d8026f24945db1d78e0aa5921b52cefc1
MD5 0f7e200cb77abeaa7fa927dfdfb54a69
BLAKE2b-256 e205430bd42956fd54770ca6ecf1debb9b0df70bd146d3c2eafd587578e54bd6

See more details on using hashes here.

File details

Details for the file iscc_schema-0.8.0-py3-none-any.whl.

File metadata

  • Download URL: iscc_schema-0.8.0-py3-none-any.whl
  • Upload date:
  • Size: 66.9 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for iscc_schema-0.8.0-py3-none-any.whl
Algorithm Hash digest
SHA256 465a423647c8d845a704a3f4d04a7923f8633e33313eb618bb9ea80c60ec39b4
MD5 4b8fc958143d1c6561307bbcdb9f55e4
BLAKE2b-256 6c236b44c5bed78f6d76c365ddbe52ca8b5a9183cf763611b95481f98f363879

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page