SCHEMATIC is an acronym for Schema Engine for Manifest Ingress and Curation. The Python based infrastructure provides a novel schema-based, data ingress ecosystem, that is meant to streamline the process of dataset annotation, metadata validation and submission to an asset store (e.g., Synapse) for various data contributors.
- Python 3.7.1 or higher
Note: You need to be a registered and certified user on synapse.org
, and also have the right permissions to download the Google credentials files from Synapse.
- Clone of the ncihtan/data-models repository
git clone https://github.com/ncihtan/data-models.git
Configure the config.yml file in the data-models
directory appropriately. All paths in config.yml
are specified relative to the config.yml
file.
Create and activate a virtual environment within which you can install the package:
python -m venv .venv
source .venv/bin/activate
Install and update the package using pip:
python -m pip install schematicpy
schematic init --config ~/path/to/config.yml # initialize mode of authentication
schematic manifest --config ~/path/to/config.yml get # generate manifest based on data type
schematic manifest --config ~/path/to/config.yml validate # validate manifest
schematic model --config ~/path/to/config.yml submit # validate and submit manifest
Interested in contributing? Awesome! We follow the typical GitHub workflow of forking a repo, creating a branch, and opening pull requests. For more information on how you can add or propose a change, visit our contributing guide. To start contributing to the package, you can refer to the Getting Started section in our contributing guide.
Active contributors and maintainers: