py-brain-sdk is a Python library that simplifies interaction with the Brain Image Library (BIL), a national public resource for neuroscience research. BIL provides access to petabyte-scale brain microscopy datasets, including whole and partial brain images, neuron morphologies, connectivity data, and spatial transcriptomics. This SDK enables researchers, data scientists, and developers to programmatically query, download, and analyze BIL datasets, leveraging its APIs and integrated analysis ecosystem.
With py-brain-sdk, you can
- Search and retrieve brain imaging datasets and metadata.
- Query datasets by ID, directory path, contributor affiliation, or free-text search.
- Look up DOI metadata and citation counts from DataCite, OpenCitations, Crossref, and Semantic Scholar.
- Browse BIL collections and enumerate their constituent datasets.
- Download specific image files or subsets of large datasets.
pip install brainimagelibraryfrom brainimagelibrary import retrieve, query
# By BIL dataset ID
metadata = retrieve.by_id(bildid="act-bag")
# By directory path
metadata = retrieve.by_directory(directory="/bil/data/2019/02/13/H19.28.012.MITU.01.05")
# Full-text search
results = query.by_text("mouse cortex")
# By contributor affiliation
results = retrieve.by_affiliation("Carnegie Mellon University")import brainimagelibrary as bil
bildids = bil.get_all_bildids()
print(f"Total datasets: {len(bildids)}")from brainimagelibrary import datecite
# Check if a dataset has a registered DOI
datecite.dataset.exists(bildid="act-bag")
# Get DataCite metadata
metadata = datecite.dataset.get(bildid="act-bag")
# Get citation counts from DataCite, OpenCitations, Crossref, and Semantic Scholar
citations = datecite.dataset.get_number_of_citations(bildid="act-bag")
# {‘datacite’: 2, ‘opencitations’: 1, ‘crossref’: 0, ‘semanticscholar’: 3}
# Get full citation records from all sources
records = datecite.dataset.get_citations(bildid="act-bag")from brainimagelibrary import datecite
# List all datasets in a collection
datasets = datecite.collection.get_datasets(bildid="g.19")
for entry in datasets:
print(entry["bildid"], entry["url"])Copyright © 2020-2026 Pittsburgh Supercomputing Center. All Rights Reserved.
The Biomedical Applications Group at the Pittsburgh Supercomputing Center in the Mellon College of Science at Carnegie Mellon University.