Skip to content

dandi/dandi-schema

Repository files navigation

DANDI Schema

dandi-schema is a Python library for maintaining and managing DANDI metadata schemata.

Installation

pip install dandischema

Description

Every Dandiset and associated asset has a metadata object that can be retrieved using the DANDI API. This library helps create and validate DANDI schema-compliant metadata for Dandisets and assets. It uses Pydantic to implement all the metadata classes. Schemas are generated on schema modifications and placed into this repository.

dandi-schema generates JSON schema definitions and also an associated context.json file for JSON-LD compliance of the metadata models.

Important files in this repository include:

  • models.py - contains the models
  • metadata.py - contains functions for validating, migrating, and aggregating metadata
  • datacite.py - converts the Dandiset metadata to a Datacite metadata structure

The generated JSON schemas can be used together with VJSF to create a UI for metadata modification. The DANDI Web app uses this to modify Dandiset metadata.

Resources