Skip to main content

Out-of-memory AnnData powered by Rust (anndata-rs)

Project description

anndata-oom

PyPI Python License

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

For a deeper look at the lazy operator model behind this — how nodes compose, how data flows through the chain, and why subsetting stays O(1) — see docs/transform-chain.md.


Documentation

  • The Transform Chain — design walkthrough with ASCII diagrams of the lazy operator model (BackedArray, _SubsetBackedArray, TransformedBackedArray, ScaledBackedArray) and how chunked reads flow through it.

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] = value materialize X in memory. Use adata.obs, adata.obsm, or adata.write(path) to persist changes.
  • PCA accuracy: chunked_pca uses randomized SVD with 4 power iterations — top ~20 PCs are nearly identical to standard PCA; PCs 30+ start to deviate. For publication-quality analyses, consider adata.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. Use backed='r+' if you need to write back (advanced).
  • Concurrent access: HDF5 files default to exclusive locking. Set HDF5_USE_FILE_LOCKING=FALSE in 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 BackedArray as a dask.array
  • Query engine: SQL-like filtering over chunks

Release process

  1. Bump version in pyproject.toml and Cargo.toml
  2. Update CHANGELOG.md
  3. Commit, tag, push:
    git commit -am "Release v0.x.0"
    git tag v0.x.0
    git push && git push --tags
    
  4. 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

