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.7.0.tar.gz (491.1 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.7.0-py3-none-any.whl (63.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: iscc_schema-0.7.0.tar.gz
  • Upload date:
  • Size: 491.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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.7.0.tar.gz
Algorithm Hash digest
SHA256 66fe797f91f434c363f965d7cd5d8a4ef8950590a625dbab135d2fda789eccad
MD5 cfc27a7e1ef06bf1fae8f771e191f18e
BLAKE2b-256 c622b56b7aff85260b7ae2c7c0b1c2442af15eabee22b8b0536fad98726f0ffe

See more details on using hashes here.

File details

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

File metadata

  • Download URL: iscc_schema-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 63.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.11.17 {"installer":{"name":"uv","version":"0.11.17","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.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 4fb348385ee8af6a5fdb51704a0b28e6289173530fe86051a7c1f077e76ded81
MD5 6df8c96f1a68e6d25aefff3c3a161de1
BLAKE2b-256 d599e27db80d66845a58ad6edb9fe35dd1412f1776c064703506e17599aac844

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