Skip to main content

L* model and Zarr interchange for single-cell/spatial omics, with a fast C++ core

Project description

L★

A general model for single-cell omics data — built from axes and fields — and the lightweight glue that moves data losslessly between AnnData, Seurat, SingleCellExperiment, and pagoda/conos, including their disk-backed forms (backed AnnData, Seurat v5/BPCells, SCE/HDF5Array) — so even datasets too large for memory convert in bounded memory.

L★ represents a dataset as axes (the entities you index by — cells, genes, samples, clusters) and fields (typed data over them — counts, embeddings, graphs, labels, designs). Because everything is just axes and fields, one small model spans the diversity of real single-cell work that a fixed cells × genes container strains on — for example a multi-sample (even cross-species) integration kept as a collection of heterogeneous samples rather than one concatenated matrix; a CITE-seq object with a second, protein feature axis; or a case-control cohort carrying a statistical design over its samples. The routine count-matrix-plus-a-clustering case stays just as simple, while the harder cases use the same vocabulary instead of an opaque uns/misc blob (see Why lstar?).

In the short term, the most immediately useful thing this buys you is moving data between the formats people already use. Each existing container — AnnData (Python), Seurat and SingleCellExperiment (R), pagoda/conos — fixes a few named slots; routing a dataset through L★ converts one to another while preserving the meaning of each piece and reporting anything a target can't hold instead of dropping it silently.

lstar is available in Python, R, and C++ (sharing one fast C++ core), reads and writes a portable Zarr-based format, and is built to scale. Everything heavy can be streamed in bounded memory — convert a multi-gigabyte dataset, write a store, or compute per-gene statistics without ever loading the whole matrix, so work that needs a big machine today runs on a laptop (see Large data: lazy reads and streaming). You can also open a million-cell dataset over the network and read just the parts you need.

Status: early development, not yet released. Working today: read/write the same store from Python, C++, and R; profiles for AnnData, Seurat (legacy v2 → v5), SingleCellExperiment, and Conos; the collection model; lazy/streaming reads; a browser/WebAssembly data layer.


Why lstar?

Three things are hard with today's fixed-schema containers, and L★ is designed around them:

  1. Conversion is lossy and pairwise. Every container hard-codes a few named slots; what fits the slots converts, and the rest is lost. Routing every format through one shared model with a shared vocabulary makes conversion lossless on the common core and explicit about the remainder.
  2. The interesting results have no home. A gene-regulatory network, a cell–cell communication tensor, RNA-velocity graphs, a fitted model — none of these fit a cells × genes slot, so they end up as opaque blobs in uns/misc. In L★ they are ordinary, typed, queryable fields.
  3. A study is many samples, not one matrix. Different donors, conditions, even species and gene sets cannot be honestly concatenated into a single matrix. L★ keeps a multi-sample study as a collection of heterogeneous parts joined by a graph.

If you only ever need to move data between AnnData, Seurat, and SCE, point 1 is reason enough to use lstar. Points 2 and 3 are why the model is shaped the way it is.

Converting between formats (the common case)

One command — lstar convert detects each format from its path, routes through the L★ store (in-process for Python formats, an Rscript bridge for Seurat/SCE), and reports what crossed:

lstar convert pbmc.h5ad pbmc.rds              # AnnData (Python) -> Seurat (R), bridged automatically
lstar convert atlas.h5ad atlas.lstar.zarr     # -> a portable L* store  (--to sce for SingleCellExperiment)
lstar convert pbmc.rds  pbmc.h5ad --report    # + a fidelity report (every field, and what was `dropped`)

Two things make it more than a one-liner:

  • a fidelity report (--report / --report-json) lists every axis and field with its role, state, and provenance, and — crucially — dropped: what the target couldn't represent, made visible rather than silently lost.

  • a native-acceptance check (--check, on by default; --strict to gate the exit code) opens the result in its own library and runs a canonical-ops smoke (scanpy / Seurat / scran), so you know the native analysis tools will accept it — not just that the bytes round-tripped.

  • a package-free fallback (--backend auto|native|direct): each conversion uses the format's native package when it's installed, else lstar's own codec — so you don't need the domain packages for the common cases. What works without the native packages:

    convert (no native package) needs only
    .h5ad ↔ store — read and write lstar + h5py
    Seurat .rds ↔ store — read and write lstar + base R (no SeuratObject)
    SCE .rds → store — read lstar + base R (no SingleCellExperiment)
    store → SCE .rds (write) · .h5mu ↔ store native-only — needs SingleCellExperiment / mudata

    At a wall (an unknown on-disk version, a BPCells-backed matrix) it stops and names exactly what to install. The heavy analysis packages (scanpy / full Seurat / scran) are never needed to convert — only for the optional --check. Details: docs/conversions.md.

