deltacells
Fast, compact tiles of single-cell count matrices, built for feeding a training DataLoader.
Documentation: https://cellarium-ai.github.io/deltacells/
Training a model on tens of millions of cells means reading raw counts over and over, and the format they are stored in decides how fast that goes and how much disk it takes. deltacells stores a count matrix as a directory (or bucket prefix) of tiles of about 10,000 cells. Each tile is one self-contained object that a small C library decodes straight into CSR arrays.
Why deltacells
- Very fast data loading. A 10,000-cell tile decodes in about 0.1 s on one core and 0.02 s on eight, with no intermediate
AnnData or Arrow objects. A PyTorch
DataLoaderreading shuffled batches on a laptop sustains 45,000 to 95,000 cells per second, depending on the number of workers. - Small on disk. A dataset is about 40% smaller than the same data in BPCells (3.8 vs 6.7 kB per cell) and roughly a third of the size of a gzip-compressed h5ad file. The key idea is to store genes in order of decreasing total counts, which makes the values that remain to be compressed small and repetitive.
- Fast enough to keep a GPU fed. On a single thread, decoding is slower than BPCells' decoder (about 2.6 times as long per
tile), in exchange for the smaller files. With a few
DataLoaderworkers, each decoding on its own core, deltacells is designed to keep a GPU busy, as in the data loading of cellarium-ml. Smaller files also mean less to download when the dataset lives in a bucket.
One real 10,000-cell shard (38,094 genes), counts only, read from a local file into memory on an M2 Pro laptop:
| format | size on disk | decode, 1 thread | decode, 8 threads |
|---|---|---|---|
| h5ad (gzip) | 12.5 kB per cell | 1170 ms | single-threaded reader |
| BPCells (C++ decoder) | 6.7 kB per cell | 48 ms | 30 ms |
| deltacells | 3.8 kB per cell | 125 ms | 39 ms |
The benchmarks page has the details, other hardware, the DataLoader throughput, and how to reproduce all of it.
Status: alpha. CI runs on Linux x86-64 (Python 3.10 to 3.13) and macOS arm64 (Python 3.12). Reading tiles from Google Cloud Storage and converting h5ad files from and to a bucket have been exercised against real buckets. See Limitations.
Install
pip install deltacells
Prebuilt wheels are available for Linux (x86-64 and aarch64) and macOS (arm64) on Python 3.10 to 3.13. On other platforms, pip
builds the package from source, which needs a C compiler and libzstd. Optional extras: h5ad (to convert h5ad files), obs (cell
metadata), torch and gcs (gs:// paths). For example, pip install "deltacells[h5ad,obs,gcs]". See the
install page.
Quick start
Convert h5ad shards of any size into a dataset of exact-size tiles (this sorts the genes, re-chunks the cells and compresses):
deltacells convert --h5ad-glob "shards/*.h5ad" --output /data/my_dataset
deltacells info /data/my_dataset
deltacells verify /data/my_dataset # checks the CRC of every tile and decodes it
The input and the output can also be gs:// paths. All files must have the same genes, and X must hold raw integer counts.
The conversion page covers the options, Google Cloud Storage, disk
space and safety.
Read it:
import numpy as np
from deltacells import open_dataset
ds = open_dataset("/data/my_dataset") # or "gs://bucket/prefix"
ds.n_cells, ds.n_genes, ds.limits # limits: cumulative number of cells per tile
batch = ds.get_batch(np.array([5, 99_000, 12])) # any global cell indices, in any order; returns a CSR SparseBatch
batch.indptr, batch.indices, batch.values # int64, int32, float32 numpy arrays
x = batch.to_torch_csr() # torch.sparse_csr tensor sharing memory (needs torch)
batch.to_scipy()
ds.var_names, ds.gene_order # gene names, and the original column of each stored gene
Write your own data:
from deltacells import DatasetWriter
with DatasetWriter("/data/out", n_genes=n_genes, tile_size=10_000, gene_order=order, var_names=names) as w:
for block in blocks: # scipy CSR, or anything scipy can convert; integer counts in [0, 2**31 - 1]
w.add_tile(block) # every tile but the last must have exactly tile_size cells
For single tiles there is a lower-level interface: encode_tile(matrix) -> bytes, write_tile(path, matrix),
Tile(bytes).decode(threads=4) and read_tile(path).
Documentation
- Install: wheels, extras, building from source.
- Converting h5ad files:
deltacells convertfor local andgs://data. - Using a dataset in a PyTorch DataLoader: a worked example, and the pointer to cellarium-ml for a full PyTorch Lightning setup.
- Cell metadata (obs) and genes (var): what is stored, how to read it in training, and the local cache.
- Benchmarks: size, decode speed, comparison with other formats,
DataLoader throughput, and how to reproduce them with
make benchmark. - How the encoding works: why sorting the genes makes the data compress so well, with figures from a real shard.
- Format specification: the exact layout of a tile and a dataset.
Cell metadata (obs) and genes (var)
A dataset can also hold the cell metadata (obs) and the gene table (var), stored beside the tiles so that a loader that needs
no metadata pays nothing for it. The converter stores them from the h5ad files. In training, you choose the obs columns you need
and they are copied once into a local, memory-mapped cache, after which looking up a batch takes about 0.2 ms:
ds = open_dataset("gs://bucket/prefix", obs_columns=["cell_type", "donor_id"])
codes = ds.obs.take(
cell_indices, ["cell_type", "donor_id"]
) # integer codes; ds.obs.categories("cell_type") is the vocabulary
ds.var # the gene table (pandas), in the stored column order
See Cell metadata (obs) and genes (var) for what is stored, how it is read and cached, and what it costs.
Limitations
- Integer counts only: integers in [0, 2^31 - 1] (float32 batches are exact up to 2^24). Counts above 65535, and gaps above
65535 between a cell's consecutive expressed genes (possible with more than 65,536 genes), are stored as exceptions and must be
rare: the writer refuses a tile with more than
max(1024, nnz / 200)of either kind, which is not what raw counts look like. Sparse feature spaces such as ATAC peaks are out of scope, and so are normalized or float data. - Conversion has no resume. A failed conversion is started again with
--overwrite(see Converting h5ad files). - Platforms. Linux and macOS, little-endian hosts only. CI covers Linux x86-64 (Python 3.10 to 3.13) and macOS arm64 (Python 3.12). Windows is not supported.
- Obs needs
pyarrowandpandas. Categorical, numeric, boolean and string columns are supported; exclude others, such as datetimes. The ranged reads used to fetch obs from a bucket (GCSBackend.read_range) have not been tested against a real bucket. The local obs cache is uncompressed Arrow, several times the size of the stored parquet for small-integer columns. - Concurrent
get_batchcalls on one dataset object, from several threads, are serialized by a lock (use one dataset object per worker process). - Gene order depends on the files sampled for it (up to
--sort-genes-max-files, spread evenly over the inputs). The same cells split into a different number of files can sort the genes slightly differently when there are more files than that. With--no-sort-genes, or when every file is used, the result depends only on the cell order and the tile size. - The converter does not shuffle. A tile holds consecutive cells (a tile that spans the end of one file and the start of the
next mixes just those two). If the input is sorted by donor, tissue or similar, shuffle the cells across files first (for example
with
annslicer). - Compression time. Level 19 takes about 5 s per 10,000-cell tile with 8 threads (about 24 s with one chunk). Lower levels trade size for speed (level 12: about 1.3 s, level 3: about 0.7 s, at files 6% and 11% larger).
- Reference loader.
examples/reference_loader.pyshows how to call the dataset from aDataLoader. It is an example, not part of the package API, and it does not provide resume-from-checkpoint, DDP padding ordrop_last_indices; for training, use cellarium-ml.
Development
make test # the test suite: format validation, round trips and edge cases, gather, dataset (prefetch, caching, pickling,
# corruption), obs, backends, h5ad conversion, CLI, torch / DataLoader, benchmark smoke tests
make lint # ruff
make typecheck # mypy
make docs # the documentation (needs the docs extra), built into docs/build/html
make benchmark # all benchmarks that need no real data, on a synthetic dataset
DEVELOPING.md describes building from source, the code layout, how to change the format, how the documentation is built, and how releases are made.
License
BSD-3-Clause (see LICENSE). deltacells links libzstd, which is dual-licensed BSD-3-Clause / GPL-2.0 and is used under the BSD license.
Metadata
Release files for deltacells 0.1.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| deltacells-0.1.1.tar.gz | 463.2 kB | With provenance | Details for deltacells-0.1.1.tar.gz |
Built distributions (wheels)
Total release size: 5.6 MB
Release files / deltacells-0.1.1.tar.gz
| Download URL | deltacells-0.1.1.tar.gz |
|---|---|
| Size | 463.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
715d078400292b4646caa47088e799ae2bf1b6dad83f28c633e13272355064a1
|
|
BLAKE2b-256 checksum How to use checksums |
dc7fb2e31ee6872fab610b6381d91557af6821e4a812e341dd7cadc6b834d7fe
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | deltacells-0.1.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 477.6 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5c6bdfa26352d9aa07f455e5f12fe857625d3e44917936d09542f4d4ddcb3877
|
|
BLAKE2b-256 checksum How to use checksums |
1377f8604e9b70955d94c31173f8e1c34a73beacb59b99630f09be850789c072
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | deltacells-0.1.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 463.5 kB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
8ee8d910d3ad3ae96de560c710ff17402aca5ddb5f2d122e62df640371f94d73
|
|
BLAKE2b-256 checksum How to use checksums |
3e54a98ad835c5e61ac137d64421de2b2690e161b9ebdfd0dd70632ae1001417
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | deltacells-0.1.1-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 332.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9c1dafbd851de77726507c95dfd14218eb37774c60cdf2da081befe4f1e18dfe
|
|
BLAKE2b-256 checksum How to use checksums |
5aa74792d1357c5b52bb7a163d20c4944f22fd5a285a4c61e8c3a72dd7e3a62b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | deltacells-0.1.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 477.5 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3e7cdd3115cc80d6f95a13d9922d7326eba218c40a59d1b950e387c1ce55fc2d
|
|
BLAKE2b-256 checksum How to use checksums |
e01ceff552d730398a18eda52ecbd20e7325ac1d6839df78c11fc2562e8f9f8a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | deltacells-0.1.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 463.4 kB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
c85c2afa3447a985d3011ec0863cfc677fff79c2ebe25e29681c5fdbc5a9b893
|
|
BLAKE2b-256 checksum How to use checksums |
cf5a7d7f58fabb7caaf4656d4efcf47ba269beb7737d8284ae674f8f378681fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | deltacells-0.1.1-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 332.1 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b82168b5e3707ccf456c6b368395a36a2cbd5fce24d1c02e6d686fa383a4e5ed
|
|
BLAKE2b-256 checksum How to use checksums |
506bb619682722110d41084cc844e0bbbc0ce1c83bd2a686111c41171f0e3af1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | deltacells-0.1.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 477.4 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
dc9f43a335a689d1bdfa72ae93c1fa15754ccea0ea7ec618d631960183a627b5
|
|
BLAKE2b-256 checksum How to use checksums |
6f549981fb4dc2b67bacdd6eb945074d1ac0ed388da33c0af4a287d683a48d71
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | deltacells-0.1.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 463.5 kB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
5ab718990e2811124196e1a20eb3bd8781fa9dff4fbc4979a131e8abfc6e5a07
|
|
BLAKE2b-256 checksum How to use checksums |
340ace26925b660850b6e561ccd5cf19b780864fca852dd38de22ab0055f46d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | deltacells-0.1.1-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 332.1 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
186f75dd00ada389954b7219c59039a032d1cf6464be2045e4c8c6d0e54ef913
|
|
BLAKE2b-256 checksum How to use checksums |
fe8420331e1c7c5757b13decd138b36df2c474c4ef41701ac806397fb0d2853b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | deltacells-0.1.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 476.5 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f8ecbd2d473022083bf75abc89dd8cd22991b45a2693169df4a1b2df80adc31e
|
|
BLAKE2b-256 checksum How to use checksums |
aa76df22ee9125ab0f104da6f757006e5c3e736d7750be5b262ca8cf72deccce
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl
| Download URL | deltacells-0.1.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 462.6 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
6a3f83763e1c5a928d161362ecc0c5ca9b5df2368575f46a5aa4654a26c08d4b
|
|
BLAKE2b-256 checksum How to use checksums |
0951da837d7b51c3874fc11d13711120c1cc1720d745365527ba75610274e8dc
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logRelease files / deltacells-0.1.1-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | deltacells-0.1.1-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 332.1 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
1dc1c9be84e7acdf04a6d2414462845a7d2d9df34268eb08406d65dbd2423284
|
|
BLAKE2b-256 checksum How to use checksums |
17bc6ec43d272fd234cdfdb03f57f1cd18ec984a6cc8ba3e2cd789f8ea969a64
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.16
|
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 Nov 6, 2026.
Transparency logSecurity for deltacells 0.1.1
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.
Full provenance
All 13 files in this release have been uploaded with provenance metadata.
Attestation for deltacells-0.1.1.tar.gz
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 Nov 6, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.