Skip to content

site.yaml schema ​

Validated by pydantic models in python/src/spatialscape/site.py. Unknown keys are errors. config: and bundle: paths are resolved relative to the yaml. spatialscape site init writes a commented starter; spatialscape site build site.yaml turns it into datasets.json (see The gallery).

Top level ​

KeyTypeDefaultNotes
titlestringspatialscapegallery heading
introstringone or two sentences under the title
nav{title, logo, links: [{label, url}]}the bar above the viewer and gallery; omit for no chrome
data_urlURLbundles are hosted at <data_url>/<id>; nothing is copied into the site
datasetslist of cardsrequiredin gallery order

Cards ​

Exactly one of config, bundle or id per card.

KeyTypeNotes
configpatha dataset yaml; site build runs build on it (into bundles/<id> next to it) and places the result
bundlepathan already built bundle directory
idstringa placeholder card; needs name
namestringcard title; default: the dataset's name
descriptionstringcard text; default: the dataset's description
platformslistplaceholders only (visium, visium_hd, xenium, merfish, snrnaseq)
statuslive, local, coming soonbadge; default live, placeholders coming soon
paper{title, url}
tagslist of strings
accent#hexcolor of the generated art when there is no thumbnail
thumbnailURLdefault <bundle>/thumbnail.png

Output ​

datasets.json next to the viewer: { title, intro?, site?: nav, datasets: [...] }, each dataset with id, name, description, platforms, samples, cells, genes, url, status and the optional keys above. Every key the viewer reads is always present, so a hand-written entry is never needed.

MIT licensed.