Skip to main content

Python API for running code in isolated Hyperlight sandboxes with swappable backends

Project description

hyperlight-sandbox

Python API package for running code inside Hyperlight sandboxes with separately installable backends and packaged guest packages.

Quick Start

from hyperlight_sandbox import Sandbox

sandbox = Sandbox(backend="wasm", module="python_guest.path")
sandbox.register_tool("add", lambda a=0, b=0: a + b)

result = sandbox.run('''
result = call_tool('add', a=3, b=4)
print(result)
''')
print(result.stdout)  # "7\n"

Install the local repo packages for development with:

uv sync          # installs core + guest packages via workspace
just python-build  # builds maturin backends

Packaged guest packages expose importable module references such as python_guest.path and javascript_guest.path. The API resolves those to the packaged .aot artifact automatically.

Example dependency sets:

  • Sandbox(backend="wasm", module="python_guest.path") requires hyperlight-sandbox[wasm,python_guest]
  • Sandbox(backend="wasm", module="javascript_guest.path") requires hyperlight-sandbox[wasm,javascript_guest]
  • Sandbox(backend="hyperlight-js") requires hyperlight-sandbox[hyperlight_js]

Use Sandbox(backend="wasm", module="javascript_guest.path") to run the packaged JavaScript Wasm guest package.

Use Sandbox(backend="hyperlight-js") to run the separate HyperlightJS backend package.

Snapshot Semantics

  • snapshot() captures guest runtime state and backend-managed sandbox files.
  • restore() rewinds both runtime state and sandbox file state to the snapshot point.
  • Output files under /output are ephemeral per run() and are cleared before each execution.

Build

just python-build

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

hyperlight_sandbox-0.1.0.tar.gz (9.1 kB view details)

Uploaded Source

Built Distribution

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

hyperlight_sandbox-0.1.0-py3-none-any.whl (5.6 kB view details)

Uploaded Python 3

File details

Details for the file hyperlight_sandbox-0.1.0.tar.gz.

File metadata

  • Download URL: hyperlight_sandbox-0.1.0.tar.gz
  • Upload date:
  • Size: 9.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for hyperlight_sandbox-0.1.0.tar.gz
Algorithm Hash digest
SHA256 6991a22b947594eac0ef5743d67338e5959da9a9b2ce8c06f6ef432052f451fc
MD5 9cd8804d6ca0dd080b7754b9120b6420
BLAKE2b-256 498200aa36207681510508a802a8cd0a0735b5c90d163600252142e82624221d

See more details on using hashes here.

File details

Details for the file hyperlight_sandbox-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: hyperlight_sandbox-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.2 {"installer":{"name":"uv","version":"0.11.2","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for hyperlight_sandbox-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 348140969de672ab908656bc53c33b7a0572c4ca6784f8bcb0fc70750afd2b69
MD5 627a4484606aa513dd2c9eba0938af09
BLAKE2b-256 76a1e0c2e34e1318e93536b1ad6ddbf1220a5e182bb1107d2966b95ca758ed1e

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