Skip to main content

Python bindings for SNKV - crash-safe embedded key-value store built on SQLite's B-Tree

Project description

SNKV Python Bindings

Build PyPI License

Idiomatic Python 3.8+ bindings for SNKV — a lightweight, ACID-compliant embedded key-value store built directly on SQLite's B-Tree engine.

If you find it useful, a ⭐ on GitHub goes a long way!


Features

  • Dict-style APIdb["key"] = value, val = db["key"], del db["key"], "key" in db
  • Context managerswith KVStore(...) as db and with db.create_column_family(...) as cf for guaranteed cleanup
  • Prefix iterators — efficient namespace scans with db.prefix_iterator(b"user:")
  • WAL checkpoint control — PASSIVE / FULL / RESTART / TRUNCATE modes via db.checkpoint()
  • Auto-checkpoint — set wal_size_limit=N to checkpoint automatically after every N WAL frames
  • Typed exceptionsNotFoundError, BusyError, LockedError, ReadOnlyError, CorruptError all subclass snkv.Error
  • No Python dependencies — pure CPython C extension; only requires a C compiler and python3-dev
  • 247 tests — full pytest suite covering ACID, WAL, crash recovery, concurrency, column families, JSON, and more

Installation

From PyPI (recommended)

Pre-built binary wheels are available for Linux, macOS, and Windows — no compiler needed.

Windows / macOS:

pip install snkv

Linux (Debian/Ubuntu):

python3 -m venv .venv
source .venv/bin/activate
pip install snkv

Linux system Python is "externally managed" (PEP 668) and blocks system-wide pip installs. Use a virtual environment.

Build from Source

# System dependencies
sudo apt-get install -y build-essential python3-dev python3-pip

# Python build dependencies
pip3 install setuptools wheel pytest

# Build
cd python
python3 setup.py build_ext --inplace

macOS

# Compiler (skip if already installed)
xcode-select --install

# Python build dependencies
pip3 install setuptools wheel pytest

# Build
cd python
python3 setup.py build_ext --inplace

Windows — Native Python (recommended)

  1. Install Python 3.8+ — check "Add Python to PATH"
  2. Install Visual Studio Build Tools — select "Desktop development with C++"
  3. Open "x64 Native Tools Command Prompt for VS 2022" from the Start Menu (required for 64-bit Python; "Developer PowerShell for VS" defaults to 32-bit and will fail)
:: Python build dependencies
pip install setuptools wheel pytest

:: Build
cd python
python setup.py build_ext --inplace

Windows — MSYS2 MinGW64 shell

Open the MSYS2 MinGW64 shell (not plain MSYS2, not cmd.exe):

# System + Python dependencies (one-time)
pacman -S --needed mingw-w64-x86_64-python \
                   mingw-w64-x86_64-python-pip \
                   mingw-w64-x86_64-python-setuptools \
                   mingw-w64-x86_64-python-pytest

# Build
cd python
python3 setup.py build_ext --inplace

On all platforms, setup.py automatically locates snkv.h — no manual header step needed. On Linux/macOS it regenerates it via make snkv.h; on Windows it falls back to the pre-built snkv.h included in the repo.


Quick Start

from snkv import KVStore

with KVStore("mydb.db") as db:
    db["hello"] = "world"
    print(db["hello"].decode())   # world

API Reference

Opening a store

from snkv import KVStore, JOURNAL_WAL, JOURNAL_DELETE, SYNC_NORMAL, SYNC_OFF, SYNC_FULL

with KVStore(
    "mydb.db",
    journal_mode=JOURNAL_WAL,   # JOURNAL_WAL (default) or JOURNAL_DELETE
    sync_level=SYNC_NORMAL,     # SYNC_NORMAL (default), SYNC_OFF, SYNC_FULL
    cache_size=2000,            # pages (~8 MB default)
    page_size=4096,             # bytes; new databases only
    busy_timeout=5000,          # ms to retry on SQLITE_BUSY (default 0)
    read_only=False,            # open read-only
    wal_size_limit=100,         # auto-checkpoint every 100 WAL frames (0 = off)
) as db:
    ...

