Skip to content

Commit

Permalink
Merge pull request #152 from dandi/readme-schema
Browse files Browse the repository at this point in the history
Edit dandi-schema readme
  • Loading branch information
melster1010 authored Dec 9, 2022
2 parents 6e44105 + caa4ef2 commit d34658c
Showing 1 changed file with 22 additions and 11 deletions.
33 changes: 22 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,23 +1,34 @@
A Python library for maintaining and managing DANDI metadata schemata. The
library helps create and validate DANDI schema-compliant metadata for Dandisets
and assets.
# DANDI Schema

To use: `pip install dandischema`
`dandi-schema` is a Python library for maintaining and managing DANDI metadata schemata.

Every Dandiset and associated asset has a metadata object that can be retrieved using
the DANDI API.
## Installation

This library uses [Pydantic](https://github.com/samuelcolvin/pydantic) to implement
`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](https://github.com/samuelcolvin/pydantic) to implement
all the metadata classes. Schemas are generated on schema modifications and placed into
[this repository](https://github.com/dandi/schema/tree/master/releases).

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

- models.py - contains the models and any changes should be made there
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
- datacite.py - converts the `Dandiset` metadata to a Datacite metadata structure

The generated JSON schemas can be used together with
[VJSF](https://koumoul-dev.github.io/vuetify-jsonschema-form/latest/) to create a UI
for metadata modification. The DANDI Web app uses this for Dandiset metadata modification.
for metadata modification. The DANDI Web app uses this to modify `Dandiset` metadata.

## Resources

* To learn how to interact with the DANDI archive,
see [the handbook](https://www.dandiarchive.org/handbook/).
* To file a feature request or bug report, go to https://github.com/dandi/helpdesk/issues/new/choose.
* For all other issues, contact the DANDI team: [email protected].

0 comments on commit d34658c

Please sign in to comment.