sqlite-lsm1
Fast Python bindings for SQLite's LSM1 key/value store. LSM1 originated in the experimental SQLite4 project and now lives in the SQLite source tree. This package builds the engine and its Cython wrapper into a single native Python extension.
Features:
- Embedded, zero-configuration key/value database.
- Ordered traversal and nearest-key lookups using cursors.
- Nested transactions.
- Atomic streaming upserts, deletes, and mixed write batches.
- Validated sorted-write acceleration and direct sorted-run ingestion.
- Single-writer/multiple-reader MVCC concurrency.
- Checksummed transaction log and crash recovery.
- Linux, macOS, and Windows wheel builds.
- Python 3.9 and newer.
The durable database is stored in one main file. While a database is open,
LSM1 also uses -log and -shm sidecar files for recovery and shared state.
The sidecars are normally removed when the final connection closes cleanly.
Installation
Install a published wheel with pip:
python -m pip install sqlite-lsm1
Building from source requires a C compiler. Cython is installed automatically in pip's isolated build environment:
git clone https://github.com/carlopires/python-lsm-db
cd python-lsm-db
python -m pip install .
The distribution is named sqlite-lsm1; the import remains lsm for
compatibility with applications using the original package.
Quick start
Create a database by passing its path to LSM:
from lsm import LSM
db = LSM("test.ldb")
Keys and values
The database has a dictionary-like API:
db["foo"] = "bar"
assert db["foo"] == b"bar"
for i in range(4):
db[f"k{i}"] = str(i)
assert "k3" in db
assert "k4" not in db
del db["k3"]
Strings are encoded as UTF-8. Retrieved keys and values are always bytes.
Other input objects are converted to strings before being encoded; use
bytes directly when an exact binary representation matters.
Missing exact lookups raise KeyError. Nearest-key searches use SEEK_LE
and SEEK_GE:
from lsm import SEEK_GE, SEEK_LE
assert db["k1xx", SEEK_LE] == b"1"
assert db["k1xx", SEEK_GE] == b"2"
upsert_many() atomically inserts or replaces either a mapping or an
iterable of (key, value) pairs. insert_many() is a compatibility alias:
rows = ((f"key-{i}", f"value-{i}") for i in range(10_000))
inserted = db.upsert_many(rows, batch_size=4096)
assert inserted == 10_000
The input is streamed through bounded native chunks while one outer
transaction preserves all-or-nothing behavior. If conversion or a native
write fails, every chunk is rolled back. update() provides the same
behavior for mappings. Point deletes and ordered mixed operations have
matching APIs:
db.update({"alpha": "a", "beta": "b"})
db.delete_many(["old-1", "old-2"])
db.apply_batch([
("put", "account:1", "active"),
("delete", "stale-key"),
("delete_range", "session:0000", "session:9999"),
])
For incrementally assembled mixed batches, use the context manager. It flushes bounded chunks internally but commits them as one atomic unit:
with db.write_batch(batch_size=4096) as batch:
batch.put("a", "1")
batch.delete("b")
batch.delete_range("cache:0000", "cache:9999")
When point-operation keys are strictly increasing, pass sorted=True.
Ordering is validated across chunk boundaries and the native engine uses its
right-edge append path once possible:
db.upsert_many(sorted_rows, sorted=True)
db.delete_many(sorted_keys, sorted=True)
For a large, already sorted initial load, ingest_sorted() bypasses the live
tree and writes one immutable disk run:
db.ingest_sorted(sorted_rows)
This direct path materializes the input before writing, requires strictly increasing keys, and cannot run with an open transaction or cursor. It publishes the completed run atomically and checkpoints it before returning.
Slices and iteration
Iteration yields (key, value) byte pairs in bytewise key order:
list(db)
# [(b"alpha", b"a"), (b"beta", b"b"), (b"foo", b"bar"),
# (b"k0", b"0"), (b"k1", b"1"), (b"k2", b"2")]
Slices return generators and include both bounds:
list(db["k0":"k9"])
# [(b"k0", b"0"), (b"k1", b"1"), (b"k2", b"2")]
list(db["k0":])
list(db[:"k2"])
A descending pair of bounds selects reverse order. For an open-ended reverse
slice, use True as the step:
list(db["k2":"k0"])
# [(b"k2", b"2"), (b"k1", b"1"), (b"k0", b"0")]
list(db["k2"::True])
Slice deletion excludes the boundary keys:
del db["k0":"k9"]
Cursors
Cursors provide explicit control over traversal:
with db.cursor() as cursor:
for key, value in cursor:
print(key, value)
with db.cursor() as cursor:
cursor.seek("k0", SEEK_GE)
rows = list(cursor.fetch_until("k99"))
Always close cursors. A database cannot close while any of its cursors remain open, so using the cursor context manager is recommended.
Transactions
Transactions may be nested:
with db.transaction():
db["k1"] = "outer"
with db.transaction() as nested:
db["k2"] = "nested"
nested.rollback()
assert db["k1"] == b"outer"
assert "k2" not in db
transaction() can also decorate a function. A normal return commits and an
exception rolls back:
@db.transaction()
def store_pair(key1, value1, key2, value2):
db[key1] = value1
db[key2] = value2
Explicit begin(), commit(), and rollback() methods are available when a
context manager is not suitable.
Threads
Potentially blocking database, cursor, and maintenance operations release the GIL. Each connection serializes access with a re-entrant lock. A transaction owns its connection until its outermost commit or rollback, so another thread cannot interleave work with it.
Use one LSM connection per worker thread when actual overlap is desired.
LSM1 permits concurrent readers but still has a single-writer model.
Maintenance and tuning
The most commonly used tuning properties are:
autoflush: live in-memory tree limit in KB; default 1024.autocheckpoint: automatic checkpoint interval in KB; default 2048.automerge: target number of segments merged at once; default 4.autowork: automatically flush and merge during writes; enabled by default.write_safety:SAFETY_OFF,SAFETY_NORMAL, orSAFETY_FULL.transaction_log: enable the recovery log; enabled by default.multiple_processes: enable file locking and shared state; enabled by default.mmap: configure memory-mapped reads.
Applications that disable automatic work should schedule flush(), work(),
and checkpoint() themselves. checkpoint() returns the number of KB made
durable in the database file.
Development
Run the tests from an installed source checkout:
python tests.py
Compare the write paths with the end-to-end durable bulk benchmark:
python benchmarks/bulk_ops.py --rows 50000 --batch-size 4096
Build the documentation with:
python -m pip install -r docs/requirements.txt
sphinx-build -W -b html docs docs/_build/html
The complete API reference is maintained in the project documentation.
License
The Python wrapper is distributed under the MIT License. The vendored SQLite
LSM1 sources are in the public domain. See LICENSE and SQLITE_LICENSE.
Release files for sqlite-lsm1 0.9.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| sqlite_lsm1-0.9.0.tar.gz | 462.2 kB | Details |
Built distributions (wheels)
Total release size: 27.0 MB
Release files / sqlite_lsm1-0.9.0.tar.gz
| Download URL | sqlite_lsm1-0.9.0.tar.gz |
|---|---|
| Size | 462.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
3f57100446e7465f698f9ffb8a783b114a0756c08a9f8aa23ae5e4247cba17ee
|
|
BLAKE2b-256 checksum How to use checksums |
78c242043e45e4144b8cb04859338b3628dcfb2f605898f8e1c27c1ebcc9f8af
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314t-win_amd64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314t-win_amd64.whl |
|---|---|
| Size | 239.9 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2290e9cc1e45f1de122e39a14625f01d4bb3de5c937504ce3381c35c4aeb39d2
|
|
BLAKE2b-256 checksum How to use checksums |
d7e55438ee572dee1084719985e8c32fec667fa91d6d0b2bfa6e02cb41f8310d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314t-win32.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314t-win32.whl |
|---|---|
| Size | 194.8 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading Windows x86-32 |
|
SHA-256 checksum How to use checksums |
1d5204b33dcde972fec4671e8f7aa61bc166ec3bf603f13dbbb1acabbb90b632
|
|
BLAKE2b-256 checksum How to use checksums |
6603de123748fbfc2e111fcee54806da37c551a00918b3979c0d4628b9a2ade6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314t-musllinux_1_2_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314t-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
fa053a684f0f2143290004595dc3b94092f5433bc76d44d55b6ba23b3a275b43
|
|
BLAKE2b-256 checksum How to use checksums |
08a0950dc6a1c4463b87566d98ea0eff16b13d56098656bcbc988289d6fa46bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.14 CPython 3.14 free-threading Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5d2daba05fd6c8c652ff6f6d93f36dbd6fa722d623d20cd5003feabf3f8a4a12
|
|
BLAKE2b-256 checksum How to use checksums |
33f055c6d1597d639abd3c87c0b2721d1a1ed4ec648f4a2686a9104fe0818ee9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314t-macosx_11_0_arm64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314t-macosx_11_0_arm64.whl |
|---|---|
| Size | 259.0 kB |
| Tags | CPython 3.14 CPython 3.14 free-threading macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
32248ec7f27771d51e9dbf7eefd3eefd91e5cc60aa33cf025cfa6b03c23526ef
|
|
BLAKE2b-256 checksum How to use checksums |
b30995d22f5bb10ff5a612a4a2a042b28e84dd314bd818147ccf1484701becbd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314-win_amd64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314-win_amd64.whl |
|---|---|
| Size | 224.2 kB |
| Tags | CPython 3.14 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
358c6bde6c15bf2f4be24584f5d08b56e462c3b98ffd0016e3b0c8b5e4490437
|
|
BLAKE2b-256 checksum How to use checksums |
18219a1d6e56317cd68606158372c7c1da24a6faa7b06f1bbad69cd67ff8cb74
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314-win32.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314-win32.whl |
|---|---|
| Size | 181.8 kB |
| Tags | CPython 3.14 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
b48381a1ad77a005d5118eb7028e4954ce138c5ec2cb74c6a22857451015c317
|
|
BLAKE2b-256 checksum How to use checksums |
3a87a5aa2674b1238d4311db9e3c13f2850f8300d423462296ca7ad4c0d818ae
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314-musllinux_1_2_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.14 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
dc462e39f4ef16ed0bb9da908570b2fd588520279b29516bfb83e92cc8cff247
|
|
BLAKE2b-256 checksum How to use checksums |
aa55cbce66c4fad6dedac51a2d6870732a74c45e0a8bd59abfe5369ba0a90b29
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.14 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
5cbc5d1afa7b4074f02d54d557c84fcf3bdbdda5d6515154351b9da47f4e10a6
|
|
BLAKE2b-256 checksum How to use checksums |
46c4480575edd9c90743ee5e82966dfd523c45d1c7056da77a29aa94b1a9dac3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp314-cp314-macosx_11_0_arm64.whl
| Download URL | sqlite_lsm1-0.9.0-cp314-cp314-macosx_11_0_arm64.whl |
|---|---|
| Size | 244.7 kB |
| Tags | CPython 3.14 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
38b3e157756f828de8951ac5efb3f38e23710aff07c28e1e01421d01c1b0f737
|
|
BLAKE2b-256 checksum How to use checksums |
e840a1869ba3f98dc479436a6a725eda3617ba7cb9901f05b3e6b1c26700906b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp313-cp313-win_amd64.whl
| Download URL | sqlite_lsm1-0.9.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 219.5 kB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
34c8bf2e755dccc2d072031d9e9b6ac3f99aabbf266c2f426b6f6283d9a0a625
|
|
BLAKE2b-256 checksum How to use checksums |
1e2e8459997090ab4d2bc852656600b90144ef0003432f002c1b1e72bd2b1a2d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp313-cp313-win32.whl
| Download URL | sqlite_lsm1-0.9.0-cp313-cp313-win32.whl |
|---|---|
| Size | 178.4 kB |
| Tags | CPython 3.13 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
378627069d8d4dc4c8e6bb6fb3f13f3b7d005fdf212479d71c660d64a4b215f2
|
|
BLAKE2b-256 checksum How to use checksums |
472de19af2f3466a210aaca15cfcdecdfd9244a5c7f2fe956e06ebdc1e7e448d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp313-cp313-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.5 MB |
| Tags | CPython 3.13 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
8b56bb3a7f7a22ecbded351d64c5a552a46c2eac2bf5ce9010c235bd4a83074e
|
|
BLAKE2b-256 checksum How to use checksums |
e734a7817b4fa115e90e4532aee1930fc4b40cc152d703b2c99ab1b3078138a8
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
ac45ce57460e9c5391aeecbe2812348d2e64ab05d0215cf2a776c00fb6b83d07
|
|
BLAKE2b-256 checksum How to use checksums |
57c68596746f08efd87b63eb305452d516e14aef5b21bbe3adde2f3b72d1f497
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | sqlite_lsm1-0.9.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 244.1 kB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0f54bdf6325daf34b087100c91fcf4e8d83da0278a2a72aeb3e5028726c0a162
|
|
BLAKE2b-256 checksum How to use checksums |
068a9a0486b1ec904699cc3e27f9ca865e174abf431148228cf903ef825a3585
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp312-cp312-win_amd64.whl
| Download URL | sqlite_lsm1-0.9.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 219.6 kB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
2fed065b3b08d646ee45c0addae8c2286d226a17d2541e1fe5b590438652a2bd
|
|
BLAKE2b-256 checksum How to use checksums |
96cc819441ddbcc1e299283af43a2d942f885a1c169916b2a05e32202c80211d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp312-cp312-win32.whl
| Download URL | sqlite_lsm1-0.9.0-cp312-cp312-win32.whl |
|---|---|
| Size | 178.5 kB |
| Tags | CPython 3.12 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
4e32244dde2f85f6e870d3536dc84365beee5cbb9683b3f17353627667b1597c
|
|
BLAKE2b-256 checksum How to use checksums |
8ab0eb2d1a68806b58680ed3999743e047c059a992312b0bd2295d58a9f4d22c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp312-cp312-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
c32b7275638a57c96ee5b226356efb80c143a1cecb1ab4f81d1830c6d0d516b7
|
|
BLAKE2b-256 checksum How to use checksums |
a94ac465f378df2059e10ebf720356e741c95f24270d043d14f896f28e49dd35
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
b92926dbeb21b5cbf91f841eae6c4a1943774d13af18fba1c0be10da914dd090
|
|
BLAKE2b-256 checksum How to use checksums |
3961bce7a09429469bc8b28086126cb690d66c1df2f03c8063c17522c08bbe99
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | sqlite_lsm1-0.9.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 244.7 kB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
9d866657302dde18dc9189ba32aeeabc93e6ae2d9a3d155a4f46131f45c75be2
|
|
BLAKE2b-256 checksum How to use checksums |
407f8d2801dcf8278f2ed9f469c0bbf5ddbccf9deaa7392e479d68cbb78eeb95
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp311-cp311-win_amd64.whl
| Download URL | sqlite_lsm1-0.9.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 218.2 kB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
9fa4f2fbc3bcf8119b0902cfc794a4cb4361ef6204cf070c0d239980c775d0a1
|
|
BLAKE2b-256 checksum How to use checksums |
3cbc24c3d34cfc1a4a99636261b5b8791b9fb9a6d7b20b68071acca36904f804
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp311-cp311-win32.whl
| Download URL | sqlite_lsm1-0.9.0-cp311-cp311-win32.whl |
|---|---|
| Size | 181.1 kB |
| Tags | CPython 3.11 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
99fed15a26c6963b0a88e49990ed553580661f5b5001a1817b9f72e7e7425aa4
|
|
BLAKE2b-256 checksum How to use checksums |
9572fae61cc952d7be61591ca0380c026a827361f66d01dec50bd8d40d4353e9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp311-cp311-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
88c0dc3cde83cc08d2623b7a9dff9c08a7878ca66424c9d3d72376c58fa6388f
|
|
BLAKE2b-256 checksum How to use checksums |
5bc6d5a29ee6b3ece511b7c721debc2b28505a7413f6ced854059a752ab294f9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
22331d1f1676731daebe8a6aef85d1d3869c92b4d11542630826f1bf4667112b
|
|
BLAKE2b-256 checksum How to use checksums |
736b799b9915aa626d47d2e31c3cacf148aee1182ef47f98aac7b5775efb420e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | sqlite_lsm1-0.9.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 244.2 kB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
0fc4ed23935c20b39bc395473d1797fdd4818aea76c948ad260bfbadd6068c8c
|
|
BLAKE2b-256 checksum How to use checksums |
478b49907de697bcede8f5dd019ab6a0274952d0d15812aba72a18ff52809863
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp310-cp310-win_amd64.whl
| Download URL | sqlite_lsm1-0.9.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 215.1 kB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
aab6b89782312a541e0a45300eb82a7b90f439c75fb6ffe49f368f16db9bd6b2
|
|
BLAKE2b-256 checksum How to use checksums |
b304969a1b1de7e095aea3db6fc263427a52a2b0f6d7a3172fb3c0a56089c7b4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp310-cp310-win32.whl
| Download URL | sqlite_lsm1-0.9.0-cp310-cp310-win32.whl |
|---|---|
| Size | 180.8 kB |
| Tags | CPython 3.10 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
bd4add24581eb4cd1a3785854771e12808b643a22d1d48ab23e9120ae7d29059
|
|
BLAKE2b-256 checksum How to use checksums |
ab30296107e53f99545e57d459a1578ea03538a42cb5b35995fa8037acb11347
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp310-cp310-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
5b5525988dfc85ecbde61d4a710dc74adbcff322d288d4a3423ffecea5641fc3
|
|
BLAKE2b-256 checksum How to use checksums |
99d963c9357479df5f01e501f36de020b8432591dac29b700bd472c0fcfd6c66
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
f1c5171725d51f01252d43446e4d0f1bb7767592174254f70565069569c13092
|
|
BLAKE2b-256 checksum How to use checksums |
33b8206355ffb9e233278abfe79de32f4ea355cfdfcffa5d8a82fdf42ea9ac13
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | sqlite_lsm1-0.9.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 245.7 kB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
8ab2ffa566bbe6dd6051a5bb08bca7a8c228cd46433d5e96a2921eb46677ed43
|
|
BLAKE2b-256 checksum How to use checksums |
d2b6def771a26c454289cfa1710c462cb2fd14bda85c777f89947cf29d36a5fa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp39-cp39-win_amd64.whl
| Download URL | sqlite_lsm1-0.9.0-cp39-cp39-win_amd64.whl |
|---|---|
| Size | 215.7 kB |
| Tags | CPython 3.9 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
88c7d00a561c099f50f7ee744c43cb071d792c19ee3f0ffc3262dbcacf6aa44a
|
|
BLAKE2b-256 checksum How to use checksums |
e542075d541e620c37e30780224f106ecf34a5feaa5d5506d79cb8aa95078581
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp39-cp39-win32.whl
| Download URL | sqlite_lsm1-0.9.0-cp39-cp39-win32.whl |
|---|---|
| Size | 181.1 kB |
| Tags | CPython 3.9 Windows x86-32 |
|
SHA-256 checksum How to use checksums |
cbe2c844d83048d1b6085ac8221d8c64999f305f2d8c238ab58bdf4152c5c3e1
|
|
BLAKE2b-256 checksum How to use checksums |
250e0f8bbad9f947b336d121ab64b47d4cdc4c60d1fed3f991947f208420873e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp39-cp39-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 |
|
SHA-256 checksum How to use checksums |
4f10743bec403a43e94e7c076f03034c30ce33a72ce19f847d2fc08a81b95cb5
|
|
BLAKE2b-256 checksum How to use checksums |
0f0ed6c83d04c63d2776c56b65a9ebf90912da9d2e43f7f3a5a80ee187a43357
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl
| Download URL | sqlite_lsm1-0.9.0-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 1.6 MB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
3de679d8ebf7f24010eab2aa8d89f16241c625f02c4a42d44309a9f847c526ee
|
|
BLAKE2b-256 checksum How to use checksums |
16f2b541fa026af27d14066ab016778334d1317e70c2142901e3b19444be57da
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency logRelease files / sqlite_lsm1-0.9.0-cp39-cp39-macosx_11_0_arm64.whl
| Download URL | sqlite_lsm1-0.9.0-cp39-cp39-macosx_11_0_arm64.whl |
|---|---|
| Size | 246.9 kB |
| Tags | CPython 3.9 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
a4985920136b5ea2e9ad85c42ef94f047394f4a4295db211c2d13c1ef4cdd189
|
|
BLAKE2b-256 checksum How to use checksums |
2403cf7035eb8fd33c7e6f59236ef611bb01e13f626f2f8d20476c2747086928
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
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 Jul 30, 2026.
Transparency log