The home of the NMDC submission schema. Not the home of sheets_and_friends. In development: GH pages hosted NMDC DataHarmonizer interface.
Note that the while this repo is named submission-schema
, the generated artifacts are named nmdc_submission_schema
for disambiguation purposes when publishing to PyPI.
- examples/ - example data
- project/ - project files (do not edit these)
- src/ - source files (edit these)
- nmdc_submission_schema
- schema -- LinkML schema (edit this)
- nmdc_submission_schema
- datamodel -- Generated python datamodel
- tests - python tests
Here's how you can update the submission schema to use a new version of nmdc-schema
:
-
Update the one occurrence of the
nmdc-schema
version number inproject.Makefile
:local/nmdc.yaml: - wget -O $@ https://raw.githubusercontent.com/microbiomedata/nmdc-schema/v11.0.1/nmdc_schema/nmdc_materialized_patterns.yaml + wget -O $@ https://raw.githubusercontent.com/microbiomedata/nmdc-schema/v11.1.0/nmdc_schema/nmdc_materialized_patterns.yaml
-
Update all the
nmdc-schema
version numbers insheets_and_friends/tsv_in/import_slots_regardless.tsv
- Biosample https://raw.githubusercontent.com/microbiomedata/nmdc-schema/v11.0.1/nmdc_schema/nmdc_materialized_patterns.yaml abs_air_humidity ... + Biosample https://raw.githubusercontent.com/microbiomedata/nmdc-schema/v11.1.0/nmdc_schema/nmdc_materialized_patterns.yaml abs_air_humidity ...
That is one of the many occurrences in that file.
Note: The above search-and-replacement (of all occurrences in that file) can be done inside Vim via:
:%s/nmdc-schema\/v11.0.1/nmdc-schema\/v11.1.0/g
Here's how you can generate the submission schema release artifacts:
- Docker is installed on your computer
- You are in the root directory of the repository
- Build the container image you will later use to build the submission schema:
docker build -t submission-schema-builder -f builder.Dockerfile .
- Use that container image to build the submission schema:
docker run --rm -it -v ${PWD}:/submission-schema submission-schema-builder
- (Optional) Delete the container image:
docker image rm submission-schema-builder
yq
is installed on your computer, such that the following command shows a version number instead of an error message.Ifbash -c 'yq --version'
yq
is not installed, you can install it by running this, assuming you're using macOS:brew install yq
wget
is installed on your computer, such that the following command shows a version number instead of an error message.Ifbash -c 'wget --version'
wget
is not installed, you can install it by running this, assuming you're using macOS:brew install wget
- Install Python dependencies:
poetry shell poetry install
- Generate the release artefacts:
make all
- Commit the changes, using the new
nmdc-schema
version number as the commit message; like this:git add . git commit -m "11.1.0"
this project was made with linkml-project-cookiecutter