Skip to content

Small Alpine Linux container embedding schemasheets and LinkML

License

Notifications You must be signed in to change notification settings

EVORA-project/schemasheets

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Docker Pulls Docker Image Size Docker build Docker Stars Github Stars Github forks Github open issues Github closed issues GitHub license

SchemaSheets Container (evoratools/schemasheets)

A lightweight container based on Alpine Linux, embedding the LinkML and SchemaSheets frameworks for schema authoring, data validation, and conversion in containerized environments.


🛠 Image Information

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

    DockerHub Badge

🏷 Image Tag Details

  • 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.

🚀 Usage Overview

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)

Basic Container Usage

Check the LinkML Version embeded in the container

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

To explore available commands and prepare for more advanced usage

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.


🧩 Common Tasks

Generate a LinkML Schema from a Google Sheet

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}

Generate an OWL File from a YAML Schema

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}

📦 Multiarch & Tag Support

Built for multiple architectures: linux/amd64, linux/arm64. Explore available tags here: DockerHub Tags.


GitHub license License

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:


About

Small Alpine Linux container embedding schemasheets and LinkML

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published