Skip to main content

In-memory ONTAP-shaped reference backend for nessie-store — PyO3 bindings.

Project description

nessie-backend-mem

The in-memory reference backend for nessie-store — a HashMap-backed implementation of the full VolumeBackend ⊂ SnapshotBackend ⊂ CloneBackend stack. It passes the full conformance suite and needs no privileges or external services, so it's the zero-dependency way to script against an ONTAP-shaped backend.

Install

pip install nessie-backend-mem      # Python
cargo add nessie-backend-mem        # Rust

Usage (Python)

from nessie_backend_mem import MemBackend

b = MemBackend()
vol = b.create_volume("build-cache", size_bytes=50 * 2**30)
snap = b.create_snapshot(vol["uuid"], "pre-build")
clone = b.create_clone(vol["uuid"], snap["uuid"], "build-cache-pr1234")
assert clone["clone"]["parent_volume"] == "build-cache"

Methods return plain dicts in the substrate-neutral domain shape (size_bytes, vol_type, clone={parent_volume, parent_snapshot}) and raise NessieError on failure. The ONTAP wire shape (size, type, clone.is_flexclone, HAL _links) is produced by nessie-ontap-protocol.

Usage (Rust)

use nessie_backend_core::{VolumeBackend, VolumeSpec};
use nessie_backend_mem::MemBackend;

let b = MemBackend::new();
let vol = b.create_volume(VolumeSpec::named("build-cache")).unwrap();

Dual-licensed MIT OR Apache-2.0.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

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

nessie_backend_mem-0.2.1-cp310-abi3-win_amd64.whl (177.3 kB view details)

Uploaded CPython 3.10+Windows x86-64

nessie_backend_mem-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (309.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ x86-64

nessie_backend_mem-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (305.2 kB view details)

Uploaded CPython 3.10+manylinux: glibc 2.17+ ARM64

nessie_backend_mem-0.2.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl (546.0 kB view details)

Uploaded CPython 3.10+macOS 10.12+ universal2 (ARM64, x86-64)macOS 10.12+ x86-64macOS 11.0+ ARM64

File details

Details for the file nessie_backend_mem-0.2.1-cp310-abi3-win_amd64.whl.

File metadata

File hashes

Hashes for nessie_backend_mem-0.2.1-cp310-abi3-win_amd64.whl
Algorithm Hash digest
SHA256 10ff4342adbb79c194392277a477df34731d8880ad2f9bffa9e294c6b414cc88
MD5 7c6991d0af29a55c3ec6265894d500a8
BLAKE2b-256 71f97642f85d5b9cc662c5ace5bdbd709ba54304fea330ecab69d91125adf5fa

See more details on using hashes here.

File details

Details for the file nessie_backend_mem-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nessie_backend_mem-0.2.1-cp310-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0161d625a4c9e3b6747353fc7cb278d6e8ad110e9cd84505766138f99402718a
MD5 8339e070534519dd130d2b0c89e1a3b9
BLAKE2b-256 d86813412cbee7e9823a0898d271b1d75b1e7dc02a86d9b7b381127eb9b8f1db

See more details on using hashes here.

File details

Details for the file nessie_backend_mem-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nessie_backend_mem-0.2.1-cp310-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 47c79d1edd03294045e3c929f556632bade4f27baf6d631e20a34e37d85bf6db
MD5 1816c0389a6ecacebc34aabd3fc6830a
BLAKE2b-256 90adbac09d500e1c30f8ed14654a226dc2e5dcc473035f92ca718c6aeea98b54

See more details on using hashes here.

File details

Details for the file nessie_backend_mem-0.2.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl.

File metadata

File hashes

Hashes for nessie_backend_mem-0.2.1-cp310-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
Algorithm Hash digest
SHA256 4507a19ced192ff15d023c681940f7ce9f6097097cdb9171fa787f2de58ac3cb
MD5 3ca79738cc493499dd2f8547ee573688
BLAKE2b-256 7931cabd6914e36088358be045c3d0a39ee4df978f9685a3c4f8b49d08220d3b

See more details on using hashes here.

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