labretriever
A Python package for querying and managing genomic and transcriptomic datasets hosted on HuggingFace Hub. It provides a unified SQL interface (via DuckDB) across heterogeneous datasets, with local caching and structured metadata exploration.
See the documentation for full usage guides and API reference. The BrentLab yeast resources collection is an example of datasets designed to work with this package.
Installation
Install the latest release from PyPI:
pip install labretriever
To get the most recent changes ahead of a PyPI release, install directly from the main branch on GitHub:
pip install git+https://github.com/cmatKhan/labretriever.git@main
Set your HuggingFace token if accessing private datasets:
export HF_TOKEN=your_token_here
Usage
from labretriever import VirtualDB
vdb = VirtualDB("config.yaml")
# Discover available views
vdb.tables()
vdb.describe("harbison")
# Query with SQL
df = vdb.query("SELECT * FROM harbison_meta WHERE carbon_source = $cs", cs="glucose")
VirtualDB loads datasets from HuggingFace (caching locally), constructs DuckDB
views over Parquet files, and exposes metadata and full-data views for SQL
querying. See the docs for how to write a config.yaml and structure your
HuggingFace dataset cards.
Development
git clone https://github.com/cmatKhan/labretriever
cd labretriever
poetry install
poetry run pre-commit install
poetry run pytest
Release files for labretriever 1.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| labretriever-1.1.3.tar.gz | 122.6 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| labretriever-1.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size:258.1 kB
Release files / labretriever-1.1.3.tar.gz
| Download URL | labretriever-1.1.3.tar.gz |
|---|---|
| Size | 122.6 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
6ee7aba735f6db9dfc4f25c6c7f46958e543602414772bec4978c5272111db31
|
|
BLAKE2b-256 checksum How to use checksums |
39b1a9b0598f2bff77b00f65de18b865c638c0e754d8996e95f35a17bcf9ad0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency logRelease files / labretriever-1.1.3-py3-none-any.whl
| Download URL | labretriever-1.1.3-py3-none-any.whl |
|---|---|
| Size | 135.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
79c394e615a911eb3f1e70f0eeb9447dc8a99c4089038d2e1435080635e6ea11
|
|
BLAKE2b-256 checksum How to use checksums |
0a03ab053cadbdada84cecd20e7ac985ba9b7179b80ca52250be39a455a34307
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Jun 16, 2026.
Transparency log