Skip to main content

Schemas

COMET publishes machine-readable schemas so software can validate comics data against the standard automatically. Because COMET files are tabular (CSV), the primary schema is a Frictionless Table Schema, which validates a file column-by-column: field names, data types, required columns, and controlled-vocabulary (picklist) values.

A JSON Schema form is also provided as a structural inventory of the standard for JSON/API tooling.

All schemas are generated from the field and picklist definitions in the repository, so they always match the published standard.

Current version​

Version 1.1.10​

SchemaFormatFile
COMET Table SchemaFrictionless Table Schemacomet.table-schema.json
COMET JSON SchemaJSON Schema (draft-07)comet.schema.json

125 fields · 23 always required · 15 fields constrained to picklist values.

Validating a file​

Using the Frictionless framework (Python):

pip install frictionless
from frictionless import Resource, Schema, Detector

schema = Schema.from_descriptor("comet.table-schema.json")
# Real files carry a subset of fields in any order — sync the schema to the header.
resource = Resource("your-file.csv", schema=schema, detector=Detector(schema_sync=True))
report = resource.validate()
print(report.valid)

Or from the repository:

python3 tools/validate_table.py your-file.csv

How versioning works​

Each released version of the standard has a corresponding schema, listed above. When the standard is updated (see the Changelog), a new schema version is generated and added here. Older versions remain available so existing integrations keep working. See Governance for the versioning policy.