-
Notifications
You must be signed in to change notification settings - Fork 11
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #152 from dandi/readme-schema
Edit dandi-schema readme
- Loading branch information
Showing
1 changed file
with
22 additions
and
11 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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]. |