tiledbsoma
Python API for efficient storage and retrieval of single-cell data using TileDB
What it is and what it does
TileDB-SOMA provides a Python API for the Unified Single-cell Data Model (SOMA), an open standard for organizing and accessing single-cell genomic data. It uses TileDB, a columnar array storage engine, as its backend to enable efficient storage and retrieval of large single-cell datasets. The package implements the full SOMA specification, allowing researchers and bioinformaticians to work with standardized single-cell data formats across different tools and platforms.
The package integrates with the popular single-cell Python ecosystem—it depends on anndata, scanpy, pandas, numpy, and pyarrow—making it a bridge between TileDB's storage capabilities and existing bioinformatics workflows. It supports platform-specific configuration through a TypeScript-style interface, allowing fine-grained control over TileDB storage parameters like filters, cell order, and capacity settings.
Use it for:
- Store and query large single-cell RNA-seq datasets in a standardized, interoperable format using TileDB's efficient columnar storage.
- Integrate single-cell data workflows with tools like scanpy and anndata while maintaining SOMA compliance across different analysis pipelines.
- Configure TileDB-specific storage options (filters, dimensions, compression) for optimized performance on custom single-cell datasets.
- Access single-cell data through a standardized API that abstracts away storage backend details, enabling portability between implementations.
- Build reproducible bioinformatics pipelines that rely on a unified data model for single-cell genomics across multiple research groups.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
TileDB-SOMA is a Python implementation of the SOMA API specification for storing and retrieving single-cell genomic data using TileDB as the underlying storage engine.
Yes, if you work with single-cell genomic data and need standardized, efficient storage. The package is actively maintained, supports modern Python versions (3.9–3.13), has no known vulnerabilities, and integrates well with the established scanpy and anndata ecosystem. Medium install friction is manageable for most development environments. Not necessary if you are already satisfied with your current single-cell data storage and don't require SOMA compliance or TileDB's specific performance characteristics.
Install
tiledbsoma on PyPI
pip
pip install tiledbsomauv
uv add tiledbsomapoetry
poetry add tiledbsomaInstalling tiledbsoma
Before you install
Medium install friction due to compiled binary wheels for multiple Python versions and architectures. Active maintenance with recent releases. Requires 10 runtime dependencies including numpy, pandas, pyarrow, and scanpy. Pre-built wheels available for macOS and Linux; source installation may be needed on older processors lacking AVX2 support.
License in practice
MIT license permits commercial and private use with minimal restrictions, making it suitable for both academic and production environments.
Quickstart
pip install tiledbsoma
import tiledbsoma as soma
# Access SOMA data via TileDB backend with platform_config for TileDB-specific settings
Requires Python 3.9 or later. On older CPU architectures without AVX2 support, source installation from the repository may be necessary instead of using pre-compiled wheels.
Verify before relying
- Whether the package requires a TileDB server or library installation separate from the Python package itself
- Performance characteristics and scalability limits for typical single-cell datasets
- Compatibility with specific versions of scanpy, anndata, or other bioinformatics tools in the dependency chain
Package facts
| License | MIT (permissive) |
| Python support | supports the current Python release (>=3.9) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 10 — anndata, attrs, more-itertools, numpy, pandas, pyarrow, scanpy, scipy, somacore, typing-extensions |
| Maintenance | actively maintained — 199 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 100,806/month — #12,973 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: tiledbsoma-2.3.0-cp310-cp310-macosx_13_0_arm64.whl; tiledbsoma-2.3.0-cp310-cp310-macosx_13_0_x86_64.whl; tiledbsoma-2.3.0-cp310-cp310-manylinux_2_28_aarch64.whl; tiledbsoma-2.3.0-cp310-cp310-manylinux_2_28_x86_64.whl; tiledbsoma-2.3.0-cp311-cp311-macosx_13_0_arm64.whl; tiledbsoma-2.3.0-cp311-cp311-macosx_13_0_x86_64.whl; tiledbsoma-2.3.0-cp311-cp311-manylinux_2_28_aarch64.whl; tiledbsoma-2.3.0-cp311-cp311-manylinux_2_28_x86_64.whl; tiledbsoma-2.3.0-cp312-cp312-macosx_13_0_arm64.whl; tiledbsoma-2.3.0-cp312-cp312-macosx_13_0_x86_64.whl; tiledbsoma-2.3.0-cp312-cp312-manylinux_2_28_aarch64.whl; tiledbsoma-2.3.0-cp312-cp312-manylinux_2_28_x86_64.whl; tiledbsoma-2.3.0-cp313-cp313-macosx_13_0_arm64.whl; tiledbsoma-2.3.0-cp313-cp313-macosx_13_0_x86_64.whl; tiledbsoma-2.3.0-cp313-cp313-manylinux_2_28_aarch64.whl; tiledbsoma-2.3.0-cp313-cp313-manylinux_2_28_x86_64.whl; tiledbsoma-2.3.0-cp39-cp39-macosx_13_0_arm64.whl; tiledbsoma-2.3.0-cp39-cp39-macosx_13_0_x86_64.whl; tiledbsoma-2.3.0-cp39-cp39-manylinux_2_28_aarch64.whl; tiledbsoma-2.3.0-cp39-cp39-manylinux_2_28_x86_64.whl
Tags
More Bio-Informatics packages
NetworkX provides data structures and…
permissive · top 1,000 on PyPI
biopythonBiopython provides Python tools for…
unclear · top 5,000 on PyPI
firecrawl-pyClient library for the Firecrawl API that…
permissive · top 5,000 on PyPI
intervaltreeA self-balancing interval tree data structure…
permissive · top 5,000 on PyPI
albumentationsAlbumentations applies image transformations to…
permissive · top 5,000 on PyPI
PubChemPyPubChemPy is a Python wrapper around the…
permissive · top 5,000 on PyPI
cellxgene-censusProvides a Python API to query and retrieve…
permissive · top 15,000 on PyPI
somacoreProvides the Python reference implementation of…
permissive · top 15,000 on PyPI
tiledbTileDB-Py provides a Python interface to the…
permissive · top 15,000 on PyPI
mudataMuData is a container for multimodal omics data…
permissive · top 15,000 on PyPI
scvi-toolsscvi-tools provides probabilistic models for…
permissive · top 15,000 on PyPI
scanpyScanpy is a toolkit for preprocessing,…
permissive · top 5,000 on PyPI
anndataanndata handles annotated data matrices in…
permissive · top 5,000 on PyPI
pyrangesPyRanges provides efficient querying and…
permissive · top 15,000 on PyPI
latchLatch SDK is a framework for building,…
unclear · top 15,000 on PyPI
biocommons.seqrepoSeqRepo stores and retrieves biological…
permissive · top 15,000 on PyPI