Installation
Quick start (registry + data access)
pip install bolerodata
This is enough to browse the registry and auto-download shared data from HuggingFace:
import bolerodata
from bolerodata import DATASETS, MODELS, metadata
metadata.DATASET_METADATA # works offline; ships in the package
DATASETS["HumanBrainDev"].cell_metadata # downloads from HuggingFace on first use
Core dependencies are intentionally light: anndata, pandas, joblib, numpy,
plus huggingface_hub and platformdirs for downloading/caching.
What each capability needs
| You want to… | Install |
|---|---|
| Browse the registry, download curated data | pip install bolerodata |
Build & run a model predictor, resolve a Genome |
bolerodata + bolero (brings torch + GPU stack) |
Differential-accessibility analysis (bolerodata.diff_analysis) |
pip install 'bolerodata[diff]' + bolero |
torch and bolero are not declared as dependencies:
torchis imported lazily (only for GPU batch-sizing / building predictors), soimport bolerodataworks without it.bolerois the companion package (it depends onbolerodata, so declaring it here would be circular). Install it separately when you need modelling features.
The diff extra adds the bioinformatics stack used only by diff_analysis
(pyBigWig, pyranges, pysam). If you import diff_analysis without it, you
get a clear message telling you to pip install 'bolerodata[diff]'.
Developing bolerodata
The repo uses pixi (lean — no GPU stack):
git clone https://github.com/liuhlab/bolerodata.git
cd bolerodata
pixi install # runtime env
pixi install -e dev # + tests + lint (pytest, pre-commit)
pixi install -e diff # + differential-analysis deps
pixi install -e docs # + mkdocs
Common tasks:
pixi run -e dev test # pytest
pixi run -e dev lint # pre-commit (ruff)
pixi run -e docs docs-serve # live docs preview
Lab / author mode
If you are on the lab filesystem (the data lake exists at $STANDARD_DIR), files
resolve directly from disk and nothing is downloaded — behaviour is unchanged
from before the HuggingFace layer existed. See
Data setup & caching.