cellarr-frame
cellarr-frame provides a high-level, Pandas-like interface for interacting with TileDB DataFrames.
Installation
pip install cellarr-frame
Quick Start
1. Creating a Frame
You can create a new persistent CellArrayFrame directly from a Pandas DataFrame. Note that TileDB arrays with multiple dimensions are also supported.
import pandas as pd
import shutil
from cellarr_frame import CellArrayFrame
# Prepare some data
df = pd.DataFrame({
"name": ["GeneA", "GeneB", "GeneC", "GeneD"],
"expression": [12.5, 0.0, 5.2, 8.1],
"category": ["coding", "non-coding", "coding", "coding"]
})
df.index.name = "row_id"
# Create the TileDB array at the specified URI
uri = "./my_cellarr_frame"
# clean up if exists
shutil.rmtree(uri, ignore_errors=True)
# Create with sparse=True to allow flexible appending and querying
CellArrayFrame.create(uri, df, sparse=True, full_domain=True)
2. Basic Slicing
Open the frame and slice rows using standard Python syntax.
cf = CellArrayFrame(uri=uri)
# Slice the first 2 rows
# Returns a Pandas DataFrame
print(cf[0:2])
# name expression category
# row_id
# 0 GeneA 12.5 coding
# 1 GeneB 0.0 non-coding
3. Column Selection
Optimize performance by selecting only specific columns.
# Select only 'name' and 'expression' for the first row
print(cf[0:1, ["name", "expression"]])
4. Querying
Filter data using string conditions. The filtering happens at the storage layer, making it highly efficient for large datasets.
# Select all rows where expression is greater than 5.0
high_expr = cf["expression > 5.0"]
print(high_expr)
# Combine queries with column selection
# Get names of all 'coding' genes
coding_genes = cf["category == 'coding'", ["name"]]
print(coding_genes)
5. Appending Data
Append new batches of data to the existing array.
new_data = pd.DataFrame({
"name": ["GeneE"],
"expression": [99.9],
"category": ["coding"]
})
# Ensure the index continues correctly
new_data.index = [4]
new_data.index.name = "row_id"
# Append to the array
cf.write_batch(new_data)
# Verify the new total count
print(f"Total rows: {cf.shape[0]}")
Note
This project has been set up using BiocSetup and PyScaffold.
Metadata
Release files for cellarr-frame 0.0.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cellarr_frame-0.0.8.tar.gz | 25.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cellarr_frame-0.0.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 33.8 kB
Release files / cellarr_frame-0.0.8.tar.gz
| Download URL | cellarr_frame-0.0.8.tar.gz |
|---|---|
| Size | 25.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
d56f50e97b87530381938f35cd4d97ea2947a3f6655c9e276f3ef3281f7145a3
|
|
BLAKE2b-256 checksum How to use checksums |
82ccc184aa42758e3df994e45e854772954dfa0ba5df16fc87a967bd509a2b4c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 14, 2026.
Transparency logRelease files / cellarr_frame-0.0.8-py3-none-any.whl
| Download URL | cellarr_frame-0.0.8-py3-none-any.whl |
|---|---|
| Size | 7.9 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e15d3f066dc92a344431406cee41a114419da52ce47ec9efa2e4462795baae0e
|
|
BLAKE2b-256 checksum How to use checksums |
672baad38aa9f7a49c7b44538810b3941ed38bbce870f98a3609901238c18ab8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Feb 14, 2026.
Transparency log