CRUD

# Write
db["key"] = b"value"          # bytes or str keys/values are both accepted
db["key"] = "value"           # str is UTF-8 encoded automatically

# Read
val = db["key"]               # returns bytes; raises NotFoundError if missing
val = db.get("key")           # returns bytes or None
val = db.get("key", b"def")   # with default

# Check existence
exists = "key" in db
exists = db.exists(b"key")

# Delete
del db["key"]
db.delete(b"key")             # same as del; no error if key absent

# Upsert
db.put(b"key", b"value")      # identical to db["key"] = value

Transactions

db.begin(write=True)
db["a"] = "1"
db["b"] = "2"
db.commit()          # persist

db.begin(write=True)
db["c"] = "3"
db.rollback()        # discard — "c" is never written

Auto-commit is the default: each db["key"] = value outside an explicit transaction is committed immediately.

Column Families

Logical namespaces within a single database file. Always close cf before db.

# Create (first use)
with db.create_column_family("users") as cf:
    cf[b"alice"] = b"admin"
    cf[b"bob"]   = b"viewer"

# Open (subsequent uses)
with db.open_column_family("users") as cf:
    print(cf[b"alice"])       # b"admin"

# List all column families
names = db.list_column_families()   # ["users", ...]

# Drop
db.drop_column_family("users")

Iterators

# Full scan — yields (key, value) tuples in key order
for key, value in db.iterator():
    print(key, value)

# Prefix scan
for key, value in db.prefix_iterator(b"user:"):
    print(key, value)

# Manual control
it = db.iterator()
it.first()
while not it.eof:
    print(it.key, it.value)
    it.next()
it.close()

# As a context manager
with db.iterator() as it:
    for key, value in it:
        ...

WAL Checkpoint

from snkv import CHECKPOINT_PASSIVE, CHECKPOINT_FULL, CHECKPOINT_RESTART, CHECKPOINT_TRUNCATE

# Returns (nLog, nCkpt) — WAL frames total / frames written to DB
nlog, nckpt = db.checkpoint(CHECKPOINT_PASSIVE)    # copy frames without blocking
nlog, nckpt = db.checkpoint(CHECKPOINT_FULL)       # wait for writers, flush all
nlog, nckpt = db.checkpoint(CHECKPOINT_RESTART)    # like FULL, reset write position
nlog, nckpt = db.checkpoint(CHECKPOINT_TRUNCATE)   # like RESTART, truncate WAL file

Must be called outside an active write transaction. Use wal_size_limit to auto-checkpoint instead.

Maintenance

db.sync()                 # flush OS write buffers (fsync)
db.vacuum(100)            # reclaim up to 100 unused pages incrementally
db.integrity_check()      # raises CorruptError if database is corrupt
stats = db.stats()        # dict: {"puts": N, "gets": N, "deletes": N, "iterations": N}

Error Hierarchy

snkv.Error (base)
├── snkv.NotFoundError   (also KeyError — raised by db["missing"])
├── snkv.BusyError       (SQLITE_BUSY — another writer holds the lock)
├── snkv.LockedError     (SQLITE_LOCKED)
├── snkv.ReadOnlyError   (write attempted on read-only store)
└── snkv.CorruptError    (database file is corrupt)
import snkv

try:
    val = db["missing_key"]
except snkv.NotFoundError:
    val = b"default"

try:
    db["key"] = b"value"
except snkv.BusyError:
    # retry after a delay
    ...

Running Tests

Linux / macOS

cd python
python3 -m pytest tests/ -v

Windows — Native Python (x64 Native Tools Command Prompt for VS 2022)

cd python
set PYTHONPATH=.
python -m pytest tests\ -v

Windows — MSYS2 MinGW64 shell

cd python
PYTHONPATH=. python3 -m pytest tests/ -v

All 247 tests should pass.


Running Examples

Linux / macOS