Under the hood it is just write_Y(read_X(...)) with the on-disk L★ store as the bridge between the two languages, which you can also drive directly:

python3 -c 'import anndata as ad, lstar; from lstar.profiles.anndata import read_anndata
lstar.write(read_anndata(ad.read_h5ad("pbmc.h5ad")), "pbmc.lstar.zarr")'      # AnnData -> L* store
Rscript -e 'library(lstar); saveRDS(write_seurat(lstar_read("pbmc.lstar.zarr")), "pbmc.rds")'  # -> Seurat

The shared-vocabulary core — raw counts, normalized/scaled expression, PCA (scores and gene loadings), UMAP/t-SNE, clusterings, cell/gene metadata — survives. Whatever the target can't hold (e.g. neighbor graphs through Seurat) is listed in the dataset's dropped manifest, so nothing vanishes unannounced. A runnable, commented version is examples/convert_h5ad_to_seurat.sh.

See docs/conversions.md for the full glue guide (every reader/writer, the conversion matrix, what is preserved vs. recorded as dropped, version detection) and docs/mapping.md for the deterministic role→slot contract — what lands where in each target, and the native-acceptance check that verifies the native tools won't choke.

Building a dataset directly

If you want to author or inspect L★ data, the model is just axes (the things you index by) and fields (typed data over them):

import scipy.sparse as sp, lstar

ds = lstar.Dataset(kind="sample")
ds.add_axis("cells", [f"cell{i}" for i in range(100)])
ds.add_axis("genes", [f"g{i}" for i in range(50)])
# A field declares what it IS (a `measure` over cells × genes) — no fixed "X" slot.
ds.add_field("counts", sp.random(100, 50, density=0.1, format="csc"),
             role="measure", span=["cells", "genes"], state="raw")

lstar.write(ds, "sample.lstar.zarr")
ds2 = lstar.read("sample.lstar.zarr")          # also readable from R and C++

A field's role (measure, embedding, loading, relation, label, …) says what kind of object it is. A new kind of result is a new field with a role — never a change to the format. See docs/model.md.

Two design choices worth knowing

Collections, not one big matrix. A multi-sample study is stored as a samples axis plus per-sample cells.{s}/genes.{s} axes and measures (samples may differ in cells and genes), with a union cells axis for the joint analysis (embedding, clusters, and the integration graph as a relation). The R package ingests a Conos object (write_conos) and a split Seurat v5 assay this way — see examples/conos_collection_demo.R.

Versions are recognized, not assumed. Formats change shape across releases, so the readers detect the variant and adapt — even a legacy v2 seurat object (the pre-Assay S4 class, read via its raw slots) through v3/v4 Assay vs. v5 Assay5 (with a fallback for SeuratObject < 5), pagoda2's getRawCounts() accessor vs. the legacy $counts slot, AnnData's .raw slot. The detected <format>@<version> is recorded, so a downstream reader knows what produced the data.

Large data: lazy reads and streaming

Single-cell stores get big — hundreds of thousands of cells, tens of thousands of genes. lstar is built so you never hold a whole dataset in memory to work with it: the heavy operations stream the matrix in blocks, so peak memory stays bounded and roughly flat as the data grows.

Streaming vs in-memory conversion: peak memory stays flat as the dataset grows, for a modest time cost

h5ad → L* conversion of the Tabula Muris Senis droplet atlas (subsampled from 25k to 245k cells, up to 502M nonzeros): the in-memory path's peak RAM grows with the matrix (to ~4 GB) while streaming stays ~flat (~0.3 GB, ~13× less at full size), for a small, roughly constant time premium. Reproduce with examples/streaming_scaling.py.

  • Convert and write in bounded memory. convert_anndata (h5ad → L*) and convert_to_h5ad (L* → h5ad) move data between formats with a backed read + block-by-block write, never materializing the matrix; lstar.write(..., stream=True) does the same for any lazy/backed source. A multi-gigabyte atlas converts in a few hundred MB.
  • Open without downloading. lstar.read(path, lazy=True) reads only the small manifest; the heavy arrays stay on disk (or on the server) until you touch them. Opening a 78-million-nonzero matrix this way costs a few megabytes of memory instead of hundreds.
  • Compute without materializing. A per-gene statistic (say, finding the most variable genes) is computed by streaming the matrix in column blocks, so memory stays bounded and the matrix is never expanded into a dense array.
ds = lstar.read("big.lstar.zarr", lazy=True)     # opens in MBs, not GBs
# per-gene mean/variance over log-normalized counts, streamed in bounded memory:
mean, var, nnz = lstar.stream_col_stats(ds.field("counts").values,
                                        lognorm=True,   # normalize on the fly; the dense matrix is never built
                                        n_threads=8)    # use as many cores as you like
top_variable_genes = var.argsort()[::-1][:2000]

