Skip to main content

Python bindings for nono capability-based sandboxing

Project description

nono-py

Python bindings for nono, a capability-based sandboxing library.

nono provides OS-enforced sandboxing using Landlock (Linux) and Seatbelt (macOS). Once a sandbox is applied, unauthorized operations are structurally impossible.

Installation

pip install nono-py

From source

Requires Rust toolchain and maturin:

pip install maturin
maturin develop

Usage

from nono_py import CapabilitySet, AccessMode, apply, is_supported

# Check platform support
if not is_supported():
    print("Sandboxing not supported on this platform")
    exit(1)

# Build capability set
caps = CapabilitySet()
caps.allow_path("/tmp", AccessMode.READ_WRITE)
caps.allow_path("/home/user/project", AccessMode.READ)
caps.allow_file("/etc/hosts", AccessMode.READ)
caps.block_network()

# Apply sandbox (irreversible!)
apply(caps)

# Now the process can only access granted paths
# Network access is blocked
# This applies to all child processes too

API Reference

Sandboxing

CapabilitySet + apply()

Sandbox the current process (irreversible):

caps = CapabilitySet()
caps.allow_path("/tmp", AccessMode.READ_WRITE)
caps.block_network()
apply(caps)  # Process is now sandboxed

sandboxed_exec

Run a command in a sandboxed child process. The parent stays unsandboxed and can call this repeatedly with different capabilities:

caps = CapabilitySet()
caps.allow_path("/workspace", AccessMode.READ_WRITE)
caps.block_network()
result = sandboxed_exec(
    caps,
    ["python", "agent.py"],
    cwd="/workspace",
    timeout_secs=30.0,
)
print(result.stdout, result.exit_code)

sandboxed_exec does not inherit the parent process environment by default. Pass only the variables the child needs through env=[("NAME", "value")]. Full parent environment inheritance requires inherit_env=True; dynamic-loader variables such as LD_* and DYLD_* are rejected.

On timeout, sandboxed_exec kills the sandboxed command's process group so ordinary forked descendants are terminated with the direct child.

sandboxed_exec(..., max_processes=N) sets RLIMIT_NPROC in the child before exec. This is only meaningful when sandboxed executions run as a dedicated Unix UID, because the kernel counts all processes already owned by that real UID, not only processes in the sandbox tree. On a normal shared user account, setting a small value such as 8 can make the sandboxed program's first fork() fail with EAGAIN because the user already owns more than eight processes; it does not provide a reliable per-sandbox fork limit. Use cgroup pids.max or a dedicated container/microVM boundary for strong per-execution fork containment.

Network Proxy

Domain-filtered network access for sandboxed children. The proxy intercepts outbound HTTP requests and enforces a host allowlist. For API calls, it performs credential injection: the sandboxed process sends a dummy token, and the proxy transparently swaps in the real API key (loaded from the OS keyring) before forwarding upstream. The sandboxed process never sees the real secret.

from nono_py import ProxyConfig, RouteConfig, start_proxy

config = ProxyConfig(
    allowed_hosts=["api.openai.com", "*.anthropic.com"],
    routes=[
        RouteConfig(prefix="/openai", upstream="https://api.openai.com", credential_key="openai-key"),
    ],
)
proxy = start_proxy(config)

# Inject only the current proxy/session env vars into the sandboxed child
env = proxy.sandbox_env(extra_env=[("NONO_SESSION_ID", "session-001")])
result = sandboxed_exec(caps, ["python", "agent.py"], env=env)

# Audit trail
events = proxy.drain_audit_events()
proxy.shutdown()

Filesystem Snapshots

Content-addressable snapshots with Merkle-committed state and rollback:

from nono_py import SnapshotManager, ExclusionConfig

mgr = SnapshotManager(
    session_dir="~/.nono/rollbacks/session-001",
    tracked_paths=["/workspace"],
    exclusion=ExclusionConfig(exclude_patterns=["node_modules", "__pycache__"]),
)
mgr.create_baseline()

# ... agent runs and modifies files ...

manifest, changes = mgr.create_incremental()
for change in changes:
    print(f"{change.change_type}: {change.path}")

# Roll back
mgr.restore_to(snapshot_number=0)

Audit Trail

Append-only, Merkle-chained audit logging with tamper detection:

from nono_py.audit import AlphaRecorder, verify_log, iter_session, session_started, session_ended

recorder = AlphaRecorder()
with open("audit-events.ndjson", "w") as f:
    recorder.write(f, session_started(started="2026-01-01T00:00:00Z", command=["agent"]))
    recorder.write(f, session_ended(ended="2026-01-01T00:05:00Z", exit_code=0))

# Verify integrity — detects any tampering
result = verify_log("/path/to/session")
assert result["records_verified"]

Resource Limiting

Run a command under a memory ceiling and/or a process-count cap by driving the tested nono CLI (Linux + cgroup v2):

  • memory= sets memory.max: a tree that exceeds it is OOM-killed (exit 137, surfaced as result.oom_killed).
  • max_processes= sets pids.max: at the cap the kernel refuses new fork/clone with EAGAIN. Nothing is killed — the offending process just fails to spawn — so there is no fixed exit code, only the command's own non-zero status.