anndataoom-0.1.7.tar.gz (1.5 MB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

anndataoom-0.1.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

Uploaded PyPymanylinux: glibc 2.17+ x86-64

anndataoom-0.1.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

anndataoom-0.1.7-cp314-cp314-macosx_11_0_arm64.whl (24.1 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

anndataoom-0.1.7-cp314-cp314-macosx_10_12_x86_64.whl (25.6 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

anndataoom-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

anndataoom-0.1.7-cp313-cp313-macosx_11_0_arm64.whl (24.1 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

anndataoom-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl (25.6 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

anndataoom-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

anndataoom-0.1.7-cp312-cp312-macosx_11_0_arm64.whl (24.1 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

anndataoom-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl (25.6 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

anndataoom-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

anndataoom-0.1.7-cp311-cp311-macosx_11_0_arm64.whl (24.2 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

anndataoom-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl (25.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

anndataoom-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

anndataoom-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (26.4 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

File details

Details for the file anndataoom-0.1.7.tar.gz.

File metadata

  • Download URL: anndataoom-0.1.7.tar.gz
  • Upload date:
  • Size: 1.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for anndataoom-0.1.7.tar.gz
Algorithm Hash digest
SHA256 9a2d71ea789d5109eed27b71e89c3b4322100bb853caf827ef96a7ede9765c41
MD5 0e5ae98e34b90e2c4309ade2e7452599
BLAKE2b-256 ee98910d99a9ed076308c3f7bd5d7b1e9e8df02cd1f4a596fcdf07eded03feb3

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7.tar.gz:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0d878e7a8adebfbaf5a2029809b15c501f933b77d36290b5cdb74d1c487f23c9
MD5 89cdf3413beaab062e4771b34b5c3296
BLAKE2b-256 94a24d3f8ff1a29956dbf7d3b2875155d537ad2322da467e3f7f75af1649923d

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-pp311-pypy311_pp73-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5ad9aeca51374f5657a68c912f18a0f74661eead3b0a184737462971a829dff7
MD5 e0ac12a527dc219b3792d7a179ebf686
BLAKE2b-256 bd79dee521e9e85eda483f75e20ec0d4e119d5c8772ff3fb7deaca4a2c24e1ad

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 44e452679163154ec7ed66bbc8deaf7e18eb2e88179c3ee9a065ba168a3c131b
MD5 68c14dbc52ceb5f9ab669049b5b7f50e
BLAKE2b-256 391c67c0f5bba83da90614d3eecef7b21cf7935aebaddfbf60ea23b0a123b053

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 50bfdc25f5f071d280482f85b1700bf58bed4296d174b466aa95c7d5e2b7133c
MD5 7332ad648c0440425018dacf0f59e857
BLAKE2b-256 836eb6bb0e16d04c4942304db5e74afd04522869f52dff2f895ab817e140bf24

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e2efd4469fc5ff3b166fc03a70ba069d4fa4acb3a268b16b9d6f9fb6b3b8df0a
MD5 61f46170a1ebbfafdccf2411c37c1673
BLAKE2b-256 2255aa44f62993868f71097babaadfc4d4256bac9f7f43e081706e85da4f881f

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 aa198aa5aef722b35fbb1545a39d8e97de93b57fa0564dcafd06da3fabf1815c
MD5 03d2cfa0a4e9cfeba6d95248bfc5fd9e
BLAKE2b-256 5d4d62fd569398bfdcb5591c215cdbe2e91a69e8d57f84333783c3a58fb064ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 aa8ee75995b4683269bc3d5b16ad4943a954fef18afe34e0ea487a28e1cdf72c
MD5 bfe165600755592ae45f4e405caa40f7
BLAKE2b-256 9a2117caec3e3fa08c02d1bcf756c1027c6007ae2b6aed0e30e173a6332cc751

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 1f128a26d4238a9c3ea30aec0bb4ffd484b69c78c027e9a69a8a91db0d6d8f15
MD5 f2ff0cc9772a1833361c19eccb4413a3
BLAKE2b-256 653e4be70aab26de0b3e25199368c09fb3cb05a9f8634e0ba3d098363bfdcbbf

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5ef485a077b1015795ba260e7bd0ef6e3af5ebf25488ce19d41a5f284f563bca
MD5 5caabac1f964ff6ec7b60b186e5787be
BLAKE2b-256 ef9520ef7f993fb2732d97f0da5eb75b4ac7a0adb79802d4b8e87d840f02ed98

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 7a73a98b78e4bfd0c910d94b273b7951ebdf98ea2cb66881f3a4cd38f6fa2612
MD5 8e36e23aee5cc9bcd31aabfb2dae63d2
BLAKE2b-256 ed8096d96967b63866ae2e34643917b28265feaa752a41cc232930e4cdc0076b

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 9cbb975aea40787be3138e76846c8bb931682ea1709fe1f905cf4e94dd6f9a0b
MD5 10f89bbf6f15f785d89f86fa1bf73292
BLAKE2b-256 89583a918f7172ded46e2646dcd4bdf1c578d32d1c64a360554c9d248562ea37

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8358cc3af09296d918ea9aa087447f26c68ca21dd9eac490685cc1b1bb974e77
MD5 7f14bc7edfba89170fcb926676a01f28
BLAKE2b-256 78615d4966248fac18c0188bd62ddc0b6f5487063ad68f2c9e926c67b6f819b4

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3601815e9a388713aa9cf81b91b2fe2f7e900292de13f2e911efa4c7732db9de
MD5 9aab80e2615ca500c7fb0139df290d60
BLAKE2b-256 b6839118ccd81369b80f17951840e55a30dffd3a080fd057ea6a509c07dd154d

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d5daea7f49b6726149287539d4f40c4a2b7778adc059d58b9dbd21bbc383a611
MD5 5ca26880e33cd06622bc94804a4dd3c5
BLAKE2b-256 8209497ff615b4bfe20b05a8e1cc1e8ee34048442a3dca093ce50d67e85e448c

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file anndataoom-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for anndataoom-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 f532e4ab30bbeb9c1a5493e3e43d3fe5810f1e74b4440361ef760cd84183f1b9
MD5 a8c42b17a88a4b4617f7d3354b3e01fc
BLAKE2b-256 cb3a89812c97369ffd8e347d72e6496802a0fc5066106984f7222b99a8a02856

See more details on using hashes here.

Provenance

The following attestation bundles were made for anndataoom-0.1.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on omicverse/anndata-oom

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page