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"]

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.11.0.tar.gz (220.4 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.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ x86-64

nono_py-0.11.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.14manylinux: glibc 2.17+ ARM64

nono_py-0.11.0-cp314-cp314-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.14macOS 11.0+ ARM64

nono_py-0.11.0-cp314-cp314-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.14macOS 10.12+ x86-64

nono_py-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

nono_py-0.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64

nono_py-0.11.0-cp313-cp313-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

nono_py-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.13macOS 10.12+ x86-64

nono_py-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

nono_py-0.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64

nono_py-0.11.0-cp312-cp312-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

nono_py-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.12macOS 10.12+ x86-64

nono_py-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

nono_py-0.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64

nono_py-0.11.0-cp311-cp311-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

nono_py-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.11macOS 10.12+ x86-64

nono_py-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.9 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

nono_py-0.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (4.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64

nono_py-0.11.0-cp310-cp310-macosx_11_0_arm64.whl (3.3 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

nono_py-0.11.0-cp310-cp310-macosx_10_12_x86_64.whl (3.5 MB view details)

Uploaded CPython 3.10macOS 10.12+ x86-64

File details

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

File metadata

  • Download URL: nono_py-0.11.0.tar.gz
  • Upload date:
  • Size: 220.4 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.11.0.tar.gz
Algorithm Hash digest
SHA256 246393068c22352797f33fd9b3ea473f252791941cc99ea85c44dcdea8bffae3
MD5 e772696d7b8169dab930ca6adc7a1056
BLAKE2b-256 530495f825ccde933d811392175bb451f10dedf69342dab49a812e1bb01dda20

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 624be2a894d8283d9d18d80e68bb3bf685f63bd1fac0344d1b47f138abff4dbf
MD5 cc1388de143c357d6bd9593f4459e08f
BLAKE2b-256 e8c92d72fa0c78058287b49d7f75807a63cf89471f874b324caae412fe4f5fcb

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 090c36ef0dd849437e76d97355cd7544cadc50e970133874731e7a729632b3f0
MD5 e813a787f0323c47b441d9c75225a7f6
BLAKE2b-256 e8fed19631fe278349061509db4e9e9f01fefe239948b4ac47798e087e0bf60b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp314-cp314-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp314-cp314-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 feafb2323f01b2112b0b1a693a1f92ed777d2ce94026fc08af8aec3899ff32e2
MD5 89bda0ca5aeea4e456f2be3c0d749751
BLAKE2b-256 c697f5f886376b495d988bd2385b2a67b732d208615556e91a98e517ccda786b

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp314-cp314-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp314-cp314-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 b641c7053ffab8fa3ef7bba88f4652206158e237646f87f1215711e2b62a0800
MD5 8f244fc854e3b36b7c67e1ae7d3b25c3
BLAKE2b-256 f82dfd63b02472815f54132ca6021bd788dfc9293404ec8b4c763381ab9a61fe

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 ecdcd4499f44fa4c45b99b07a6174d3a2c3c74312c3650b797905002e9c2df80
MD5 e10c3a70eb2636517d9225253513b072
BLAKE2b-256 93f91b5b250db641634dbc7427e76424d9dcb8c705dfe66113994f6feaac745a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 d3fe4e564eda053920d8237e775fe9ca90bf9ab2826d93a7582233a125a1b1cd
MD5 1e504f6fb8ed4c8c421a166431a4afd2
BLAKE2b-256 ba5a0e9ed63824579c1c2835a8c278264e11438b6ee72415da29f9be65b4eb82

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4f0ba064053369a29af6da8bc8bd48b4cbfa1bd2c495e88652c78115da6c3437
MD5 abb03f0410314429e13c6602e90c0873
BLAKE2b-256 6a66e67ab4808ccdfe98e3b25343e0e79a17033959d1c1a71c8081e8f114e188

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp313-cp313-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp313-cp313-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 37f753730eb773f7e492ecbc3d52c004c570f2bdd00083c185a343584e291af4
MD5 3ec30a70fa5e199ecd1e010763a7d97e
BLAKE2b-256 29daae1c70931ae3469abe6519fd6720c55eb419b984d1bfcaf369dee17af6e0

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 b2cde09e5144bc7fb2b2b46f9d94760381be17ee827ac5e913f800841c243d08
MD5 bc246e933728b764ebbde906b8f3c81a
BLAKE2b-256 2a35f3262571048fdb06ac503b15d6d405ae0422f55ccc72f8e504387e393326

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 47b809c0c2695b3612d31b737ad4faeea396875d430b4e5d99a92736731a2f54
MD5 05024c47a6d7465fc0db790415e00e52
BLAKE2b-256 34eaf5eb42eda1b230a31b8705ceea06859b32c8bae9ab0fe164ba3d34000599

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 4811fe6abec367e5f2ca980cc89ffdab1ec00953a2ad54889616abff79d53703
MD5 a6101913735d509d146b1bfd17a12868
BLAKE2b-256 77ef82343852054590c5124d4b3f89e66ff71371d7ebb99ddd47803935116c2e

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp312-cp312-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp312-cp312-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 3a8e1d323877c952b0bb76224f2c7fcfa44766ebab047b1ab5306c0fcfc34a41
MD5 72acab55260e0dd68ff61e7f28ba0a00
BLAKE2b-256 208d8bb86e8532cd7f35e18af5e81d06115dfd8f561ab750781f213aba09688f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0acd618688f5a2051bd3249cda832974c590ce571b4b289260d80c3d81e0af33
MD5 e8679943e1107ead387657d627a999ee
BLAKE2b-256 baf3db568a9450be381e2b85f1177a00de0eb3f6c3e8d8dfd61e5cde06d25841

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 be7bef8afdd127031f128c12dea70bda1e81ad6df873ab35320c5a231731ea87
MD5 b03d1fe508a4084fc51a7709078ccbdb
BLAKE2b-256 e20fb55df42aac8fb652a22ad50a9c1bae266bcc1c3f5c7e6811f669a946787f

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1dab473428f9b157892637b1401bc02619783a2fb82d14f2a7f77371ffe88f13
MD5 aa1bb83fe6e6cf8fc9c696e864f36f5f
BLAKE2b-256 209ad1ac1e3efaa488c4b29e9921cab3bd32e80af317005f923025f6512a86a9

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp311-cp311-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp311-cp311-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 58b4812db6033aa19489e332b96ca13fd70357b98ee300ccb9fbae71cb87020b
MD5 5f7cf1d96c59af0accca57be98be14ca
BLAKE2b-256 d3946d7878dae4e9e946588fd269ad7068993b7a5d3a4204d4d81f2835a2a1e7

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 0c8b0343edb53f117349c7a7052feb7266d481e32a51cbf1fbc96b9b25c04e0e
MD5 41efe065a7a76501ea15c9a9c150e669
BLAKE2b-256 eec37eb8a7e469814ba11bbc6557b264c7d7f341086098916fad5438b291f34a

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Algorithm Hash digest
SHA256 70f9dacbf6a2072c430adf18bea67f71320875cfa5eac62441d8d3c5da24e33d
MD5 0d429d61d01c3d843bb161cb427845ca
BLAKE2b-256 3515430814787cb5d08f499896eebd4a87e3f5d6bef4dcbd830e574fc0d4b185

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 5f8e9f5ad8a52fdfd18f77fd617d63444f09090d1564580ab5e4c8e1ddb200b6
MD5 d311ff13d6c4acb22f8b435612968a8e
BLAKE2b-256 94187137aab1e05afa173ade2084f3cbe968f992650a8e399b06becd8ace2f8d

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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.11.0-cp310-cp310-macosx_10_12_x86_64.whl.

File metadata

File hashes

Hashes for nono_py-0.11.0-cp310-cp310-macosx_10_12_x86_64.whl
Algorithm Hash digest
SHA256 de7251debc480290e0faee456410b0efe611d30b555270577451826d3e2f122a
MD5 52ec3630a35c5e59750f404faedd2853
BLAKE2b-256 b6cd8377ec3152c970bbbeba24c4c664a13703d36a54327ed17947de7337eec8

See more details on using hashes here.

Provenance

The following attestation bundles were made for nono_py-0.11.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