from nono_py import AccessMode, CapabilitySet
from nono_py import limited

caps = CapabilitySet()
caps.allow_path("/work", AccessMode.READ_WRITE)

result = limited.run(caps, ["python", "hog.py"], memory="512M", max_processes=64)
if result.oom_killed:
    print("process exceeded its memory cap and was killed")
elif not result.ok:
    print(f"failed ({result.returncode}): {result.stderr}")

Enforcement lives in the nono binary (found on PATH, via NONO_BIN, or nono_bin=), not in-process — resource limits need an un-sandboxed supervisor parent, unlike apply(). Filesystem grants and block_network() are translated to CLI flags; proxy_only() is not carried across the subprocess boundary.

Other Classes

  • QueryContext - Check permissions without applying the sandbox
  • SandboxState - Serialize/restore capability sets as JSON
  • SupportInfo - Platform support details
  • Policy / ResolvedPolicy - Load and resolve policy.json documents
  • SessionMetadata - Session audit trail with Merkle roots and network events
  • ExecResult - Result of sandboxed_exec (stdout, stderr, exit_code)
  • InjectMode - Credential injection method enum

Functions

  • apply(caps) - Apply sandbox (irreversible)
  • sandboxed_exec(caps, command, ...) - Run command in sandboxed child
  • start_proxy(config) - Start network filtering proxy
  • is_supported() / support_info() - Platform support
  • load_policy(json) / load_embedded_policy() - Policy loading
  • embedded_policy_json() - Raw embedded policy JSON
  • validate_deny_overlaps(paths, caps) - Validate deny paths against capabilities

Platform Support

Platform Backend Requirements
Linux Landlock Kernel 5.13+ with Landlock enabled
macOS Seatbelt macOS 10.5+
Windows - Not supported

Development

# Install dev dependencies
pip install maturin pytest mypy

# Build and install for development
make dev

# Run tests
make test

# Run linters
make lint

# Format code
make fmt

License

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 Distribution

nono_py-0.13.0.tar.gz (268.8 kB view details)

Uploaded Source

Built Distributions

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

nono_py-0.13.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

nono_py-0.13.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

nono_py-0.13.0-cp314-cp314-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nono_py-0.13.0-cp314-cp314-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

nono_py-0.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

nono_py-0.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

nono_py-0.13.0-cp313-cp313-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nono_py-0.13.0-cp313-cp313-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

nono_py-0.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

nono_py-0.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

nono_py-0.13.0-cp312-cp312-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nono_py-0.13.0-cp312-cp312-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

nono_py-0.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

nono_py-0.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

nono_py-0.13.0-cp311-cp311-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nono_py-0.13.0-cp311-cp311-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

nono_py-0.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (9.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

nono_py-0.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (10.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

nono_py-0.13.0-cp310-cp310-macosx_11_0_arm64.whl (7.8 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

nono_py-0.13.0-cp310-cp310-macosx_10_12_x86_64.whl (8.1 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

Details for the file nono_py-0.13.0.tar.gz.

File metadata

  • Download URL: nono_py-0.13.0.tar.gz
  • Upload date:
  • Size: 268.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for nono_py-0.13.0.tar.gz
Algorithm Hash digest
SHA256 1f978ff36bea5e8af6b02c9a53d0cd8c42a8fb12bba3b013a8cda7893fded9eb
MD5 ff371c7a9f4479a0d42681ce0dac02fa
BLAKE2b-256 b9bfe892079067accf9205a72080c45d88b9198d6586bc3e6b5033521319ce93

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0.tar.gz:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 866e2df013c63fb2a3028f59508dd9537107fa46ca85ee8005dede787239c858
MD5 2c09d0c3de366a15e9ffe5338d00e8f5
BLAKE2b-256 8497036f54b81d2ca1a866f7964465a8059deded9ead54f8b10ab56e1c80cf98

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 65ed17bd89179f1a90a4e3260fddad5faaad8132692e872a400a6278fac276bc
MD5 47f253ce3214f9b2e9a540ab073a4f89
BLAKE2b-256 4c610d8fbe15f1a068f2093e6d404e992c1f6d9928f72270b5731ee7d40450b0

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 f2a80c06f97f84bfa5a016ee4dc0818b5296e48468f265ec783a04e0e807fbec
MD5 8960b7473fdd7bce0faebaf43aa62729
BLAKE2b-256 a8cd655900e892619719080cd7be6ac6fffa32ba725f2df62a867f11ac6ef976

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp314-cp314-macosx_11_0_arm64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 e6858e7a4197e748270701137778cc55306e2df5d634e4aebc0217ac725e11b0
MD5 9b57f76a1253e9b55829e0074abcfe6e
BLAKE2b-256 ae238616cbb58dc119e013a86d82c7148add1fe2763cdbe3b12cef9ed8ca749b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp314-cp314-macosx_10_12_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 c061f39e38af6a3fce55a7d273d08c0a44f655731674c01d4cf3a1e9adea8509
MD5 2d0a28defd5de1ad246bc2a2bad867da
BLAKE2b-256 7b0257b1a3507ff3ea60b75a10302cd933b1d9becfda9f2790976f8dac245e19

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 7a7e5025955ded69f0af397fa20bac4d8ad1cd070f11ba6151640e534c230a8f
MD5 3ffcae69655757eb12f890d7d4cd7e34
BLAKE2b-256 d76ddaf4d10d2248d0d8e84899a2fc2c426bcbd8bcb305d0b82e6ac9af22c79e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 cc87c1b07edf0b9e439233722aff904cf64947da3de4f40c7fdf903e627ab761
MD5 3542368a5c08dbf83a7776ddd824c83e
BLAKE2b-256 4321a1051ce8af6d77061513d09f726d5d78d8ea06d8bf52e18d80a80fe1af5a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 dd413cb5e567979bc39db7ccd0a3bc39fb8b8458da639799c5520db7127180d3
MD5 2a415dce655a8da74865140e86869c2f
BLAKE2b-256 2b5f6303c3224a90b677251b3abbce3ce86a31cc8f7d940848b78f13e57cfbf5

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp313-cp313-macosx_10_12_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 752eff79ff7273ff18b998c9b6bf71a98fdccf4211c604516799476084a49f4e
MD5 d4abc85d1e0dd91588f98e9175704407
BLAKE2b-256 dc604f415608eb9b1cd65c8258d10c5e5fbbc1d04aa84dd7781ab04491566a55

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 29d103cb3fc50d15a00ae1a55b8c3819b09183094ed39f8e9b77f973d7d3b585
MD5 7d636bc00ccbee5614179331aea6f39e
BLAKE2b-256 847f4ea6d1195b6d55410939469f6964baf48e0bb336d44474d4ac7899cf149b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 565028d64317009eb52954609e7264c79bfbed508214023d9699255ca867efac
MD5 dede196cb788fc6c9b6fb334d1b6f142
BLAKE2b-256 a3e24b856d48e1264d3a4dba415ab07783307f59174aa4908555699009f4f613

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 5e083648199b232a70d4e9f29fe51c81fb2ca1fb4eb7c0879a263a2a7beddb8d
MD5 a9ec78cd5733a144f6345e1047f8a383
BLAKE2b-256 be34166807b61fb6ad0860b6fbec008f51c9b97f19c8b5afe3f131b65f53964d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp312-cp312-macosx_10_12_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 a3074fe1209f43358c5a83e520e24b409dca10110bef86212cb11ededae26425
MD5 9d4bdb8d1d4ef3b2be4e2f76e2431db8
BLAKE2b-256 8443c92c7e270701403c06f0ba62b4aa91bfc46dadc9e159500b7c10c9445dd6

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 fbf1c3b6593ce5729688728cdf7213a7021212a0477a9876bda83c211e1fb5f7
MD5 6e5f503d039c8559c0e7b1698abf643d
BLAKE2b-256 c6b4c22bc8278879b60525a4e8120706c48d1d8fe6c6c7cc0c4544c6cc5529ab

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c8088118f8f86cd9ea70776c723101639cd9a01de32140031c936d21805bbb49
MD5 7e8701652650701e3c9920d130fc4093
BLAKE2b-256 2c7cc281d3227b5ebc6f9a7fbccb7a78b0cba4b3d5c4d0cd839ee822bab9933b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 fdc105617a14472fc11fcd761800b954dd61a0087dbbe58ca4e69ed29e79e79a
MD5 df0c6d7b231e4cfe3db29f7db6453393
BLAKE2b-256 d05d1fe3c1a768990dde12ea7076e87335b925d14da43a96c879011f261bf73a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp311-cp311-macosx_10_12_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b26455c152eeb451ddba5508c620ba7f9409e1c043a26576d2d4e9c21eb4b1fa
MD5 6aa0f79254d7827696cc60d8ebc518c9
BLAKE2b-256 9772a4f68bf5cdf08b0baf489b1fc33566396fb975adeeb191659766d876b517

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 6342ecc9968d03dbe14d1e22884b00ee4b19e94b7f813d7daa1b97f95b3548c5
MD5 e1692d5c28fa0a05a90b8a24712a4d32
BLAKE2b-256 817c3584f809c911ab7587c8296b37d103e61bb00d2412e981c5964741aa935a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 8da12113edd31d9b2613e4125eaee59f5cde3d94c3c56728b0a9b9837cb2a6f2
MD5 1b4d10042529f669cb37f5d18a47a570
BLAKE2b-256 091eda2106e36626596d7c9e5e18f4141901dcc5be290fb29c5b609db376a41b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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

File details

Details for the file nono_py-0.13.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.13.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 2f0b5eda6245d282c05d3e73c8e5e0fdd5f7b9c5e7f4de8001c53eb20c65135a
MD5 cf272fd6250c317736ca26eb859e4d41
BLAKE2b-256 5bf530545473b89a981d1a076ebc109a2f84bad768094200dba52361011c77aa

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.13.0-cp310-cp310-macosx_10_12_x86_64.whl:

Publisher: auto-release.yml on nolabs-ai/nono-py

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