cd python
PYTHONPATH=. python3 examples/basic.py           # CRUD, binary data, in-memory store
PYTHONPATH=. python3 examples/transactions.py    # begin/commit/rollback
PYTHONPATH=. python3 examples/column_families.py # logical namespaces
PYTHONPATH=. python3 examples/iterators.py       # ordered scan, prefix scan
PYTHONPATH=. python3 examples/config.py          # journal mode, sync, cache, WAL limit
PYTHONPATH=. python3 examples/checkpoint.py      # manual + auto WAL checkpoint
PYTHONPATH=. python3 examples/session_store.py   # real-world session store pattern

Windows — Native Python (x64 Native Tools Command Prompt for VS 2022)

cd python
set PYTHONPATH=.
python examples\basic.py
python examples\transactions.py
python examples\column_families.py
python examples\iterators.py
python examples\config.py
python examples\checkpoint.py
python examples\session_store.py

Windows — MSYS2 MinGW64 shell

cd python
PYTHONPATH=. python3 examples/basic.py
PYTHONPATH=. python3 examples/transactions.py
# ... same pattern for all examples

Thread Safety

Each thread must use its own KVStore instance. WAL mode serialises concurrent writers at the SQLite level — a BusyError is raised (or retried up to busy_timeout ms) when two writers collide. Multiple readers always make progress concurrently in WAL mode.

import threading
from snkv import KVStore, JOURNAL_WAL

def worker(db_path, worker_id):
    # Each thread opens its own connection
    with KVStore(db_path, journal_mode=JOURNAL_WAL, busy_timeout=5000) as db:
        db[f"key_{worker_id}".encode()] = b"value"

threads = [threading.Thread(target=worker, args=("mydb.db", i)) for i in range(4)]
for t in threads: t.start()
for t in threads: t.join()

License

Apache License 2.0 © 2025 Hash Anu

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

snkv-0.3.0.tar.gz (45.6 kB view details)

Uploaded Source

Built Distributions

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

snkv-0.3.0-cp313-cp313-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.13Windows x86-64

