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.