fairscape-cli¶
A utility for packaging objects and validating metadata for FAIRSCAPE.
Features¶
fairscape-cli provides a Command Line Interface (CLI) that allows the client side to create, manage, and publish scientific data packages:
- RO-Crate Management: Create and manipulate RO-Crate packages locally.
- Initialize RO-Crates in new or existing directories.
- Add data, software, and computation metadata.
- Copy files into the crate structure alongside metadata registration.
- Schema Handling: Define, infer, and validate data schemas (Tabular, HDF5).
- Create schema definition files.
- Add properties with constraints.
- Infer schemas directly from data files.
- Register schemas within RO-Crates.
- Data Import: Fetch data from external sources and convert them into RO-Crates.
- Import NCBI BioProjects.
- Convert Portable Encapsulated Projects (PEPs) to RO-Crates.
- Build Artifacts: Generate derived outputs from RO-Crates.
- Create detailed HTML datasheets summarizing crate contents.
- Generate provenance evidence graphs (JSON and HTML).
- Release Management: Organize multiple related RO-Crates into a cohesive release package.
- Initialize a release structure.
- Automatically link sub-crates and propagate metadata.
- Build a top-level datasheet for the release.
- Publishing: Publish RO-Crate metadata to external repositories.
- Upload RO-Crate directories or zip files to Fairscape.
- Create datasets on Dataverse instances.
- Mint or update DOIs on DataCite.
Requirements¶
Python 3.8+
Installation¶
pip install fairscape-cli
Command Overview¶
The CLI is organized into several top-level commands:
Command | Description |
---|---|
rocrate | Core local RO-Crate manipulation (create, add files/metadata). |
schema | Operations on data schemas (create, infer, add properties, add to crate). |
validate | Validate data against schemas. |
import | Fetch external data into RO-Crate format (e.g., bioproject, pep). |
build | Generate outputs from RO-Crates (e.g., datasheet, evidence-graph). |
release | Manage multi-part RO-Crate releases (e.g., create, build). |
publish | Publish RO-Crates to repositories (e.g., fairscape, dataverse, doi). |
Use --help
for details on any command or subcommand:
fairscape-cli --help
fairscape-cli rocrate --help
fairscape-cli rocrate create --help
fairscape-cli schema create-tabular --help
Learn More¶
For more detailed examples and a complete workflow demonstration, see the Complete Workflow Demo.