A Python package to validate RO-Crates.
- Supports CLI-based validation as well as programmatic validation (so it can easily be used by Python code).
- Implements an extensible validation framework to which new RO-Crate profiles can be added. Validation is based on SHACL shapes and Python code.
- Currently, validations for the following profiles are implemented: RO-Crate (base profile), Workflow RO-Crate, Process Run Crate. More are being implemented.
Note: this software is still work in progress. Feel free to try it out, report positive and negative feedback. Do send a note (e.g., by opening an Issue) before starting to develop patches you would like to contribute. The implementation of validation code for additional RO-Crate profiles would be particularly welcome.
You can install the package using pip
or poetry
. The following instructions assume you have Python 3.8 or later installed.
It’s recommended to create a virtual environment before installing the package to avoid dependency conflicts. You can create one using the following command:
python3 -m venv .venv
Then, activate the virtual environment:
- On Unix or macOS:
source .venv/bin/activate
- On Windows (Command Prompt):
.venv\Scripts\activate
- On Windows (PowerShell):
.venv\Scripts\Activate.ps1
You can install the package using pip
:
pip install roc-validator
Clone the repository:
git clone https://github.com/kikkomep/rocrate-validator.git
Navigate to the project directory:
cd rocrate-validator
Ensure you have Poetry installed. If not, follow the instructions here. Then, install the package using poetry
:
poetry install
After installation, use the rocrate-validator
command to validate RO-Crates. You can run this in a virtual activated environment (if created in the optional step above) or without a virtual environment if none was created.
Run the validator using the following command:
rocrate-validator validate <path_to_rocrate>
where <path_to_rocrate>
is the path to the RO-Crate you want to validate.
Type rocrate-validator --help
for more information.
Run the validator using the following command:
poetry run rocrate-validator validate <path_to_rocrate>
where <path_to_rocrate>
is the path to the RO-Crate you want to validate.
Type rocrate-validator --help
for more information.
To run the tests, use the following command:
poetry run pytest
This project is licensed under the terms of the Apache License 2.0. See the LICENSE file for details.
This work has been partially funded by the following sources: