skillfed

somacore

Python-language API specification and base utilities for implementation of the SOMA system.

somacore v2.0.0 89.7K downloads/30d#13,639 on PyPI85
Permissive license Active released

What it is and what it does

somacore is the Python reference implementation of the abstract SOMA specification, a standardized format for storing and retrieving single-cell data. It provides base interfaces, shared types, and cross-implementation utilities rather than a complete storage backend. The package is designed primarily for SOMA implementors and libraries that handle SOMA data, not for end users working directly with single-cell datasets.

The package depends on established scientific Python libraries (numpy, pandas, scipy, anndata, pyarrow) and provides the foundational API contracts that concrete SOMA implementations like tiledbsoma build upon. If you are working with SOMA data, the documentation recommends installing a SOMA implementation instead of this core package directly.

Use it for:

  • Building a SOMA backend implementation that needs to conform to the standardized SOMA interface specification.
  • Developing libraries that read or write SOMA-formatted single-cell data and need shared type definitions.
  • Contributing to or extending the SOMA ecosystem with new storage or retrieval mechanisms.

Worth the install?

AI-flagged interpretation of the facts on this page — verify before relying

Provides the Python reference implementation of the SOMA specification—a set of base interfaces, types, and utilities for working with standardized single-cell data storage and retrieval across different backend implementations.

Yes, if you are implementing a SOMA backend or building libraries that work with SOMA data. No, if you are an end user working with single-cell data—install a SOMA implementation like tiledbsoma instead. The package is actively maintained, has no known vulnerabilities, and carries a permissive license, but is explicitly not intended for direct end-user use.

Install

somacore on PyPI

pip

pip install somacore

uv

uv add somacore

poetry

poetry add somacore

Installing somacore

Before you install

Low install friction with a pure-Python wheel and nine well-established dependencies (numpy, pandas, scipy, anndata, pyarrow, and others). Repository is active with recent commits and no security vulnerabilities reported.

License in practice

MIT license (permissive) places no restrictions on use, modification, or distribution in commercial or private projects.

Quickstart

pip install somacore

import somacore
# Access SOMA base interfaces and types for implementing or working with SOMA data

Requires Python 3.9 or later.

Verify before relying

  • Whether this package is intended for direct end-user installation or primarily as a transitive dependency of SOMA implementations like tiledbsoma.
  • Specific use cases beyond implementing SOMA backends or building SOMA-aware libraries.

Package facts

License not declared (permissive)
Python support supports the current Python release (>=3.9)
Install friction low — pure-Python wheel
Runtime dependencies 9 — anndata, attrs, numpy, pandas, pyarrow, pyarrow-hotfix, scipy, shapely, typing-extensions
Maintenance actively maintained — 119 days since the last release
Last repo commit
First released
Downloads 89,712/month — #13,639 on PyPI (30-day window, as of 2026-08-14)
Known vulnerabilities none known (OSV.dev, checked 2026-08-14)

Evidence: somacore-2.0.0-py3-none-any.whl

License :: OSI Approved :: MIT License

Tags

SOMA specification Pythonsingle-cell data APISOMA interfaces basestandardized cell data formatSOMA implementation utilities
single-cell-dataspecification-reference

More Scientific/Engineering packages