nessie-backend-conformance
The substrate-agnostic conformance suite every nessie-store backend must pass — and the inside extension point: write a storage backend in Python and validate it against the exact same suites a Rust backend passes.
Install
pip install nessie-backend-conformance # Python
cargo add nessie-backend-conformance # Rust (dev-dependency)
Usage (Python) — validate a Python-authored backend
from nessie_backend_conformance import run_all, ConformanceError
class MyBackend:
def capabilities(self): return {"snapshots": True, "clones": True, "replication": False}
def create_volume(self, name, size_bytes): ...
def get_volume(self, uuid): ... # return None when absent
# … list_volumes / delete_volume / patch_volume / access_handle
# … create_snapshot / list_snapshots / get_snapshot / delete_snapshot / create_clone
run_all(MyBackend()) # raises ConformanceError on the first violation
Methods exchange plain domain-shaped dicts ({uuid, name, state, style, vol_type, size_bytes?, clone?} for volumes). A Rust adapter wraps the Python
object and runs the suites by calling back into Python under the GIL. See
examples/python_backend.py for a complete
reference backend.
Usage (Rust)
nessie_backend_conformance::run_all(&my_backend); // panics on the first violation
Dual-licensed MIT OR Apache-2.0.
Metadata
Release files for nessie-backend-conformance 0.3.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| nessie_backend_conformance-0.3.1-cp310-abi3-win_amd64.whl | CPython 3.10 | abi3 | Windows x86-64 | Details |
| nessie_backend_conformance-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| nessie_backend_conformance-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.10 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| nessie_backend_conformance-0.3.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl | CPython 3.10 | abi3 | macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64 | Details |
Total release size: 2.1 MB
Release files / nessie_backend_conformance-0.3.1-cp310-abi3-win_amd64.whl
| Download URL | nessie_backend_conformance-0.3.1-cp310-abi3-win_amd64.whl |
|---|---|
| Size | 318.5 kB |
| Tags | CPython 3.10 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
09ff3b89339e761a8294dadbf3db6a1454cf1ee3634e1b34fa3efb48fe925b6c
|
|
BLAKE2b-256 checksum How to use checksums |
41172ac9bf6c9fafa26fc848848b465bb65df4e2a58d98858420193336045b7f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nessie_backend_conformance-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | nessie_backend_conformance-0.3.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 456.8 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
9fd14ba8b3c36c7ff120e912385e3ee1909563bfdab874fb182d2904045fd99f
|
|
BLAKE2b-256 checksum How to use checksums |
589e130098b67414f20e30f6c146f3fa440825e359aaccdfd6b43a897e2dee2f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nessie_backend_conformance-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | nessie_backend_conformance-0.3.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 450.3 kB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
929d934191c48efc2459402cb84d0b2056ea8749f94ce009ecd96a8edd3cae71
|
|
BLAKE2b-256 checksum How to use checksums |
a89ee99f72caf16bf35ef1ee321e8acb22827efa5d7b6f443439d57ddee14343
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
Release files / nessie_backend_conformance-0.3.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | nessie_backend_conformance-0.3.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 835.4 kB |
| Tags | CPython 3.10 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
f8d8fee7ee476012c99e9bfcbb857fe85e7de461d6cedc52710ef02e035c9f34
|
|
BLAKE2b-256 checksum How to use checksums |
9bcef38827fe942fd51ad45ff826f0058b9c07468fb8a1e573a1ccc7e170d9a0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|