snkv-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (651.0 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

snkv-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (641.7 kB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

snkv-0.3.0-cp313-cp313-macosx_11_0_arm64.whl (195.3 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

snkv-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl (203.0 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

snkv-0.3.0-cp312-cp312-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.12Windows x86-64

snkv-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (650.9 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

snkv-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (641.5 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

snkv-0.3.0-cp312-cp312-macosx_11_0_arm64.whl (195.4 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

snkv-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl (203.0 kB view details)

Uploaded CPython 3.12macOS 10.13+ x86-64

snkv-0.3.0-cp311-cp311-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.11Windows x86-64

snkv-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (650.2 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

snkv-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (641.3 kB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

snkv-0.3.0-cp311-cp311-macosx_11_0_arm64.whl (195.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

snkv-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl (201.5 kB view details)

Uploaded CPython 3.11macOS 10.9+ x86-64

snkv-0.3.0-cp310-cp310-win_amd64.whl (147.4 kB view details)

Uploaded CPython 3.10Windows x86-64

snkv-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (648.8 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

snkv-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (640.1 kB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

snkv-0.3.0-cp310-cp310-macosx_11_0_arm64.whl (195.2 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

snkv-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl (201.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

snkv-0.3.0-cp39-cp39-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.9Windows x86-64

snkv-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (648.1 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ x86-64

snkv-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (639.7 kB view details)

Uploaded CPython 3.9manylinux: glibc 2.17+ ARM64

snkv-0.3.0-cp39-cp39-macosx_11_0_arm64.whl (195.2 kB view details)

Uploaded CPython 3.9macOS 11.0+ ARM64

snkv-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl (201.5 kB view details)

Uploaded CPython 3.9macOS 10.9+ x86-64

snkv-0.3.0-cp38-cp38-win_amd64.whl (147.5 kB view details)

Uploaded CPython 3.8Windows x86-64

snkv-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (649.3 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ x86-64

snkv-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (640.4 kB view details)

Uploaded CPython 3.8manylinux: glibc 2.17+ ARM64

snkv-0.3.0-cp38-cp38-macosx_11_0_arm64.whl (195.2 kB view details)

Uploaded CPython 3.8macOS 11.0+ ARM64

snkv-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl (201.5 kB view details)

Uploaded CPython 3.8macOS 10.9+ x86-64

File details

Details for the file snkv-0.3.0.tar.gz.

File metadata

  • Download URL: snkv-0.3.0.tar.gz
  • Upload date:
  • Size: 45.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0.tar.gz
Algorithm Hash digest
SHA256 199579e558c6bdf6c7b927324137a4ead3be3a126a63895568d4def4de45b65a
MD5 316538c03536bf39c5613c32a434f978
BLAKE2b-256 e94b200553635318c4896ef4bfb4d7de1aa70d06d33b144585c19174aba97ec4

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0.tar.gz:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 147.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 aec48b45dbe362886a2bc916f2cbdd3e725fcbcc7321f4a8892e26af33405bdd
MD5 a325df19c09c893ad7610b280b39ca2d
BLAKE2b-256 15cdd4c06a9571c50d0eb2c81855a5d0aa54f3448c57c037a4bacf6da03ad5c8

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp313-cp313-win_amd64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d28c074b06e9932b93dc1ca31c915a915690ad1a18ab6f149b9fd252e01933a2
MD5 bd0e3a997d20d8562287a93b60dcd637
BLAKE2b-256 fdd8c3f6e9e36c1ceee544ce75c3e567ab4d3e611f79c3e5309c326155e19bed

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 3b5642e233a169dd3a6be41fb29191ef5a775090202dd2918a40b05b26c8e00d
MD5 d2d7f0822ded8d3f6f163c2857182ca5
BLAKE2b-256 a35477a4d760f88f14e8ffc0932c69cd8668163a828fd4e4ef8d524204da49e9

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 eaaabf2eaf8f205ea55c61e58790de9c87cecb2d0a2c68b7951ec30fb1fe6a3a
MD5 0923843ada3eaaa80dc2dbb95ab53490
BLAKE2b-256 45699d4ff619b6646e3bc50490998ff68f674efb0d179b2578f132bf4b6e82a0

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 a06fd4eb08b9ed8caa4e730b95df37bd035b539699fb00c6097be2c8d05850c3
MD5 6519ce238d6dc0079350f924cb31aeb5
BLAKE2b-256 04e3254e945511a460270cdb6940f0ae7323e29450794e2b65c0876d7ce11dc0

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 147.5 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 d9fce9709ec0626c4afc0fde9e946c7410c4654de8cca1bc234a4fea9ae697c3
MD5 8f9b490cc4de362f8dd1525ad04e4a8e
BLAKE2b-256 47cde2354f0a9ac9154b3958d8d9dd61d83172f0532171cf042974f7a674cfe7

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp312-cp312-win_amd64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 5776fb28746fc6e824c412c02d756e1f0292ba2578b9dea5e2d8d0714f084e93
MD5 16c1778d6139146d4ca54ca08bba9cf5
BLAKE2b-256 6ea891d0e643df68acdf1d2a73581496bb862faf54460bf567a61e73342bec99

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c3cee9eb832fb1d142d93757acced9e6d95a81f10f55aa950014c003456f72fa
MD5 bf0450748ec802d54a644cc0fd3daa3a
BLAKE2b-256 1d6689868cac9bcdb4587286ce6b4c3e0c713ef098f19cd917eb077f7dca89e3

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b1e02b7d2923deca215052e6635d778704199e81f2f12bb3660af66318824090
MD5 1edc7adbdb1b6f8424c743b24f84bf85
BLAKE2b-256 88d2f8d733242afa733612d8c20e07bb50f1081b84a613e29ca22fdfd47d4958

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 d3fd19cea89591800d69d10049367155fd87d1de658d8a8392ce8246d2d30629
MD5 fff88b5cca8eafe8b0486f65259b57a2
BLAKE2b-256 7475bfaef24b43edfa62d42f5098a9477aca03502e05b0b12654e2de58722a3e

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp312-cp312-macosx_10_13_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 147.4 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 8b338fb67e5d80859784c0265fb5c72c1a06e7e7d9601eb4642bb80d37c5bcb6
MD5 3ec9b440334b9dd29a5868921bfc8de4
BLAKE2b-256 50be65035e688ae05a910e673850365afa66c5837e630bffd6b17bdc1c0d35bb

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp311-cp311-win_amd64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 cd8ccb433bde529d4d3496a32fe45189474a1f2898acc4c5562336b3258ef393
MD5 176d5b5cfb724c14efd1697c899e21d2
BLAKE2b-256 249735ab659fb69751a8ffbc8f75cdb87412d26f12dc749f418536225637f65a

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 50eab8d5fca005ba97f9f179194182a4714e97aedd24fef28d5141c9355dce14
MD5 e8bf4ca484c3e31996663a5384d372a5
BLAKE2b-256 4404420e3051aa754bef482b13ad36c91bf7923886830cdc3431eaba91bdaf28

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b5896f6d24e98f0911e9d8f463f8238e18eacb6e426fb4d8cf6cbf2ee5d0ec88
MD5 85d352a1f8656a53d5a31b902ac960fd
BLAKE2b-256 83063a26a252cef483afb2380efadbd88270dc75f45dbbd6a5d3ad23833810f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 714947522aa58e989b22a24d650c71b12e3ed396c58e90f66a17ab4ba83dead6
MD5 7ccf7e769ebf4ffa8c6b2c729435b23e
BLAKE2b-256 af8b888cda5ae8f809283aadd52f787636e8dc0743e1eb480719c1c41a6e9ad2

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp311-cp311-macosx_10_9_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 147.4 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 982c7b7a52c82ea420408c8ce06d45cfb96c8e802cf0e55c407c3aca8e618e7d
MD5 31dbd8c862e9286699280ad6a436abbe
BLAKE2b-256 0ffc5337fdb6ee74ad809d5960fd90f316bac0607493d339d767ff4f063f4d8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp310-cp310-win_amd64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 69a660c847609d71ad33f2bc64b675f4608d06822d004de4d245ffd21ec88a1d
MD5 d5b2da0c45f4b66a292aa7516403b187
BLAKE2b-256 dab1f7278b88c0dea4c61451b09244579958b98037a3c03b65774a3e2182713f

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 048c5142bdfa7f2398f7a52f2ff2b01c4a8b251193fb73bf74012ba1cf3b35ac
MD5 7b7ab76f1a6d472b8ae3d0bf169f904c
BLAKE2b-256 166ce3e457319f85fd3630d2cb78686bcffea3285423da5508ff03e11c4b454a

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 55af1e64e5dfab0f018420aeeeb2ea921e8c3423a258b4c210d934d2b8cf7f74
MD5 0dd8d7b2be00bdf870b5ce757a2035f3
BLAKE2b-256 26b895ed6bdd6b4d5900b774f52462e111cdeaf08e3bf45735775153146cb9c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f965422b226eca9e9fdeb9236379649b820583204847a7b13056799c23f4255a
MD5 00e0116568ecf084227b243b54e1b680
BLAKE2b-256 fdfe7a30f73b27b55fdac36e6286fe36e45fedfd54cc9a6d1f331e92b0d0ab42

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp39-cp39-win_amd64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp39-cp39-win_amd64.whl
  • Upload date:
  • Size: 147.5 kB
  • Tags: CPython 3.9, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp39-cp39-win_amd64.whl
Algorithm Hash digest
SHA256 90b009048acd8ed16711b461d2024ab064f82d01069ab37e20071b01fca868b5
MD5 15238c0461efdaacfce23874ba70afe3
BLAKE2b-256 e52223170e859cd22edc6e9e80906e43d4df0d740f7a62832bb75a2b36d85f61

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp39-cp39-win_amd64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 d7a9bd62eb447f2ec09080b58a2699cf6c8180d17347c0dd41c49c66f0dadc5a
MD5 4d52c70ffb86b560ffccee26788f2ad4
BLAKE2b-256 c36c1bd16752540f08ac4434627a83f3be4adf9d0c7b90545d0285a3fd6e5669

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 c697981e9bcbe9d9f3c3e7a1972a4b6021be5e80930d0af3b87d332461cd6f89
MD5 917a8d381588701e595f54c1128ca7b2
BLAKE2b-256 b692519d74def39f4ca3d64062a4486c86167a17e2c7b22c60ea3f759a8f2f76

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp39-cp39-macosx_11_0_arm64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 195.2 kB
  • Tags: CPython 3.9, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp39-cp39-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 168dfb9296349f0597426b619b49e61ef4fec3c7b38bb60352b7894a06b92ac3
MD5 b2279eba42bad9a700ddfc40a16e612a
BLAKE2b-256 9a877ec0bc558300c11bd71decfb2899308ab48100f286d103b81280e5cc2d25

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp39-cp39-macosx_11_0_arm64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 201.5 kB
  • Tags: CPython 3.9, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 d97e240ab6f50be06b10b86ea559421012e7e5c265b81f4303290fdf36c14c8d
MD5 1566eb4e20aa0ac053aa5d5f076c330b
BLAKE2b-256 f376af322c7f904b59897b36c08433046b593880000dc730896f3b0f76d7350b

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp39-cp39-macosx_10_9_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp38-cp38-win_amd64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp38-cp38-win_amd64.whl
  • Upload date:
  • Size: 147.5 kB
  • Tags: CPython 3.8, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp38-cp38-win_amd64.whl
Algorithm Hash digest
SHA256 b27edf897d614983ed3a99609471ed0a3afbeb832937f74dd91e95edc9ad9984
MD5 e8a3dd6d22f6e9968f81eeb541919bb7
BLAKE2b-256 a4aa6d288a1902e8b7d39d1d803d10dc948b728e3b3589264767d8d59b823997

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp38-cp38-win_amd64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 be714d28e58baf38bfd15379b9d69ba4eaf743c8bb56d764c42fef906ce5a9af
MD5 b6272083bf05cc2b4610416560b4f2c1
BLAKE2b-256 326957d713ca6a3a0e81e0f9d45a91a8f0a556c633c360de3c84e37c86ef51de

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for snkv-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fc0e5f61e87be820567137e7686fed3f4cfa1bc0dc0f0e8394f1ba818048a69f
MD5 325f28fd7dd2c7e0c20f4523b30bebda
BLAKE2b-256 84545a4cf314b996ad7db74629e213cf46d73d32ce3adc7d2ca58849a409c422

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp38-cp38-macosx_11_0_arm64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp38-cp38-macosx_11_0_arm64.whl
  • Upload date:
  • Size: 195.2 kB
  • Tags: CPython 3.8, macOS 11.0+ ARM64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp38-cp38-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 3426e41a038d7a46edd480d3e4627bf89b12dd49e789c5152d0217e093f772fb
MD5 fee233dc006b28a10e4b4ba744a12378
BLAKE2b-256 4b212a13960203eb927d284629240c9def71004cfdd00d1db02c2612045caf9b

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp38-cp38-macosx_11_0_arm64.whl:

Publisher: publish.yml on hash-anu/snkv

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

File details

Details for the file snkv-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl.

File metadata

  • Download URL: snkv-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
  • Upload date:
  • Size: 201.5 kB
  • Tags: CPython 3.8, macOS 10.9+ x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for snkv-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 0fc0d1befb9095830d9473531e686a979022751899f71ee383d243dd3af07c74
MD5 885d7870cb66610be57b8faa2649c70f
BLAKE2b-256 18e20bb9448822cad147b1d45df89a4f2f7eccf63b45e564c94e8c4eccad35c4

See more details on using hashes here.

Provenance

The following attestation bundles were made for snkv-0.3.0-cp38-cp38-macosx_10_9_x86_64.whl:

Publisher: publish.yml on hash-anu/snkv

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