When you write a store, chunking and compression make these reads cheap (a lazy read fetches only the chunks it needs):

import numcodecs
lstar.write(ds, "big.lstar.zarr", chunk_elems=1_000_000, compressor=numcodecs.GZip(5))

In practice this is fast and frugal: opening that 40,220 × 20,138 matrix lazily uses ~9 MB instead of ~780 MB, per-gene statistics stream in bounded memory, and the heavy reductions run on a shared C++ core (used automatically when available, ~8× faster on 16 threads, identical results in Python, R, and the browser). Measurements and the full picture are in misc/plan1.md §12.

Languages and components

what it is
Python (python/) the lstar package on zarr-python, with an optional compiled C++ accelerator
R (R/) the lstar package; the format profiles (Seurat, SCE, Conos) live here
C++ (core/) libstar, the header-only core: the model, chunked+gzip Zarr IO, and the fast kernels
Browser/Node (js/) a TypeScript reader (zarrita) + the kernels compiled to WebAssembly, for viewers
docs/         principles, the model & format specs, conversions, worked examples
core/         libstar — the C++ core
python/  R/   the Python and R packages
js/           the browser/WASM data layer
conformance/  the shared round-trip / cross-format / cross-language test suite
examples/     runnable, commented end-to-end demos
misc/         the design proposal (Lstar_proposal.md) + plans

Documentation

  • docs/principles.md — the idea and the reasoning. Start here.
  • docs/conversions.md — using lstar as glue between formats (incl. the lstar convert CLI).
  • docs/mapping.md — the deterministic role→slot conversion contract + native-acceptance.
  • docs/model.md — the model: axes, fields, roles, collections.
  • docs/format.md — the on-disk Zarr layout.
  • docs/examples.md — worked, commented examples (Python, R, C++, browser).
  • SUPPORT.mdformat & language support matrix: what converts/reads/writes today, per format and per language, with real-vs-synthetic test coverage and the known gaps.

The full normative specification (the model, the Zarr schema, and the bidirectional profile rule catalog for every format) is the proposal, misc/Lstar_proposal.md.

License

MIT.

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

lstar_sc-0.1.0.tar.gz (258.0 kB view details)

Uploaded Source

Built Distributions

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

lstar_sc-0.1.0-cp312-cp312-win_amd64.whl (161.6 kB view details)

Uploaded CPython 3.12Windows x86-64

