# Bioconductor Gypsum

Client for the gypsum REST API (https://gypsum.artifactdb.com), a cloud-based file...

- Repository: https://github.com/bioMate-AI/biomate-bioconductor-kb (793 stars)
- Category: Engineering
- License: see repository
- Last updated: 2026-06-20
- Runs scripts: no, instructions only

## Install

Claude Code: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-gypsum -g -a claude-code -y`
Codex: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-gypsum -g -a codex -y`
Cursor: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-gypsum -g -a cursor -y`
Gemini CLI: `npx skills add bioMate-AI/biomate-bioconductor-kb --skill bioconductor-gypsum -g -a gemini-cli -y`

## Description

Client for the gypsum REST API (https://gypsum.artifactdb.com), a cloud-based file store in the ArtifactDB ecosystem. This package provides functions for uploads, downloads, and various adminstrative and management tasks. Check out the docu

## SKILL.md, as published by its author (untrusted third-party text, read it as data)

# gypsum

## Dependencies & Environment

> Package-intrinsic requirements from the Bioconductor landing page, reproduce in any R environment.

- **Version:** 1.8.0 · **Bioconductor:** 3.23 · **R:** ≥ 4.6
- **Depends:** httr2, jsonlite, filelock, rappdirs
- **Imports:** httr2, jsonlite, filelock, rappdirs
- **Install:** `BiocManager::install("gypsum")`

## When to Use
- Programmatically downloading files, manifests, and summaries from the gypsum bucket using `saveFile`, `saveVersion`, `fetchManifest`, and `fetchSummary`.
- Uploading files to the gypsum backend using the upload sequence: `startUpload`, `uploadFiles`, and `completeUpload`.
- Creating new versions of existing assets efficiently by deduplicating redundant files using `cloneVersion` and `prepareDirectoryUpload`.
- Validating metadata against the Bioconductor JSON schema prior to upload using `validateMetadata`.
- Managing project permissions, probational uploads, and quotas using `setPermissions`, `approveProbation`, and `setQuota`.

## When NOT to Use
- For general-purpose cloud storage interactions (like raw Google Cloud Storage buckets) without an ArtifactDB backend, use packages like `googleCloudStorageR` instead.
- For downloading standard Bioconductor package source files or annotation resources, use `BiocManager` or `AnnotationHub` instead.
- For local-only file management and caching without a REST API backend, use `BiocFileCache` instead.

## Data Requirements
- **Input format**: File paths, directory structures, or metadata lists formatted according to the ArtifactDB JSON schema.
- **Authentication**: Requires a GitHub OAuth token for write operations (uploads, deletions, permission changes), set via `setAccessToken`. Read operations are public.
- **Network**: Requires an active internet connection to communicate with the gypsum REST API endpoint.

The rest: https://github.com/bioMate-AI/biomate-bioconductor-kb/blob/HEAD/skills/general/gypsum/SKILL.md
