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
The version of nmdc-schema
used as a basis when building the submission schema is controlled by a dependency in the dev
group, specified in pyproject.toml
. You can update the version used by running:
poetry add nmdc-schema==X.Y.Z --group dev # replace X.Y.Z with the desired version
Note
It is important to use the ==
version constraint to ensure the exact version is installed.
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