Skip to main content

Omnigent OpenSandbox provider

omnigent-community-sandbox-opensandbox is a community sandbox provider that runs server-managed Omnigent hosts in OpenSandbox sandboxes. It uses Omnigent's omnigent.sandbox_providers entry point and keeps all provider code in the required omnigent.community.sandbox.* namespace.

This is an independent community implementation. It has not been submitted to or endorsed by the Omnigent maintainers.

Compatibility

  • Python 3.12+
  • Omnigent 0.8.2 through 0.9.x
  • OpenSandbox Python SDK 0.1.15

Install

From this directory:

python -m pip install .

After installation, Omnigent discovers the provider as opensandbox. For a server-managed deployment, configure Omnigent with the provider and supply the OpenSandbox connection through environment variables:

sandbox:
  provider: opensandbox
  server_url: https://your-omnigent-server.example
export OPEN_SANDBOX_DOMAIN=localhost:8080
export OPEN_SANDBOX_PROTOCOL=http
omnigent server

The default sandbox image is Omnigent's official DEFAULT_HOST_IMAGE. Set OMNIGENT_OPENSANDBOX_IMAGE to use another prebuilt image, or set OMNIGENT_OPENSANDBOX_SNAPSHOT_ID to restore a snapshot. Image and snapshot are mutually exclusive.

Configuration

Variable Default Purpose
OPEN_SANDBOX_DOMAIN SDK default (localhost:8080) OpenSandbox management endpoint
OPEN_SANDBOX_API_KEY unset Management API credential
OPEN_SANDBOX_PROTOCOL http http or https
OPEN_SANDBOX_REQUEST_TIMEOUT 30 Management request timeout in seconds
OPEN_SANDBOX_USE_SERVER_PROXY false Route sandbox service calls through the server proxy
OMNIGENT_OPENSANDBOX_IMAGE Omnigent DEFAULT_HOST_IMAGE Prebuilt host image
OMNIGENT_OPENSANDBOX_SNAPSHOT_ID unset Snapshot to restore instead of an image
OMNIGENT_OPENSANDBOX_TIMEOUT_SECONDS 86400 Maximum sandbox lifetime; minimum 60
OMNIGENT_OPENSANDBOX_READY_TIMEOUT_SECONDS 120 Create, connect, and resume readiness timeout
OMNIGENT_OPENSANDBOX_ENV unset Comma-separated host variable names copied into the sandbox
OMNIGENT_OPENSANDBOX_RESUME_STOPPED false Advertise and enable in-place resume only when the deployment has checkpoint/snapshot support

OpenSandboxLauncher also accepts an explicit ConnectionConfigSync, image or snapshot, environment, passthrough variable names, metadata, and timeout values. Explicit environment and metadata dictionaries are useful when the launcher is instantiated by deployment code rather than the Omnigent registry.

Implemented contract

  • management-plane preflight with prepare();
  • create from image or snapshot and wait for readiness;
  • attach to an existing running sandbox without taking ownership;
  • synchronous commands with separate stdout, stderr, and exit code;
  • binary file upload with parent-directory creation and source mode retention;
  • terminate, pause-state detection, and in-place resume;
  • local SDK client cleanup that never implicitly terminates remote sandboxes.

The launcher advertises only those capabilities. managed_launch, programmatic_terminate and file_copy are enabled. resume_stopped is conservatively disabled by default because OpenSandbox checkpoint support is a deployment capability. Set OMNIGENT_OPENSANDBOX_RESUME_STOPPED=true only after pause/resume has been verified against that deployment. cli_bootstrap, streaming exec, foreground exec, and local port forwarding are disabled.

Boundaries

  • The implementation targets one prebuilt, single-container sandbox. It does not build Dockerfiles or model Compose applications.
  • Omnigent CLI bootstrap is intentionally unavailable because OpenSandbox SDK 0.1.15 does not provide the required foreground/PTY streaming and local port forwarding contract.
  • close() releases local HTTP clients only. Omnigent must call terminate() when it intends to delete remote compute.
  • OpenSandbox snapshots, images, and endpoint reachability remain deployment responsibilities.
  • In-place resume requires a configured OpenSandbox checkpoint/snapshot provider. The capability must be explicitly enabled per deployment.

Development

python -m pip install -e '.[test]'
ruff format --check .
ruff check .
pyrefly check src
pytest -q
python -m build --outdir /tmp/omnigent-opensandbox-dist

The live test is opt-in and creates a real sandbox:

OPEN_SANDBOX_INTEGRATION_TEST=1 pytest -q tests/test_live.py

Without that flag, the live test is reported as skipped, not passed.

See the verification record for the latest automated results and the boundary of the live checks.

Download files

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

Source Distribution

omnigent_community_sandbox_opensandbox-0.1.0.tar.gz (19.9 kB view details)

Uploaded Source

Built Distribution

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

File details

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

File metadata

File hashes

Hashes for omnigent_community_sandbox_opensandbox-0.1.0.tar.gz
Algorithm Hash digest
SHA256 57ce90522106f4c07a0aab654cbadc6c5477f16454fcfcd64ab597061dcb0d7b
MD5 dda35366b6097d033bea0fb95fb30e02
BLAKE2b-256 8e925fbaffeb466b70e747e63d80e51e270b6fbb9f433700ded54c11e6de23f4

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigent_community_sandbox_opensandbox-0.1.0.tar.gz:

Publisher: publish.yml on jianpingpei/omnigent-community-sandbox-opensandbox

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

File details

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

File metadata

File hashes

Hashes for omnigent_community_sandbox_opensandbox-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 5d709aef3993aff6820496fce4007b83f03e4867cffe01e4af6858e3a145875d
MD5 c1e1dc869afd38d6f14d79feea9c051f
BLAKE2b-256 5cf7ee4e2c436cc75c4443a91ec49ca837d36c702cf919761977c90904787d52

See more details on using hashes here.

Provenance

The following attestation bundles were made for omnigent_community_sandbox_opensandbox-0.1.0-py3-none-any.whl:

Publisher: publish.yml on jianpingpei/omnigent-community-sandbox-opensandbox

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

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page