A lightweight container based on Alpine Linux, embedding the LinkML and SchemaSheets frameworks for schema authoring, data validation, and conversion in containerized environments.
This container image is automatically built and pushed as a multi-architecture image (linux/amd64, linux/arm64) through GitHub Actions.
-
Docker Image:
evoratools/schemasheets
-
Image Tags on dockerhub: Available Tags
- Release Tags: Follow the SchemaSheets version, ensuring compatibility with the corresponding release from the official SchemaSheets repository.
- The
latest
Tag: Always points to the highest available SchemaSheets version. - EVORA Tags: Custom versions tailored for the EVORA project, integrating some LinkML updates before their official merge (e.g., linkml PR #2519). Source code is available from the EVORA fork of LinkML: EVORA-project/linkml.
The container includes LinkML and SchemaSheets official pip packages, enabling users to:
- Author schemas in YAML
- Work with and validate data formats (JSON, RDF, TSV, OWL, ...)
- Generate schema specifications from spreadsheets (Google Sheets, Excel)
To check the installed LinkML version in the container simply use the linkml command from the container
docker run --rm evoratools/schemasheets:latest linkml --version
Running the container without arguments displays help information, including available commands:
docker run --rm -u $(id -u):$(id -g) -v $(pwd):/workdir evoratools/schemasheets
--rm
: Automatically removes the container when it stops.-u
: Ensures container processes match your user ID for proper file permissions.-v
: Mounts your working directory at/workdir
inside the container.
The container follows best practices by running with a non-root user.
docker run --rm -v $(pwd):/workdir -u $(id -u):$(id -g) evoratools/schemasheets:0.3.1 \
sheets2linkml --gsheet-id {YOUR_GSHEET_ID} \
--name {YOUR_SCHEMA_NAME} \
{SHEET1_NAME} {SHEET2_NAME} ... \
-o {RELATIVE_PATH_TO_SCHEMA.yaml}
docker run --rm -v $(pwd):/workdir -u $(id -u):$(id -g) evoratools/schemasheets:0.3.1 \
linkml generate owl \
{PATH_TO_SCHEMA.yaml} \
> {OUTPUT_OWL_FILE.owl.ttl}
Built for multiple architectures: linux/amd64
, linux/arm64
.
Explore available tags here: DockerHub Tags.
This container image and the content of this repository are licensed under the MIT License.
You are free to use, modify, and distribute this project as permitted under the terms of the license.
For embedded programs like LinkML and SchemaSheets, please refer to their respective repositories for licensing details: