Skip to content

copick config mlcroissant

core

Set up a configuration file from an mlcroissant manifest.

Usage

copick config mlcroissant [OPTIONS]

Description

Generates an mlcroissant copick configuration that reads a project through a Croissant metadata.json (the manifest plus its CSV sidecars). The Croissant may live locally or behind any fsspec URL (https://, s3://, ssh://, …).

The command supports two operational modes. In Mode A (default), omit --overlay and writes go straight to the Croissant's copick:baseUrl — use this when the base URL is writable. In Mode B, pass --overlay pointing at a writable location so a read-only published Croissant can be annotated locally without mutating it. The --*-fs-args options accept JSON objects of fsspec kwargs for the overlay, the data base URL, and the manifest fetch respectively (e.g. SSH credentials). Use --base-url to override a moved dataset's copick:baseUrl.

Options

Option Type Default Description
--croissant-url text required URL or path to the Croissant metadata.json.
--overlay text Optional writable overlay (Mode B). Accepts any fsspec URL (e.g. 'ssh:///remote/overlay', 's3://bucket/overlay') or a bare local path. If omitted, the Croissant's copick:baseUrl is used as the write location (Mode A).
--overlay-fs-args text JSON object of fsspec kwargs for --overlay (e.g. '{"host":"localhost","port":2222}'). Local overlays add 'auto_mkdir=true' automatically unless overridden.
--static-fs-args text JSON object of fsspec kwargs for resolving data URLs against the Croissant's base URL (e.g. SSH credentials for overlay data).
--croissant-fs-args text JSON object of fsspec kwargs for fetching the Croissant manifest itself (typically empty when --croissant-url is local).
--base-url text Optional override for the Croissant's copick:baseUrl (for moved datasets).
--output file required Path to save the generated copick configuration file.
--debug / --no-debug boolean flag False Enable debug logging.

Examples

# Mode A: read/write a local self-contained Croissant
copick config mlcroissant \
    --croissant-url path/to/project/Croissant/metadata.json \
    --output config.json

# Mode B: published Croissant with a writable local overlay
copick config mlcroissant \
    --croissant-url https://data.example.org/project/Croissant/metadata.json \
    --overlay /tmp/my_local_overlay \
    --output config.json

# Remote overlay over SSH with fsspec credentials
copick config mlcroissant \
    --croissant-url https://data.example.org/project/Croissant/metadata.json \
    --overlay 'ssh:///remote/overlay' \
    --overlay-fs-args '{"host":"localhost","port":2222}' \
    --output config.json

See also