Out-of-memory AnnData powered by Rust (anndata-rs)
Project description
anndata-oom
Out-of-memory AnnData powered by Rust — a drop-in replacement for
anndata.AnnData that keeps the expression matrix on disk and runs entire
preprocessing pipelines (normalize, log1p, scale, PCA, neighbors, UMAP,
Leiden) as lazy transforms or chunked operations. The full matrix
is never loaded into memory.
Built on top of scverse/anndata-rs, the Rust implementation of AnnData.
Why?
Standard anndata.AnnData loads the entire expression matrix into RAM.
For a million-cell atlas this can mean 100+ GB of memory — beyond
what most workstations have.
anndataoom keeps X on disk (HDF5) and streams it through the
preprocessing pipeline in chunks. Peak RAM is independent of dataset size.
Memory comparison
| Dataset | anndata.AnnData |
anndataoom |
Savings |
|---|---|---|---|
| PBMC 8k (7.7k × 21k) | 1.5 GB | 54 MB | 27.8x |
| 100k cells × 30k genes | ~12 GB | ~700 MB | 17x |
| 1M cells × 30k genes | ~120 GB (OOM) | ~700 MB | 170x |
How?
Each preprocessing step adds a small "transform descriptor" (a vector or flag) to a lazy computation chain. Data is computed on-the-fly during chunked reads from the HDF5 file:
X (HDF5 on disk, Rust I/O via anndata-rs)
→ TransformedBackedArray (normalize: ÷ per-cell size factors)
→ TransformedBackedArray (log1p: on-the-fly)
→ _SubsetBackedArray (HVG: select 2,000 gene columns)
→ ScaledBackedArray (z-score: stores only mean/std vectors)
→ Randomized SVD (chunked matrix products)
→ X_pca (n_obs × 50, in memory)
→ Neighbors / UMAP / Leiden (operate on X_pca only)
| Step | What's stored | Peak memory |
|---|---|---|
| Read | File handle | ~0 |
| Normalize | Per-cell factor vector | n_obs × 8 B |
| log1p | Flag only | 0 |
| HVG subset | Column index | ~8 KB |
| Scale | Mean + std vectors | ~32 KB |
| PCA (working set) | Y, Q matrices (k=60) | n_obs × 60 × 8 B |
| X_pca | Final embedding | n_obs × 50 × 4 B |
Installation
Prebuilt wheels (recommended)
pip install anndataoom
Wheels are built for:
| Platform | Architectures | Python |
|---|---|---|
| Linux | x86_64, aarch64 | 3.9–3.13 |
| macOS | x86_64, arm64 | 3.9–3.13 |
| Windows | x86_64 | 3.9–3.13 |
Wheels bundle a statically-linked HDF5 — no system dependencies needed, no Rust toolchain required.
Build from source
If no prebuilt wheel matches your system, pip falls back to source.
You'll need a Rust toolchain:
# Install Rust (if needed)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
# Build + install
pip install anndataoom
Or for development:
git clone https://github.com/Starlitnightly/anndata-oom
cd anndata-oom
pip install maturin
maturin develop --release
Quick start
import anndataoom as oom
# Read an h5ad file — matrix stays on disk
adata = oom.read("large_dataset.h5ad")
print(adata)
AnnDataOOM [Rust · out-of-memory · backed]
Dimensions: n_obs: 100,000 n_vars: 30,000
┌───────────┬──────────────────────────────────────┐
│ File │ large_dataset.h5ad (1.2 GB on disk) │
│ X │ csr_matrix · float32 · 5.3% density │
│ Chunk I/O │ ~20 MB per 1,000-row chunk │
└───────────┴──────────────────────────────────────┘
▸ obs (8) batch · cell_type · n_counts · ...
▸ var (3) gene_name · highly_variable · ...
▸ obsm (–)
▸ layers (–)
▸ raw (–)
Chunked operations
# Sum over all cells — streams the matrix in 1000-row chunks
row_sums = adata.X.sum(axis=1) # ndarray of shape (n_obs,)
# Per-gene means — one-pass chunked Welford's
mean, var = oom.chunked_mean_var(adata)
# Iterate chunks manually
for start, end, chunk in adata.X.chunked(5000):
# chunk is a csr_matrix (or ndarray) of shape (≤5000, n_vars)
...
Subsetting
# All forms of indexing work
sub = adata[0:1000] # first 1000 cells
sub = adata[adata.obs["cell_type"] == "B"] # boolean mask
sub = adata[:, ["GENE1", "GENE2"]] # by gene name
sub = adata[:, adata.var["highly_variable"]] # after HVG selection
# Returns a new AnnDataOOM — still lazy
print(sub.shape) # e.g. (17003, 2000)
Single-gene access
# obs_vector reads exactly one column from disk
expr = adata.obs_vector("CD3D") # ndarray of shape (n_obs,)
Integration with omicverse
omicverse automatically detects anndataoom and uses it as the backend
for ov.read(..., backend="rust"):
import omicverse as ov
# Read — returns AnnDataOOM if anndataoom is installed
adata = ov.read("data.h5ad", backend="rust")
# Full preprocessing pipeline — all chunked/lazy
adata = ov.pp.qc(adata,
tresh={"mito_perc": 0.2, "nUMIs": 500, "detected_genes": 250},
doublets=False)
adata = ov.pp.preprocess(adata, mode="shiftlog|pearson",
n_HVGs=2000, target_sum=50 * 1e4)
# HVG subset — returns a new AnnDataOOM
adata.raw = adata
adata = adata[:, adata.var.highly_variable_features]
# Scale + PCA — lazy z-score + chunked randomized SVD
ov.pp.scale(adata)
ov.pp.pca(adata, layer="scaled", n_pcs=50)
# Neighbors / UMAP / Leiden — operate on obsm['X_pca'], no matrix touch
ov.pp.neighbors(adata, n_neighbors=15, n_pcs=50,
use_rep="scaled|original|X_pca")
ov.pp.umap(adata)
ov.pp.leiden(adata, resolution=1)
# Plotting — all ov.pl.* functions work directly, incl. use_raw=True
ov.pl.embedding(adata, basis="X_umap", color="leiden")
ov.pl.dotplot(adata, marker_genes, groupby="leiden")
ov.pl.violin(adata, keys="CD3D", groupby="leiden", use_raw=True)
Full API reference
Top-level
| Function / Class | Description |
|---|---|
oom.read(path, backed='r') |
Read an .h5ad file → AnnDataOOM |
oom.AnnDataOOM |
Out-of-memory AnnData (full anndata.AnnData API) |
oom.BackedArray |
Lazy row-chunked wrapper over anndata-rs X |
oom.TransformedBackedArray |
Lazy normalize / log1p transform chain node |
oom.ScaledBackedArray |
Lazy z-score transform |
oom.is_oom(obj) |
Check if obj is an AnnDataOOM |
oom.oom_guard(...) |
Decorator: auto-materialise for in-memory functions |
oom.concat(adatas) |
Concatenate multiple AnnData |
Chunked preprocessing
| Function | Description |
|---|---|
chunked_qc_metrics(adata) |
nUMIs, detected_genes, n_cells per gene |
chunked_gene_group_pct(adata, mask) |
Per-cell fraction of counts in a gene group |
chunked_normalize_total(adata, target_sum) |
Lazy normalize-total |
chunked_log1p(adata) |
Lazy log1p |
chunked_mean_var(adata) |
Welford's mean + var per gene |
chunked_identify_robust_genes(adata) |
Filter low-expression genes |
chunked_highly_variable_genes_pearson(...) |
Pearson residuals HVG selection (2 passes) |
chunked_scale(adata) |
Lazy z-score |
chunked_pca(adata) |
Randomized SVD with chunked matrix products |
AnnDataOOM methods
All anndata.AnnData methods and properties are supported. Key ones:
| Property / method | Behaviour |
|---|---|
.shape, .n_obs, .n_vars |
Dimensions |
.obs, .var |
Pandas DataFrames (eagerly loaded; small) |
.X |
Lazy BackedArray (never loaded) |
.obsm, .varm, .obsp, .varp |
Dict-of-ndarray (loaded; typically small) |
.layers |
BackedLayers dict (sidecar HDF5) |
.raw |
_FrozenRaw snapshot (shares backing file) |
.obs_vector(key) |
One column from disk (no full load) |
.chunked_X(chunk_size=1000) |
Row-chunked iterator |
adata[idx] |
Subsetting (returns new AnnDataOOM) |
adata.copy() |
Shallow copy (shares backing file, no RAM cost) |
adata.to_adata() |
Materialize to standard anndata.AnnData |
adata.write(path) |
Chunked write — doesn't materialize |
adata.close() |
Release file handle |
repr(adata) / _repr_html_() |
Pretty text / Jupyter display |
Benchmark: PBMC 8k (7,750 cells × 20,939 genes)
Full preprocessing pipeline (QC → normalize → HVG → scale → PCA → neighbors → UMAP → Leiden):
| Step | Python (MB) | anndataoom (MB) |
|---|---|---|
| read | 148 | 37 |
| qc | 280 | 54 |
| preprocess | 328 | 24 |
| hvg_subset | 450 | 24 |
| scale | 382 | 54 |
| pca | 846 | 33 |
| neighbors | 1195 | 33 |
| umap | 1500 | 34 |
| leiden | 1502 | 33 |
| Peak | 1502 | 54 |
→ 27.8× memory savings on this small dataset; ratio grows with scale.
Supported h5ad formats
| X format | Reading | Lazy ops | Notes |
|---|---|---|---|
| Dense ndarray | ✅ | ✅ | float32 / float64 |
| CSR sparse | ✅ | ✅ | Most common scRNA-seq format |
| CSC sparse | ✅ | ✅ | Column-oriented |
anndataoom automatically preserves sparsity through normalize and log1p
(sparse → sparse), and materializes to dense only where algorithmically
necessary (z-score, PCA).
Architecture
anndataoom is a thin Python wrapper over scverse/anndata-rs:
┌──────────────────────────────────────────────┐
│ anndataoom (Python package) │
│ ┌────────────────────────────────────────┐ │
│ │ AnnDataOOM │ │
│ │ ├─ obs, var (pandas.DataFrame) │ │
│ │ ├─ obsm, varm (dict of ndarray) │ │
│ │ ├─ layers (BackedLayers — sidecar H5) │ │
│ │ └─ X (BackedArray — wraps ↓) │ │
│ └────────────────────────────────────────┘ │
│ │ │
│ ▼ │
│ ┌────────────────────────────────────────┐ │
│ │ anndataoom._backend (Rust extension)│ │
│ │ ├─ AnnData (pyanndata) │ │
│ │ ├─ PyArrayElem (chunked() iterator) │ │
│ │ └─ Statically linked: │ │
│ │ ├─ anndata (Rust crate) │ │
│ │ ├─ anndata-hdf5 │ │
│ │ └─ HDF5 C library │ │
│ └────────────────────────────────────────┘ │
└──────────────────────────────────────────────┘
The Rust extension (anndataoom._backend) is pinned to a specific commit
of scverse/anndata-rs for reproducible builds (the same commit used by
SnapATAC2).
Limitations and caveats
- Writing back to X is lazy — modifications via
adata[mask] = valuematerialize X in memory. Useadata.obs,adata.obsm, oradata.write(path)to persist changes. - PCA accuracy:
chunked_pcauses randomized SVD with 4 power iterations — top ~20 PCs are nearly identical to standard PCA; PCs 30+ start to deviate. For publication-quality analyses, consideradata.to_adata()+ standard PCA. - Some ops require materialization:
score_genes_cell_cycle,find_markers, non-Harmony batch correction, etc. These auto-materialize with a warning. - File mode: Default
backed='r'(read-only) protects the source file. Usebacked='r+'if you need to write back (advanced). - Concurrent access: HDF5 files default to exclusive locking. Set
HDF5_USE_FILE_LOCKING=FALSEin the environment if multiple processes need to read the same file.
Comparison with alternatives
| Feature | anndata |
anndata (backed='r') |
anndataoom |
|---|---|---|---|
| Read without loading matrix | ❌ | ✅ | ✅ |
| Subset (lazy view) | ✅ (view) | ✅ (view) | ✅ (new AnnDataOOM) |
| Chunked iteration | ❌ | ❌ (manual) | ✅ |
| normalize / log1p | In-memory | ❌ (read-only) | ✅ (lazy transform) |
| scale | In-memory | ❌ | ✅ (lazy z-score) |
| PCA | Full SVD | ❌ | ✅ (chunked rSVD) |
| Plotting (scanpy/omicverse) | ✅ | Limited | ✅ (via omicverse) |
| Modify obs/var | ✅ | ❌ | ✅ |
| Peak RAM (1M × 30k) | ~120 GB | — (can't process) | ~700 MB |
Development
git clone https://github.com/Starlitnightly/anndata-oom
cd anndata-oom
# Install Rust (first time)
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y
source $HOME/.cargo/env
# Build in editable mode
pip install maturin
maturin develop --release
# Run tests
pip install pytest
pytest tests/
Contributing
Contributions welcome! Areas of interest:
- More lazy transforms: regress-out, harmony, scVI integration
- Zarr backend: currently only HDF5 supported
- Dask interop: expose
BackedArrayas adask.array - Query engine: SQL-like filtering over chunks
Release process
- Bump version in
pyproject.tomlandCargo.toml - Update
CHANGELOG.md - Commit, tag, push:
git commit -am "Release v0.x.0" git tag v0.x.0 git push && git push --tags
- GitHub Actions builds wheels for all platforms and publishes to PyPI (via trusted publishing)
License
MIT License — see LICENSE.
Built on scverse/anndata-rs (MIT, © Kai Zhang).
Citation
If you use anndataoom in published research, please cite:
@software{omicverse,
title = {OmicVerse: A framework for multi-omic data analysis},
author = {Zeng, Z. et al.},
url = {https://github.com/Starlitnightly/omicverse},
year = {2024},
}
@software{anndata_rs,
title = {anndata-rs: Rust implementation of AnnData},
author = {Zhang, Kai},
url = {https://github.com/scverse/anndata-rs},
year = {2022},
}
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file anndataoom-0.1.3.tar.gz.
File metadata
- Download URL: anndataoom-0.1.3.tar.gz
- Upload date:
- Size: 1.1 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8d28af381ef971fdeb90a7289bc3191fb07ddda35a892aee0cdfcb0e637efba1
|
|
| MD5 |
546c914a6e6048aaac8ebeedae7d6f74
|
|
| BLAKE2b-256 |
a12030896af8f995c856091fa9f343c7ee1ab5f09c877b931632d5d0b5d13753
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3.tar.gz:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3.tar.gz -
Subject digest:
8d28af381ef971fdeb90a7289bc3191fb07ddda35a892aee0cdfcb0e637efba1 - Sigstore transparency entry: 1328150828
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.4 MB
- Tags: PyPy, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
00c6b800c2e6135d241a1c4d68a9189383f6330c6bbddddff19c14826edb1570
|
|
| MD5 |
7c059b9c5eb7896491a27e19356773f7
|
|
| BLAKE2b-256 |
8e93005f7978870be281fc0ae280c542e6b988b456bc59cb82ae5b3ad66986a5
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
00c6b800c2e6135d241a1c4d68a9189383f6330c6bbddddff19c14826edb1570 - Sigstore transparency entry: 1328150887
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.4 MB
- Tags: CPython 3.14, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
740eea54e9fa5dff93cbe5711c950012af3f51555466a4354bfe408bb5f367d9
|
|
| MD5 |
7f3f6f40fe31bbc6303ff44105510d8c
|
|
| BLAKE2b-256 |
46db9eccc337d7a4e86e43d106f31bfe2651b7a091f31a8dfd3b4686abe64396
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
740eea54e9fa5dff93cbe5711c950012af3f51555466a4354bfe408bb5f367d9 - Sigstore transparency entry: 1328150894
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp314-cp314-macosx_11_0_arm64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp314-cp314-macosx_11_0_arm64.whl
- Upload date:
- Size: 24.1 MB
- Tags: CPython 3.14, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
37e2bfde85e3cd19bed433687d604a0b9cd38bbd63848dd589bc86ea360bc609
|
|
| MD5 |
de9b10a527b0dcf255a46c92f005f000
|
|
| BLAKE2b-256 |
738483f3b03435c787699fa97f02b9b8a2281c15ad07889557ffb176d9d848a7
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp314-cp314-macosx_11_0_arm64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp314-cp314-macosx_11_0_arm64.whl -
Subject digest:
37e2bfde85e3cd19bed433687d604a0b9cd38bbd63848dd589bc86ea360bc609 - Sigstore transparency entry: 1328150841
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl
- Upload date:
- Size: 25.6 MB
- Tags: CPython 3.14, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ef17e4a5f43efde3d1e3e898f45731798df4b5b7109a019d403c9d5dd82b306
|
|
| MD5 |
8f79f06b2b8ac3e7d4221ca45923e756
|
|
| BLAKE2b-256 |
1f6a0f8936c0365dca07d0f5a14c54356892fa2414d0a0cf35cdbfea8dc85d4f
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp314-cp314-macosx_10_12_x86_64.whl -
Subject digest:
1ef17e4a5f43efde3d1e3e898f45731798df4b5b7109a019d403c9d5dd82b306 - Sigstore transparency entry: 1328150903
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.4 MB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
72f88530210a2795d8813e5ab6bcb56346e6eaf3f41600e7be929e2c44d3fd55
|
|
| MD5 |
9b8faae33111e121ce4ef7f789c2c355
|
|
| BLAKE2b-256 |
cb314759204a6a52ec7c52953a190940780ee1b82d752656d0cbb1f9fffad74e
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
72f88530210a2795d8813e5ab6bcb56346e6eaf3f41600e7be929e2c44d3fd55 - Sigstore transparency entry: 1328150847
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 24.0 MB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b0ccddd0b405e81683833136eb6af732ad8ef74d87a23fff97fa61698a9be631
|
|
| MD5 |
26c7c3025e27a41dec39bb2dd4d27d0e
|
|
| BLAKE2b-256 |
612354694e8d716936a7b0ea0962c3f6dbb15c7ac8aff6fd8583124a9f4adc90
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp313-cp313-macosx_11_0_arm64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp313-cp313-macosx_11_0_arm64.whl -
Subject digest:
b0ccddd0b405e81683833136eb6af732ad8ef74d87a23fff97fa61698a9be631 - Sigstore transparency entry: 1328150880
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl
- Upload date:
- Size: 25.6 MB
- Tags: CPython 3.13, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97bfe834ef17a82d072b5e3c72242b996b8a450591c10e890ae7c688bd17599b
|
|
| MD5 |
9d0f28764220491e016ab9899734dcb6
|
|
| BLAKE2b-256 |
1a0cf6a72237f31e1f5f0932d6e1f24a5a2b03be3e1152ecd7a86c48804f7750
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp313-cp313-macosx_10_12_x86_64.whl -
Subject digest:
97bfe834ef17a82d072b5e3c72242b996b8a450591c10e890ae7c688bd17599b - Sigstore transparency entry: 1328150836
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.4 MB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e154dc7a62cd82fb8b5355ee9cb107191c6af7b5af63f1575877116bc7e824ea
|
|
| MD5 |
ed2b24a8b4a555516600b28a072e06d4
|
|
| BLAKE2b-256 |
6a95443c46107960e0981b70ccd66de16a7888540d05093af6d3794865bd50b3
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
e154dc7a62cd82fb8b5355ee9cb107191c6af7b5af63f1575877116bc7e824ea - Sigstore transparency entry: 1328150899
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 24.0 MB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6f15b6ce779e8161b58d88d1857bedcafd94686533730606a63ac5ac7bf551b6
|
|
| MD5 |
92e61edce76dbef6c110b9d506b5a210
|
|
| BLAKE2b-256 |
0cbccd04b6d09d7f6a6554daa146b6c582101186300196a2ac0b62bf3e4c7896
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp312-cp312-macosx_11_0_arm64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp312-cp312-macosx_11_0_arm64.whl -
Subject digest:
6f15b6ce779e8161b58d88d1857bedcafd94686533730606a63ac5ac7bf551b6 - Sigstore transparency entry: 1328150870
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl
- Upload date:
- Size: 25.6 MB
- Tags: CPython 3.12, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6a61ddb71a2be56b03f391d89caf7354234c353a114715e5b45f17d9e634a3c4
|
|
| MD5 |
ef88a38064be482857598236e8c2d9a9
|
|
| BLAKE2b-256 |
248f09f94555699a702d3353a87522ee5b6a6df1b3caccea6d1522a27c39b4ce
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp312-cp312-macosx_10_12_x86_64.whl -
Subject digest:
6a61ddb71a2be56b03f391d89caf7354234c353a114715e5b45f17d9e634a3c4 - Sigstore transparency entry: 1328150891
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.4 MB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3bafba10ac90cf8f7ba0da2503fb47d1fb96dbc5502db1a52f344410247488cd
|
|
| MD5 |
bd1fe3bf90b3e39ee15dc44277487d88
|
|
| BLAKE2b-256 |
754511f968dbf21a32892e6852ce0951d6fb75331dd9318209e65d282bd62b87
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
3bafba10ac90cf8f7ba0da2503fb47d1fb96dbc5502db1a52f344410247488cd - Sigstore transparency entry: 1328150907
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 24.1 MB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d4a5d0bdf8c804360b181a380ba78461c375eb61b6a3e044cd0dc819bbee602
|
|
| MD5 |
8cf718d3fe0779f71e4a4b83a6a19726
|
|
| BLAKE2b-256 |
2b9f5add10d3700f634da18fcb1c125bea82bf4ab180151eb2cda8af117aa3f8
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp311-cp311-macosx_11_0_arm64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp311-cp311-macosx_11_0_arm64.whl -
Subject digest:
4d4a5d0bdf8c804360b181a380ba78461c375eb61b6a3e044cd0dc819bbee602 - Sigstore transparency entry: 1328150857
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl
- Upload date:
- Size: 25.6 MB
- Tags: CPython 3.11, macOS 10.12+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e81e362812f63d4772a28d9361efec12317eef78c47638b80ecafaf6f6258449
|
|
| MD5 |
a6f20bb7aa637ffd1257934d9bfa69ca
|
|
| BLAKE2b-256 |
efc7095bd51b1dad453533d9475216a488f8807db67453286d0d54590915c713
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp311-cp311-macosx_10_12_x86_64.whl -
Subject digest:
e81e362812f63d4772a28d9361efec12317eef78c47638b80ecafaf6f6258449 - Sigstore transparency entry: 1328150877
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.4 MB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fcb9eaecae5af853ba5e647e45f51fc11d0b5d649484ce3b142a21162427700e
|
|
| MD5 |
d3471bc9863713835ddefd096c1d9d2e
|
|
| BLAKE2b-256 |
28c6b3919ba3fac17f37fe756184a6866ebe2c281cc42c600d179581ead9a34f
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
fcb9eaecae5af853ba5e647e45f51fc11d0b5d649484ce3b142a21162427700e - Sigstore transparency entry: 1328150863
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type:
File details
Details for the file anndataoom-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: anndataoom-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 26.4 MB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5373d5d0084cdae3c0e744ea7e27029a0451e189201436b3281535f92c8eecb5
|
|
| MD5 |
6b08c5d72e1fe33527abea4d8767f6aa
|
|
| BLAKE2b-256 |
57bcb3b75eef82a3eb859442e3791b228d8d0e3bb7e67aea4e0203041a7843cd
|
Provenance
The following attestation bundles were made for anndataoom-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:
Publisher:
release.yml on Starlitnightly/anndata-oom
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
anndataoom-0.1.3-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl -
Subject digest:
5373d5d0084cdae3c0e744ea7e27029a0451e189201436b3281535f92c8eecb5 - Sigstore transparency entry: 1328150851
- Sigstore integration time:
-
Permalink:
Starlitnightly/anndata-oom@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Branch / Tag:
refs/tags/v0.1.3 - Owner: https://github.com/Starlitnightly
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f3dffe582b19762a64c485137d2375fe4ee5ca2a -
Trigger Event:
push
-
Statement type: