Skip to main content

Core domain vocabulary for nessie-store (ONTAP-on-ZFS) — PyO3 bindings.

Project description

nessie-backend-core

Core domain vocabulary for nessie-store — a cheap ONTAP on-ramp. This crate defines the substrate-neutral types and the VolumeBackend ⊂ SnapshotBackend ⊂ CloneBackend supertrait stack that every storage backend implements. The PyO3 bindings expose the domain vocabulary to Python so you can script against the system (the "outside" extension surface).

Install

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

Usage (Python)

import nessie_backend_core as core

# A request to create a 50 GiB volume.
spec = core.VolumeSpec("build-cache", size_bytes=50 * 2**30)
print(spec)                       # VolumeSpec(name="build-cache", size_bytes=...)

# Declare what a backend can do — and check the tiers are self-consistent.
caps = core.Capabilities(snapshots=True, clones=True)
assert caps.is_consistent()
assert caps.snapshots and caps.clones

# A sparse PATCH (resize + set the NFS junction).
patch = core.VolumePatch(size_bytes=100 * 2**30, junction_path="/build")
assert not patch.is_empty()

Usage (Rust)

use nessie_backend_core::{Capabilities, VolumeSpec};

let spec = VolumeSpec::named("build-cache");
assert!(Capabilities::clones().is_consistent());

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 Distribution

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

nessie_backend_core-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl (290.1 kB view details)

Uploaded CPython 3.12manylinux: glibc 2.34+ x86-64

File details

Details for the file nessie_backend_core-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl.

File metadata

File hashes

Hashes for nessie_backend_core-0.2.0-cp312-cp312-manylinux_2_34_x86_64.whl
Algorithm Hash digest
SHA256 274d1b04f40a498fd2885411349a5ecf90900ff90cf3f302f0b22ba252c71af2
MD5 96ba96db2caa5bb67d79c464fb71fcfb
BLAKE2b-256 0be0d15402c6f6e42a9c0c9e9827546a48bd4c089d500ca657e3d71db7f251d9

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