Reusable Python helpers for semantic benchmark descriptions, aggregate RO-Crate creation, and RoHub provenance workflows.
pip install semantic-benchmarkInstall optional features with extras:
pip install "semantic-benchmark[rocrate]"
pip install "semantic-benchmark[rohub]"
pip install "semantic-benchmark[all]"To install the latest unreleased version directly from GitHub:
pip install "semantic-benchmark[all] @ git+https://github.com/Simulation-Benchmarks/semantic-benchmark.git"semantic_benchmark.semantics: dataclasses andBenchmarkLoaderfor JSON-LD benchmark descriptions.semantic_benchmark.rohub: RoHub configuration, upload, download, annotation, and query helpers.semantic_benchmark.rocrate: aggregate RO-Crate creation and validation helpers.
semantic_benchmark.semantics is available from the base installation.
semantic_benchmark.rocrate requires the rocrate extra.
semantic_benchmark.rohub requires the rohub extra.
The root semantic_benchmark package re-exports the semantic classes for backwards compatibility.
The legacy semantic_benchmark.semantic module also remains as a compatibility shim.
Loaded numerical variables and parameters expose both unit (the original
JSON-LD value) and unit_iri (the full IRI expanded through the document's
namespace bindings). Consumers should use unit_iri when creating links.
semantic_benchmark.rohub.download_benchmark_resources(...) downloads the
software source code and annotation collection resources from a RoHub research
object. The package also exposes the download-semantic-benchmark CLI.
semantic_benchmark.rocrate.create_main_ro(...) can validate the generated
aggregate crate by passing validation_profile. The package writes the RO-Crate
zip, unpacks it to a validation directory, and runs validate_rocrate(...).
Repository-specific projects can override the packaged RoHub defaults with:
import semantic_benchmark.rohub as rohub
rohub.configure_repository_settings(
rohub_config={...},
)