Release Commands¶
This document provides detailed information about the release commands available in fairscape-cli.
Overview¶
The release command group provides operations for creating and managing release packages that combine multiple RO-Crates. This allows you to organize related RO-Crates into a cohesive collection with unified metadata and documentation.
fairscape-cli release [COMMAND] [OPTIONS]
Available Commands¶
build- Build a release RO-Crate from a directory containing multiple RO-Crates
Command Details¶
build¶
Build a release RO-Crate in a directory, scanning for and linking existing sub-RO-Crates. This creates a parent RO-Crate that references and contextualizes the sub-crates.
fairscape-cli release build [OPTIONS] RELEASE_DIRECTORY
Arguments:
RELEASE_DIRECTORY- Directory where the release RO-Crate will be built [required]
Options:
--guid TEXT- GUID for the parent release RO-Crate (generated if not provided)--name TEXT- Name for the parent release RO-Crate [required]--organization-name TEXT- Organization name associated with the release [required]--project-name TEXT- Project name associated with the release [required]--description TEXT- Description of the release RO-Crate [required]--keywords TEXT- Keywords for the release RO-Crate (can be used multiple times) [required]--license TEXT- License URL for the release (default: "https://creativecommons.org/licenses/by/4.0/")--date-published TEXT- Publication date (ISO format, defaults to current date)--author TEXT- Author(s) of the release (defaults to combined authors from subcrates)--version TEXT- Version of the release (default: "1.0")--associated-publication TEXT- Associated publications for the release (can be used multiple times)--conditions-of-access TEXT- Conditions of access for the release--copyright-notice TEXT- Copyright notice for the release--doi TEXT- DOI identifier for the release--publisher TEXT- Publisher of the release--principal-investigator TEXT- Principal investigator for the release--contact-email TEXT- Contact email for the release--confidentiality-level TEXT- Confidentiality level for the release--citation TEXT- Citation for the release--funder TEXT- Funder of the release--usage-info TEXT- Usage information for the release--content-size TEXT- Content size of the release--completeness TEXT- Completeness information for the release--maintenance-plan TEXT- Maintenance plan for the release--intended-use TEXT- Intended use of the release--limitations TEXT- Limitations of the release--prohibited-uses TEXT- Prohibited uses of the release--potential-sources-of-bias TEXT- Potential sources of bias in the release--human-subject TEXT- Human subject involvement information--ethical-review TEXT- Ethical review information--additional-properties TEXT- JSON string with additional property values--custom-properties TEXT- JSON string with additional properties for the parent crate
Example:
fairscape-cli release build ./my_release \
--guid "ark:59852/example-release-2023" \
--name "SRA Genomic Data Example Release - 2023" \
--organization-name "Example Research Institute" \
--project-name "Genomic Data Analysis Project" \
--description "This dataset contains genomic data from multiple sources prepared as AI-ready datasets in RO-Crate format." \
--keywords "Genomics" \
--keywords "SRA" \
--keywords "RNA-seq" \
--license "https://creativecommons.org/licenses/by/4.0/" \
--publisher "University Example Dataverse" \
--principal-investigator "Dr. Example PI" \
--contact-email "example@example.org" \
--confidentiality-level "HL7 Unrestricted" \
--funder "Example Agency" \
--citation "Example Research Institute (2023). Genomic Data Example Release."
This command:
- Creates a new parent RO-Crate in the specified directory
- Scans the directory for existing RO-Crates to include as subcrates
- Links the subcrates to the parent crate
- Combines metadata from subcrates and the provided options
- Outputs the ARK identifier of the created release RO-Crate
Release Workflow¶
A typical release workflow involves:
- Create individual RO-Crates for specific datasets, software, and computations
- Place these RO-Crates in a common directory structure
- Build a release using the
release buildcommand to create a parent RO-Crate - Generate a datasheet using the
build datasheetcommand - Publish the release using the
publishcommands
The parent release RO-Crate provides context and relationships between the individual RO-Crates, making it easier to understand and work with complex datasets that span multiple files, processes, and research objects.
Metadata Inheritance¶
When building a release, metadata is handled in the following ways:
- Author information is combined from all subcrates unless explicitly provided
- Keywords include both the specified keywords and those from subcrates
- Version defaults to "1.0" unless specified
- License defaults to CC-BY 4.0 unless specified
- Publication date defaults to the current date unless specified
All other metadata must be explicitly provided through the command options.