Skip to content

microbiomedata/submission-schema

Repository files navigation

submission-schema

The NMDC submission schema.

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.

Website

Repository Structure

Developer Documentation

Updating the submission schema

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:

uv add --group dev "nmdc-schema==X.Y.Z"  # replace X.Y.Z with the desired version

Note

It is important to use the == version constraint to ensure the exact version is installed.

Building the submission schema

Here's how you can generate the submission schema release artifacts:

Container-based process

Prerequisites
  • Docker is installed on your computer
  • You are in the root directory of the repository
Procedure
  1. Build the container image you will later use to build the submission schema:
    docker build -t submission-schema-builder -f builder.Dockerfile .
  2. If you haven't already done so (see the "Updating the submission schema" section above), use that container image to update the nmdc-schema dependency of the submission schema:
    docker run --rm -it -v ${PWD}:/submission-schema submission-schema-builder \
        uv add --group dev "nmdc-schema==X.Y.Z"  # replace X.Y.Z
    Then, rebuild the container image (so it has that new version of nmdc-schema installed):
    docker build -t submission-schema-builder -f builder.Dockerfile .
  3. Use the container image to build the submission schema:
    docker run --rm -it -v ${PWD}:/submission-schema submission-schema-builder
  4. Commit the changes, using the new nmdc-schema version number as the commit message; like this:
    git add .
    git commit -m "X.Y.Z"  # replace X.Y.Z with the nmdc-schema version
  5. (Optional) Delete the container image:
    docker image rm submission-schema-builder

Direct process

Procedure
  1. Install Python dependencies:
    uv sync
  2. Generate the release artifacts:
    make clean all
  3. Commit the changes, using the new nmdc-schema version number as the commit message; like this:
    git add .
    git commit -m "X.Y.Z"  # replace X.Y.Z with the nmdc-schema version

Credits

this project was made with linkml-project-cookiecutter

About

The NMDC submission schema

Resources

License

Code of conduct

Contributing

Stars

1 star

Watchers

5 watching

Forks

Packages

 
 
 

Contributors