lstar_sc-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl (1.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.28+ x86-64

lstar_sc-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (445.9 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

lstar_sc-0.1.0-cp311-cp311-win_amd64.whl (159.0 kB view details)

Uploaded CPython 3.11Windows x86-64

lstar_sc-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.28+ x86-64

lstar_sc-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (443.0 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

lstar_sc-0.1.0-cp310-cp310-win_amd64.whl (158.5 kB view details)

Uploaded CPython 3.10Windows x86-64

lstar_sc-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.28+ x86-64

lstar_sc-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (441.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

lstar_sc-0.1.0-cp39-cp39-win_amd64.whl (158.7 kB view details)

Uploaded CPython 3.9Windows x86-64

lstar_sc-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.9manylinux: glibc 2.28+ x86-64

lstar_sc-0.1.0-cp39-cp39-macosx_11_0_arm64.whl (441.9 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

lstar_sc-0.1.0-cp38-cp38-win_amd64.whl (158.1 kB view details)

Uploaded CPython 3.8Windows x86-64

lstar_sc-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.8manylinux: glibc 2.28+ x86-64

lstar_sc-0.1.0-cp38-cp38-macosx_11_0_arm64.whl (441.4 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

File details

Details for the file lstar_sc-0.1.0.tar.gz.

File metadata

  • Download URL: lstar_sc-0.1.0.tar.gz
  • Upload date:
  • Size: 258.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lstar_sc-0.1.0.tar.gz
Algorithm Hash digest
SHA256 48f5029a68ad14f284b54e1cdac90a4923ed18672716dba441d86843b7a541bc
MD5 581ee21e94ace693b4337332bc895616
BLAKE2b-256 02e660051d1cd843ee04d759cbd5ea7fdc94bf161d59933a1c638a4affbc88b3

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0.tar.gz:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: lstar_sc-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 161.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lstar_sc-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 ccbc93724e2a49810909b936ac3c7208ecbd68b9a2c6fb5c439b15673fa1addf
MD5 0da1945e40584ce2db7a6f36fdb6c02c
BLAKE2b-256 e5ddf71be91018bd5e091c1296f68dcecf55f0882a1d3c350d88dec86cebd8c0

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8a4204b1fcf7080ed8254e1669c02797c8a21f91b500f709cf70915fe7018e07
MD5 763cea14e724e059d4d4c9d4fd772b98
BLAKE2b-256 197fa2baea2b8148abd2d0a59a03601658ef9f1192f45ba25dcede67902bfc7b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp312-cp312-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1e3fce98d1b8f525f5a7bbac306a70cb94b9ac8d4962ecfb2d762eb89a8b9c23
MD5 c36535a324c40000f71e34d487948fb8
BLAKE2b-256 484c532b827884f704121d1caef42b9f70eedc7e409fb3efab7b90f2573b5125

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: lstar_sc-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 159.0 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lstar_sc-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 ff12dee2c6b3680bbef224c7ba625879ddfa0b2aa65aca985ba80254ba5ec79c
MD5 2f2df5c9e11cd8fc8c7c2d85647e7e09
BLAKE2b-256 f1d5bb42a6a70a5e2813fa80a7d4d61e6e0173ec0a7161c5566588a251a33248

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0d74a8d31e90dcf2c70543e6228e3b5f23db532b62507ebd6115dd33af676e30
MD5 b9598c7ec74c4137a184764cdfcb8284
BLAKE2b-256 757435ca9063b0fa02617adb2ba69746c1942426c34c35c11170074d24089512

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp311-cp311-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c184e0a398f0882680f83ddf4426a73cd112fd4f688e6c118e20bc1c3990e569
MD5 f7801d315e09d09450b9effd339273ec
BLAKE2b-256 e0eaa92cb9434be4a69e2dbb308f0fc1cb97a1eb2ead47d0a4824501cd0ea0bd

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: lstar_sc-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 158.5 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lstar_sc-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 ef93ca8ba696ac8351280318f5c61ed05cea078bd09cc10fc0ec2cf1d4c81ec6
MD5 4de3d49f33ae19867339b38ca37327a2
BLAKE2b-256 a336bd35a3308a71cfb06f8efc30d3fbd8ca1ce760284ac5940310c243046167

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 fac8b6973cfd7e22ff14f6073e6583dc3aadb6b916cc2200207202549680136f
MD5 11b84e80e288d5159df6aff186dd7919
BLAKE2b-256 d19856629717946399f7387e04ee12883785aa7e2a769c8e6cb99e8b3fdb4caa

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp310-cp310-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8624877cb2a118def11af4729f51e228999dbcfc5dfd8051030eb6abb75ccf72
MD5 43798560cd71a9c0376226c72647496c
BLAKE2b-256 d2354b3a4ff5ec458fd849f73e19291f29c4bbba1db47dbc5507760c1a164674

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: lstar_sc-0.1.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 158.7 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lstar_sc-0.1.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 6c1ed32c994bd9a81ad250c82f74aa968b2cb4bf7aae454a3014d760e1eb7e6b
MD5 86204f85cf817310d5bebec225237f9e
BLAKE2b-256 9d64aef618197cc27d56d0ee8b2bfe6f97361188a223838ff42a6dfa7c3035d7

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp39-cp39-win_amd64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 0ca44da3f52933ad5096cb0970820a913cd5d995aa597b53875c97761f2cd46d
MD5 f54ed13ea7c498ef40f30190f97ff4c3
BLAKE2b-256 108a0b83184577c49108334ddc96af00e7300bc277051ddeda511178fc715fde

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp39-cp39-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 31c26f5dc95806030168ba3ec6bd69374bbfad1b127427c9213e703f2641acd2
MD5 f5d278cb62ef4800b2ad82344e77b60d
BLAKE2b-256 f2e4b008eabb06c608b30aa58cd0d4bdc17002a1c1f019de20d29d271fd4138b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: lstar_sc-0.1.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 158.1 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for lstar_sc-0.1.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 427444feb78b1df5896838fb44286f8ee36f23234e2e596dfa4e9f9caf8fea36
MD5 4edb8c25ce1c72ded806ff94f21b70cd
BLAKE2b-256 b422d03ae2bb73715cbdabe3dbed86a80bb2bf15b8d8aeddf72fe1999b5bf498

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp38-cp38-win_amd64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 8bfe8720d6e0e0261f23226119782c77bda917566572ea7d7958b047cac5ff8b
MD5 b604cd85f0757a5e65ebee653b3f654a
BLAKE2b-256 4298f4f5b7cf171728cf3135d30a3183386986c6b409db9859d833c4193bfad9

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp38-cp38-manylinux_2_28_x86_64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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

File details

Details for the file lstar_sc-0.1.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for lstar_sc-0.1.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 bd2501428e9c14d147fcf061e8741796b80e622dfb30337fe3f73187e0860327
MD5 8c741846090693d19ec2e235889478fa
BLAKE2b-256 b0aeea2d160e662ae22ae3e062aa033b55a2ca230d10de5ab089f14ef73bfb4b

See more details on using hashes here.

Provenance

The following attestation bundles were made for lstar_sc-0.1.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: wheels.yml on kharchenkolab/lstar

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