Skip to main content
Yanked

This release has been yanked by its maintainers, and will be ignored by installers, except when explicitly specified.
Consider using release 0.3.0 instead.

digiarena (PyPI: digiarena)

Python SDK for DigiArena — browse hosted robot-simulation scenes, deploy them as cloud gyms, and submit to benchmarks.

pip install digiarena
import digiarena as da

da.login()                                   # paste an API key from digiarena.org → Settings
# Continue the exact browser attempt without resetting:
with da.attach("hosted-session-id") as env:
    obs, info = env.observe()
    print(info["episode_id"], obs["rgb"].keys())

# Or launch an independent session from an accessible scene in one call
# (env.close() also tears the session down):
with da.make("alice/kitchen_001", task="pick_mug_to_sink") as env:
    obs, info = env.reset(seed=0)
    obs, reward, terminated, truncated, info = env.step(env.action_space.sample())

# Or keep the handle for the viewer URL, logs and lifetime extension:
scenes = da.scenes.list(query="kitchen")
gym = da.deploy(scene="kitchen_001", task="pick_mug_to_sink")
env = gym.connect()                          # → world_engine_client.RemoteEnv
obs, info = env.reset(seed=0)
obs, r, term, trunc, info = env.step(action)
gym.close()

CLI with the same surface:

digiarena login
digiarena scenes list --query kitchen
digiarena deploy --scene kitchen_001
digiarena leaderboard tabletop-v1
digiarena usage

Layering

digiarena depends on and reuses world-engine-client (connect(token, url) → RemoteEnv). This package covers everything from your account to that token — scene gallery, cloud deploy, benchmark submission, leaderboards, usage — and never reimplements the wire protocol.

  • Light dependencies: numpy, Pillow (camera images) and Gymnasium (spaces), all via world-engine-client. No torch or opencv. import digiarena loads only the stdlib and numpy; Pillow and Gymnasium load on first use.
  • Every call hits the public REST API (/api/v1/*) with Authorization: Bearer da_live_... — the SDK is a thin wrapper you could replace with curl.
  • Typed errors with actionable "Possible fixes" (the World Engine style).
  • Endpoints still in later platform milestones (benchmark submission) raise NotImplementedYetError with the server's own guidance — the SDK surface is stable ahead of them.

Scene content never transits your machine: there is no upload()/download(). Content is authored in the platform's browser editor; public scenes are used directly via da.deploy() without forking. Private scenes require ownership or platform admin access. Hosted image sessions require a GPU-capable session host. Pass images=False to deploy/attach for state-only operation.

Remote simulation

da.attach(session_id) uses resume semantics and pauses the current attempt. env.observe() and env.render() never advance physics. env.reset(seed=...) starts a new episode; env.step(action) advances one negotiated control interval. env.close() releases control; gym.close() tears down a launched session. A live Python controller survives browser closure. Lost/uncertain actions are never retried automatically: reconnect or explicitly reset to recover.

Images are RGB uint8 arrays in obs['rgb'], keyed by configured camera name. Use cameras=['wrist'] for a subset and env.as_gymnasium() for the optional Gymnasium adapter.

Runnable examples are in the repository's examples/ directory (not part of the installed package): attach.py, reachable_pose.py, and deploy_policy.py. measure_remote.py records throughput and soak measurements. vla_smolvla.py runs a real VLA (SmolVLA via LeRobot, pip install 'lerobot[smolvla]') on your machine against a remote session, and measure_link.py reports what your network link does to stepping: steps per second, latency and bandwidth used, for state only, one camera and all cameras.

To check the whole path end to end, start Simulate in the browser editor, copy the session id from the Inspector's Python API card, and send the end effector to a pose while watching the browser:

python examples/reachable_pose.py SESSION_ID                       # small offset from the start pose
python examples/reachable_pose.py SESSION_ID --pos 0.45 0.0 0.30   # absolute position, metres
python examples/reachable_pose.py SESSION_ID --pos 0.45 0 0.3 --rot 3.14 0 0 --state-only
digiarena attach SESSION_ID --state-only                           # inspect without stepping

Development

pip install -e '.[img,gym]' pytest && python -m pytest

The tests use a stub control plane and a fake simulator; no platform is needed.

Credentials

DIGIARENA_API_KEY env var (CI/batch) → ~/.config/digiarena/credentials (written by da.login() / digiarena login, mode 0600). DIGIARENA_API_URL overrides the endpoint for staging deployments.

Metadata

Release files for digiarena 0.2.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for digiarena 0.2.0
File Size Uploaded Provenance
digiarena-0.2.0.tar.gz 32.4 kB With provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for digiarena 0.2.0
File Interpreter ABI Platform
digiarena-0.2.0-py3-none-any.whl Python 3 none any Details

Total release size: 52.5 kB

Release files / digiarena-0.2.0.tar.gz

Download URL digiarena-0.2.0.tar.gz
Size 32.4 kB
Tags Source
SHA-256 checksum
How to use checksums
a93c629d35e852e4a4fc897d2b45d10bea78b6e41c643fc96362e29d923a4ace
BLAKE2b-256 checksum
How to use checksums
7d8ab6bf8ea4f54aa08ed5f48450f92e7f4da565178777e545a445ac3c87c6b3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Release files / digiarena-0.2.0-py3-none-any.whl

Download URL digiarena-0.2.0-py3-none-any.whl
Size 20.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e32e3085647be7908b7d7d71a73c26ee35a0ace3d1bc834fedd627e167bf3d48
BLAKE2b-256 checksum
How to use checksums
bf7bda3c6b1788fd20d45e2adc2d0063bb8ee7590ffc502f27ce192b842aa982
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

Security for digiarena 0.2.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for digiarena-0.2.0.tar.gz

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 17, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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