High-performance LZ76 compression graphs for immune receptor repertoire analysis
Project description
LZ76 and FlashBack compression graphs for immune receptor repertoire analysis
Documentation · Quick Start · API Reference · Report Bug
LZGraphs is a Python library that turns T-cell and B-cell receptor CDR3 sequences into probabilistic directed graphs. It ships two graph families on a shared C core:
LZGraph: built from Lempel-Ziv 76 compression. Supports V/J gene annotation, three encoding variants, and alzgCLI.FlashBackGraph: a Markovian DAG built from FlashBack tokenization (recursive run-peeling from both ends of the sentinel-wrapped sequence). Diversity, entropy, and path counting have closed-form forward-DP solutions; sequence simulation is still sampled.
Both classes share a common surface for scoring, simulation, diversity, graph algebra, posterior personalization, and binary serialization. See When to use which for a comparison.
An LZGraph built from three CDR3s. @ and $ are start/end sentinels; subpattern nodes carry position suffixes.
Installation
pip install LZGraphs
Requires Python 3.9 or later. Wheels are published for Linux, macOS, and Windows (CPython 3.9–3.12). Release history: CHANGELOG.md.
Input format
For programmatic use, all classes accept a plain list of CDR3 strings:
LZGraph(['CASSLEPSGGTDTQYF', 'CASSDTSGGTDTQYF', ...], variant='aap')
For files (the CLI and FlashBackGraph.from_file), three formats are supported:
| Format | Layout | Example |
|---|---|---|
| Plain | one sequence per line | CASSLEPSGGTDTQYF |
| Seq + count | sequence\tcount (tab-separated) |
CASSLEPSGGTDTQYF\t42 |
| AIRR-compatible TSV | tab-separated, with header row | junction_aa, v_call, j_call, ... |
For AIRR TSV: the sequence column is auto-detected from junction_aa / cdr3_amino_acid / cdr3_aa (variant aap), junction / cdr3_rearrangement (variant ndp), or any column named sequence/cdr3/seq. Gene calls come from v_call / j_call and must use IMGT-style notation (e.g. TRBV5-1*01). Gzipped inputs (.tsv.gz) are supported transparently.
Quick Start: LZGraph
from LZGraphs import LZGraph
# Build a graph from CDR3 amino acid sequences
graph = LZGraph(
['CASSLEPSGGTDTQYF', 'CASSDTSGGTDTQYF', 'CASSLEPQTFTDTFFF',
'CASSLGQGSTEAFF', 'CASSLGIRRT'],
variant='aap',
)
# Score a sequence
log_p = graph.pgen('CASSLEPSGGTDTQYF')
print(f"log P(gen) = {log_p:.2f}")
# Simulate new sequences
result = graph.simulate(1000, seed=42)
print(f"Generated {len(result)} sequences")
# Diversity
print(f"D(1) = {graph.effective_diversity():.1f}")
print(f"D(2) = {graph.hill_number(2):.1f}")
With gene annotation
from LZGraphs import LZGraph
sequences = ['CASSLEPSGGTDTQYF', 'CASSDTSGGTDTQYF',
'CASSLEPQTFTDTFFF', 'CASSLGQGSTEAFF']
graph = LZGraph(
sequences,
variant='aap',
v_genes=['TRBV16-1*01', 'TRBV1-1*01', 'TRBV5-1*01', 'TRBV7-2*03'],
j_genes=['TRBJ1-2*01', 'TRBJ1-5*01', 'TRBJ2-7*01', 'TRBJ1-2*01'],
)
# Gene-constrained simulation
result = graph.simulate(100, sample_genes=True, seed=42)
print(result.v_genes[0], result.j_genes[0])
LZGraph encoding variants
| Variant | Input | Node format | Best for |
|---|---|---|---|
'aap' |
Amino acid CDR3 | C_2, SL_6 |
Most TCR/BCR analysis |
'ndp' |
Nucleotide CDR3 | TG0_4 |
Nucleotide-level analysis |
'naive' |
Any strings | C, SL |
Motif discovery, ML features |
Command line
lzg build repertoire.tsv -o rep.lzg
lzg score rep.lzg sequences.txt
lzg diversity rep.lzg
lzg simulate rep.lzg -n 10000 --seed 42
lzg compare healthy.lzg disease.lzg
Quick Start: FlashBackGraph
from LZGraphs import FlashBackGraph
# Build a Markovian DAG from CDR3 sequences
graph = FlashBackGraph(
['CASSLEPSGGTDTQYF', 'CASSDTSGGTDTQYF', 'CASSLEPQTFTDTFFF',
'CASSLGQGSTEAFF', 'CASSLGIRRT'],
)
# Score a sequence (exact forward DP, no MC)
log_p = graph.pgen('CASSLEPSGGTDTQYF')
print(f"log P(gen) = {log_p:.2f}")
# Simulate from the Markovian distribution
result = graph.simulate(1000, seed=42)
# Diversity, entropy, path count: closed-form via forward DP
print(f"D(1) = {graph.effective_diversity():.1f}")
print(f"D(2) = {graph.hill_number(2):.1f}")
print(f"# distinct paths = {graph.path_count:.3e}")
# SCALE: self-calibrated anomaly score for flagging atypical / error sequences
cal = graph.calibrate_scale(seed=42) # calibrate once against the graph
print(f"SCALE = {graph.scale_score('CASSLEPSGGTDTQYF', cal):.2f}") # higher = more anomalous
Build from a file (streaming, constant memory)
from LZGraphs import FlashBackGraph
# Write a tiny example file (one CDR3 per line, or seq<TAB>count for abundance)
with open('repertoire.tsv', 'w') as f:
for s in ['CASSLEPSGGTDTQYF', 'CASSDTSGGTDTQYF', 'CASSLGQGSTEAFF']:
f.write(s + '\n')
graph = FlashBackGraph.from_file('repertoire.tsv')
print(graph.n_nodes, 'nodes')
For incremental / checkpointed builds over very large repertoires, use FlashBackStream: same accumulator with add_sequences(), snapshot(), and finalize(). See the class docstring (help(FlashBackStream)) for the streaming protocol.
When to use which
LZGraph |
FlashBackGraph |
|
|---|---|---|
| Tokenization | LZ76 dictionary | FlashBack (run-peeling) |
| Structure | LZ-constrained walks | Markovian DAG |
| Diversity / entropy / path count | Analytical (with MC where needed) | Closed-form forward DP |
| Self-calibrated anomaly scoring (SCALE) | No | Yes |
| V/J gene annotation & gene-conditioned simulation | Yes | No |
| Encoding variants | aap, ndp, naive |
Single representation |
CLI tool (lzg) |
Yes | No |
| Streaming / incremental build | No | Yes (FlashBackStream) |
Performance
Benchmark figures below are from a single CPU core on a 5,000-sequence amino-acid CDR3 repertoire (mean length 14.7 aa; resulting LZGraph has ~1,700 nodes, ~9,600 edges). See docs/resources/benchmarks.md for the full table and methodology.
| Operation | Throughput |
|---|---|
| Graph construction | ~50,000 sequences/sec (5k seqs in <100 ms) |
pgen() scoring |
~5,000 sequences/sec (constant across batch sizes) |
simulate() |
~4,800 sequences/sec |
| Hill numbers via MC (10k walks) | ~2 sec |
Load / save .lzg |
~100× faster than rebuilding |
For repertoires of ~100k sequences and above, graph construction stays linear and saved .lzg files round-trip in seconds. FlashBackGraph's from_file and FlashBackStream paths operate in bounded memory; we have built and validated graphs with >70,000 nodes and >11M edges this way.
Key Capabilities
Every snippet in this section is paste-and-runnable after the Setup block below. graph flags a method that works on either class; lz_graph is an LZGraph instance and fb_graph is a FlashBackGraph instance. Methods marked LZGraph-only or FlashBackGraph-only are not implemented on the other class.
Setup
from LZGraphs import LZGraph, FlashBackGraph, jensen_shannon_divergence
seqs = ['CASSLEPSGGTDTQYF', 'CASSDTSGGTDTQYF', 'CASSLEPQTFTDTFFF',
'CASSLGQGSTEAFF', 'CASSLGIRRT']
v_genes = ['TRBV5-1*01', 'TRBV5-1*01', 'TRBV5-1*01', 'TRBV7-2*03', 'TRBV7-2*03']
j_genes = ['TRBJ2-7*01', 'TRBJ2-7*01', 'TRBJ2-7*01', 'TRBJ1-2*01', 'TRBJ1-2*01']
lz_graph = LZGraph(seqs, variant='aap', v_genes=v_genes, j_genes=j_genes)
fb_graph = FlashBackGraph(seqs)
graph = lz_graph # `graph` flags methods that work on either class
graph_a = LZGraph(seqs[:3], variant='aap')
graph_b = LZGraph(seqs[2:], variant='aap')
population = LZGraph(seqs * 4, variant='aap')
patient_seqs = ['CASSLGIRRT', 'CASSLGQGSTEAFF']
lz_reference = population
lz_sample = LZGraph(seqs, variant='aap')
Scoring & Simulation
# Log-probability of a sequence (works on LZGraph and FlashBackGraph alike)
graph.pgen('CASSLEPSGGTDTQYF') # single → float
graph.pgen(['seq1', 'seq2', 'seq3']) # batch → np.ndarray
# Simulate (both classes)
result = graph.simulate(1000, seed=42)
result = lz_graph.simulate(100, v_gene='TRBV5-1*01', j_gene='TRBJ2-7*01') # LZGraph only
Diversity & Analytics
graph.effective_diversity() # exp(Shannon entropy)
graph.hill_number(2) # inverse Simpson
graph.hill_numbers([0, 1, 2, 5]) # multiple orders → np.ndarray
# LZGraph-only
lz_graph.pgen_distribution() # analytical log-pgen distribution (Gaussian mixture)
lz_graph.predicted_richness(100_000) # expected unique seqs at depth
lz_graph.predicted_overlap(10000, 50000) # expected shared sequences
lz_graph.predict_sharing([1000]*5, max_k=5) # sharing spectrum across donors
# FlashBackGraph-only (closed-form)
fb_graph.path_count # exact count of distinct walks
cal = fb_graph.calibrate_scale(seed=0) # self-calibrate the SCALE anomaly score (once)
fb_graph.scale_score('CASSLEPSGGTDTQYF', cal) # SCALE: higher = more anomalous
fb_graph.pgen_moments() # exact moments of log-pgen distribution
Graph Algebra
combined = graph_a | graph_b # union (LZGraph and FlashBackGraph)
shared = graph_a & graph_b # intersection (both)
unique_a = graph_a - graph_b # difference (both)
personal = population.posterior(patient_seqs, kappa=10.0) # Bayesian update (both)
Repertoire Comparison
jsd = jensen_shannon_divergence(graph_a, graph_b) # natural log (nats): 0.0 identical, ln(2) ≈ 0.693 disjoint
ML Feature Extraction
graph.feature_stats() # 15-element summary vector (both classes)
# LZGraph-only
lz_reference.feature_aligned(lz_sample) # project sample into a fixed reference space
lz_graph.feature_mass_profile() # position-based mass distribution
Serialization
# Both classes use the same .lzg binary format, but each file is class-specific.
lz_graph.save('rep_lz.lzg')
loaded_lz = LZGraph.load('rep_lz.lzg')
fb_graph.save('rep_fb.lzg')
loaded_fb = FlashBackGraph.load('rep_fb.lzg')
Documentation
Full documentation with tutorials, concept guides, and API reference:
https://MuteJester.github.io/LZGraphs/
- Quick Start: build your first graph in 5 minutes
- Tutorials: graph construction, sequence analysis, diversity metrics
- API Reference: complete class and function reference
- CLI Reference: terminal tool documentation
Citation
If you use LZGraphs in published research, please cite the methods paper. If you also want to cite a specific software version, add the software entry below.
@article{konstantinovsky2023novel,
title={A novel approach to T-cell receptor beta chain ({TCRB}) repertoire encoding using lossless string compression},
author={Konstantinovsky, Thomas and Yaari, Gur},
journal={Bioinformatics},
volume={39},
number={7},
pages={btad426},
year={2023},
publisher={Oxford University Press},
doi={10.1093/bioinformatics/btad426}
}
@software{lzgraphs_software,
author={Konstantinovsky, Thomas},
title={{LZGraphs}: {LZ76} and {FlashBack} compression graphs for immune repertoire analysis},
url={https://github.com/MuteJester/LZGraphs},
year={2026}
}
Contributing
Contributions are welcome. Please open an issue or submit a pull request.
Local development setup
LZGraphs builds a CPython extension from a C library at install time, so a working C toolchain is required:
- Linux:
gccorclang(any version supporting C11) - macOS: Xcode command-line tools (
xcode-select --install) - Windows: Visual Studio Build Tools with the "Desktop development with C++" workload
Then:
git clone https://github.com/MuteJester/LZGraphs.git
cd LZGraphs
pip install -e ".[dev]" # editable install + dev extras (pytest, pytest-cov, ruff, scipy, build)
pytest # run the test suite (~505 tests)
PR checklist
- Fork the repository
- Create a feature branch (
git checkout -b feature/my-feature) - Add tests for new functionality; make sure
pytestandpytest tests/regression/both pass - Commit your changes (small, focused commits preferred)
- Push and open a Pull Request describing the motivation and any API changes
License
MIT License. See LICENSE for details.
Contact
Thomas Konstantinovsky, thomaskon90@gmail.com
GitHub · PyPI · Documentation
Project details
Release history Release notifications | RSS feed
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 lzgraphs-3.1.0.tar.gz.
File metadata
- Download URL: lzgraphs-3.1.0.tar.gz
- Upload date:
- Size: 252.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb5b13a75b2075aba91452c62642d93623fa7a601dafcc4c3a3ce705f2b924ff
|
|
| MD5 |
fa96614569d9826b99b94ec86cb233ec
|
|
| BLAKE2b-256 |
bc0d2674bcbcab1ba497e301def4c67ba469b729a00ada1d82b83747e402f11a
|
File details
Details for the file lzgraphs-3.1.0-cp313-cp313-win_amd64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp313-cp313-win_amd64.whl
- Upload date:
- Size: 194.0 kB
- Tags: CPython 3.13, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e58b8fcbd43543141a3037cf98aa9a37a4a8c355b7f16a5a704a308bb9b410bb
|
|
| MD5 |
e9c8ccb7f267ad34ce95394d628fb12f
|
|
| BLAKE2b-256 |
a2f85cbf0f7a523f7295d8314936773635561ecf346cc61ff11077ff3c56e701
|
File details
Details for the file lzgraphs-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp313-cp313-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 520.1 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
819149ba85a9e829ab20f61c65b04fb42abc6711ba621c9b91ae3bac90ed2220
|
|
| MD5 |
225a4678fca907770107a78185f2dbc7
|
|
| BLAKE2b-256 |
e761c682a885b4734937bd6adf65ee630df8e9153b8d076af5a9233bbbf3e605
|
File details
Details for the file lzgraphs-3.1.0-cp313-cp313-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp313-cp313-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 516.6 kB
- Tags: CPython 3.13, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
97314fbe67917b8143a37019a367cb8fd0e381525a6892810fe3d477485da90b
|
|
| MD5 |
14088af2060db1cebfd721db5185b6a5
|
|
| BLAKE2b-256 |
5444a0d12ff7bd82ab6133050d7ba3e4e4516c471e7edab648a97765bbf3fbda
|
File details
Details for the file lzgraphs-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 530.4 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
af5d4e1e5b92163fd11ab07bf275eda3bf68adeda89bfc323512884aed6161fa
|
|
| MD5 |
96b867b391336768b1fbd7423c23999d
|
|
| BLAKE2b-256 |
9ea92558b7921ef43c08085eef37065fc605115fc1fb5266f461eb99ece58147
|
File details
Details for the file lzgraphs-3.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 526.8 kB
- Tags: CPython 3.13, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
ab65e4291e887c28d05377cd293e8fa344e662d6faa30928107e856b92ed4415
|
|
| MD5 |
4b1055563929b85c96df86286ba00678
|
|
| BLAKE2b-256 |
0422931fc7a0290d62499339626bfe296e63d49b2a08f9309ecdb43f11d55e56
|
File details
Details for the file lzgraphs-3.1.0-cp313-cp313-macosx_11_0_arm64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp313-cp313-macosx_11_0_arm64.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.13, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a4b500e0c8f1591226186041341c85ae2671c37051aa810e287895aa38b5f315
|
|
| MD5 |
e20d0a8eb03ff691ddee123a7b86f881
|
|
| BLAKE2b-256 |
adf89b9e5fd2dcedf9f757472f5ecd74ce391d9f6cfc48f9f91a1a3935e955d5
|
File details
Details for the file lzgraphs-3.1.0-cp312-cp312-win_amd64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp312-cp312-win_amd64.whl
- Upload date:
- Size: 194.0 kB
- Tags: CPython 3.12, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f23793b5d1ccc028fbb1b73d988a3f489f77c86db8d88a42b0d9b3cee5ba5e05
|
|
| MD5 |
0fa007fdf487016e32ce8d8a67947e31
|
|
| BLAKE2b-256 |
b46cd24eccb0082bbb3c14de2b847136cc00b3bdc33628276f8a2d73ce31def4
|
File details
Details for the file lzgraphs-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp312-cp312-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 520.1 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9db97b07e1920ace37cc70233a244a323c18fcf8b82d367b915d3cba4cd7700e
|
|
| MD5 |
0cf1cabb2e33c5bca680411406135751
|
|
| BLAKE2b-256 |
82571ce61e0c9081fc2eab7737923e37f115ad474e33c7ad2df2df22f21ff13b
|
File details
Details for the file lzgraphs-3.1.0-cp312-cp312-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp312-cp312-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 516.5 kB
- Tags: CPython 3.12, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a53ba3a075c86d7779a73426df8380c171ca714967ad6066b5cf605a16892c1e
|
|
| MD5 |
e92dbe1bbde26d06958bdad7e6fbc49b
|
|
| BLAKE2b-256 |
83c8f2f83f61fc678f0f9d22873eb9d6cba1256187654ea6fda84da89e8c327d
|
File details
Details for the file lzgraphs-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 530.5 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4d9de676c7a76897e043cbc469147fc9ff83353e6aff139b983a2bcbfb6aff6e
|
|
| MD5 |
c57210c3a9e8f7951f01f1792ee54c54
|
|
| BLAKE2b-256 |
8b25f936b53237dfdd42a710218c27e54538945ead803f06d65648c129c089b0
|
File details
Details for the file lzgraphs-3.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 526.9 kB
- Tags: CPython 3.12, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9715ede6c43b911118b8415534ec07223bc0e5e4998e27c2053aa611375b57a4
|
|
| MD5 |
fa8e49bea9b9b8b4314676bcff35314e
|
|
| BLAKE2b-256 |
ec9ff05ab29dba45c88b7a172bfe093aafae45546d271e303341862e9f11d509
|
File details
Details for the file lzgraphs-3.1.0-cp312-cp312-macosx_11_0_arm64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp312-cp312-macosx_11_0_arm64.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.12, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5118b4369645b9256b05b33f7f383e8698362fe8b721731f6ced95c881ff435c
|
|
| MD5 |
d02582f33ac92349000d269675e2c6cd
|
|
| BLAKE2b-256 |
e2e474815f6d82e439855f30fda23b77f735dc53ba011915426097ebe3903cef
|
File details
Details for the file lzgraphs-3.1.0-cp311-cp311-win_amd64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp311-cp311-win_amd64.whl
- Upload date:
- Size: 193.9 kB
- Tags: CPython 3.11, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9e50b663ca6b21d66c959cda1574637b7048f526c6ad5b32bd14a91a8adb1337
|
|
| MD5 |
81d03e57d29dc28bcb92637a9227aaed
|
|
| BLAKE2b-256 |
a45508eced8adbe9e51ed21d2413bc6793371628389ad1b77134df181a48e571
|
File details
Details for the file lzgraphs-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp311-cp311-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 519.9 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
14d1e97d39a6f2ad9e0f492e9402d8c294f791d6b2573d699c6e098d37269201
|
|
| MD5 |
c7e34482074e166f9ebb5bbc724662aa
|
|
| BLAKE2b-256 |
3ac9a5b181d0a81449dfc26ecfdb569cc11fb69e7e5ce5df7c99a279578533c0
|
File details
Details for the file lzgraphs-3.1.0-cp311-cp311-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp311-cp311-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 516.7 kB
- Tags: CPython 3.11, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
38971033108b81975cfd209611241697e78bf7b6aa2a055072a7a353fb896392
|
|
| MD5 |
9834485a2ea976835d88701445c18ee0
|
|
| BLAKE2b-256 |
18467d8f374131f4c2c10fd95c7f8bba720f9e93a85e16536c5c4ec494f74157
|
File details
Details for the file lzgraphs-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 530.5 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f4ebb46fd2290795f19147b61cc99bb220954ffc41fd534cc6e73d302fcb7d9d
|
|
| MD5 |
d2a53ad2b0103123137410b6cc05799c
|
|
| BLAKE2b-256 |
9972c9948ca27e1e5cbc10c2f80467c491667974e28eb6c9c1823c89e518f24e
|
File details
Details for the file lzgraphs-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 527.0 kB
- Tags: CPython 3.11, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4934d830d55c299fec5e6db4ece62b2b94e48bada61fb85a5eb3ac580c2f837d
|
|
| MD5 |
fb829a29ee5ad45c7f7d63662b022e46
|
|
| BLAKE2b-256 |
f33b9bd385034c7516272d8255754a1b3e5b1c0e1fc04db25232f8f3290c70c0
|
File details
Details for the file lzgraphs-3.1.0-cp311-cp311-macosx_11_0_arm64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp311-cp311-macosx_11_0_arm64.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.11, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
15270dad54eabf2f5bff0d0fed4c1f1306eea273b52a822255ea14549f178739
|
|
| MD5 |
cd2fe46703bf041c3bc803e2b7c496d9
|
|
| BLAKE2b-256 |
33fe85a085a4f6547ff98d72569cf826a887fa033802439c532c23d13b783814
|
File details
Details for the file lzgraphs-3.1.0-cp310-cp310-win_amd64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp310-cp310-win_amd64.whl
- Upload date:
- Size: 194.0 kB
- Tags: CPython 3.10, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
33b929fd11598d37bbc02d1e1fa075a7fdfe4fec41be2cf0a077029179b28c8a
|
|
| MD5 |
38de26736470a9e7e01657ef48550f67
|
|
| BLAKE2b-256 |
ec72371eda34659566fd4d07f84dda6b3ea7faaae6bdb2faef40271e99f54ba7
|
File details
Details for the file lzgraphs-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp310-cp310-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 512.9 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a845e7a03448082dfe537e934514afaf0cb0325195b893455ecb3e60f9597175
|
|
| MD5 |
adec056ad2a93c97f0d22bccaeedae34
|
|
| BLAKE2b-256 |
ce551c36b5edd07c419cbc46fee73af3e36576a8b024e3f3b6edff4d0b96f5c9
|
File details
Details for the file lzgraphs-3.1.0-cp310-cp310-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp310-cp310-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 509.2 kB
- Tags: CPython 3.10, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
3d069595e352761a117adcb63fc5835589f102fc3994c3cc2429a760ff8e4301
|
|
| MD5 |
d0231093efe95b584360601a764242c9
|
|
| BLAKE2b-256 |
7e2c79da318ff3c4b59cbe5d81e406d6be41b8c855b5c6742542764f14048f5a
|
File details
Details for the file lzgraphs-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 523.0 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4826a8541ea158ee591af0188938d14d9cc5ed6fb31f375db337ae3543bda08d
|
|
| MD5 |
20ef96fde77e1d21ccca225ab92e6720
|
|
| BLAKE2b-256 |
e1cc0e5c02124f3e6b4c4bc90523aedc655210468e012773c0cb03d0f57636c0
|
File details
Details for the file lzgraphs-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 519.5 kB
- Tags: CPython 3.10, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
825d4ff8fe51f5011418d8cb542e8bf4490565a66b3ca14aadc1486c50bf9b32
|
|
| MD5 |
35bbcd9b84b749ec7c2981476fb16f51
|
|
| BLAKE2b-256 |
5409882a706ba42002def0566ee10d0c39fc708e95076fa864513292a109f462
|
File details
Details for the file lzgraphs-3.1.0-cp310-cp310-macosx_11_0_arm64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp310-cp310-macosx_11_0_arm64.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.10, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c20343c6882aeb0671511fc205819b0f69fad19393bebbc69f7fb4b7e84f458e
|
|
| MD5 |
d823b1b998b5a01a74ee3ae52bc6afb6
|
|
| BLAKE2b-256 |
a17aa29778f32dd36c431db26eb1be017723443a0a32b2958c1c500fd3d35623
|
File details
Details for the file lzgraphs-3.1.0-cp39-cp39-win_amd64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp39-cp39-win_amd64.whl
- Upload date:
- Size: 194.0 kB
- Tags: CPython 3.9, Windows x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
88fd453247b0c28ecc8365699eba9b86425099d1d5d4e22b0910e40da764a137
|
|
| MD5 |
57d61365c430705751d449fe5140f587
|
|
| BLAKE2b-256 |
8fe14a5cd09de329eb9f05b7eaf8862bce52b6537311d06a74a94e9d0a8806e4
|
File details
Details for the file lzgraphs-3.1.0-cp39-cp39-musllinux_1_2_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp39-cp39-musllinux_1_2_x86_64.whl
- Upload date:
- Size: 512.5 kB
- Tags: CPython 3.9, musllinux: musl 1.2+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
04428a58620c457011e34136a551aa7796ef97c3740b2d14993f1200a9b34a43
|
|
| MD5 |
95b0ada1a7796425e5ac4a45a6c1f005
|
|
| BLAKE2b-256 |
c117ca9fbf14e6f0da65c5712da2f89652433d00731d8c8d9afef5eea6862177
|
File details
Details for the file lzgraphs-3.1.0-cp39-cp39-musllinux_1_2_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp39-cp39-musllinux_1_2_aarch64.whl
- Upload date:
- Size: 508.9 kB
- Tags: CPython 3.9, musllinux: musl 1.2+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f2dcea16f4e26adbd0af67f09b24064d74845ca414ecf325a84431fb71f6cc3b
|
|
| MD5 |
8dd6c81864ef153c1109f23c16f38d81
|
|
| BLAKE2b-256 |
510f43b2f37a6151ddd390cfdbbe70317ac5d31557b7feec832d70f500c13cac
|
File details
Details for the file lzgraphs-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
- Upload date:
- Size: 522.6 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ x86-64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5b8150357b3084733706b57ca2bb0d32f09e0b9a659df52fd76e177702df7a81
|
|
| MD5 |
99c73e6a38e1643511fc9bae9965bac4
|
|
| BLAKE2b-256 |
e9f62e60e7be7e907d5124d56f0a51bef1d6c0908a2f0d60766fb44b37e3e829
|
File details
Details for the file lzgraphs-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
- Upload date:
- Size: 519.2 kB
- Tags: CPython 3.9, manylinux: glibc 2.17+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
d92b9885303e2e87c1f58cc669a7dede822a3b42d1de0879f9c83f78777cd0e7
|
|
| MD5 |
827ca6eb6542fa083c73977d692331ac
|
|
| BLAKE2b-256 |
829eb4985920eea1a56d3a12643b16d6d33b49549f7230848120e492ed7ab4a7
|
File details
Details for the file lzgraphs-3.1.0-cp39-cp39-macosx_11_0_arm64.whl.
File metadata
- Download URL: lzgraphs-3.1.0-cp39-cp39-macosx_11_0_arm64.whl
- Upload date:
- Size: 179.2 kB
- Tags: CPython 3.9, macOS 11.0+ ARM64
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
dabf881367fdbb1fa764e95c530fa30e8f404ce7599d6fa955d281acd769f345
|
|
| MD5 |
18c5b23e076aeb53ee2c4db3be39e296
|
|
| BLAKE2b-256 |
bd230b411c5d3d65af7d32381eeb2ff127af0c8a1e61d36a66b03a4d6d7b0262
|