Skip to main content

Lightweight robot simulation on Box3D — URDF, sensors, control, and a browser-native viewer

Project description

robox3d

Lightweight robot simulation in Python, with a viewer that runs in your browser.

robox3d wraps Box3D — the new 3D physics engine by Erin Catto (author of Box2D) — into a batteries-included robotics toolkit: URDF loading, position/torque control, F/T·IMU·LiDAR·contact sensors, and WebSocket pose streaming to a React Three Fiber viewer. Physics runs headless; the viewer is just a browser tab.

CI License: MIT Python

SO-ARM101 driven by joint sliders in the browser viewer

A bundled SO-ARM101 simulated by robox3d and teleoperated with joint sliders — everything above runs from pip install + one command, visualized in a plain browser tab.

pip install "robox3d[viz]"
python -m robox3d.demo so101   # SO-ARM101 with joint sliders — opens at http://localhost:8765

日本語のREADMEは README.ja.md にあります。

Why robox3d?

  • Browser-native visualization — no OpenGL window, no X forwarding. The sim serves its own web viewer (HTTP + WebSocket on one port). Run headless on a server, watch from your laptop. Joint sliders in the viewer drive the robot live.
  • Zero-friction install — a small C17 engine with no dependencies, shipped as prebuilt wheels.
  • URDF in, physics out — links, joints, inertia, collision meshes (convex hull or CoACD decomposition), visual meshes and colors all handled.
  • Robotics-grade control & sensing — spring position control with physical-unit gains (kp in N·m/rad, DC-calibrated), pseudo torque control, gravity-compensation feedforward, and F/T, IMU, LiDAR (batched raycasts), and contact sensors.
  • Deterministic & fast — bit-exact reproducible across thread counts (validated), ~44,000 steps/s (≈180× real time) for a 6-DoF arm with active position control at 240 Hz × 4 substeps on a single desktop CPU core, including per-step Python-side target writes.
  • Record & replay — pose recordings (.rbx) use the same wire format as live streaming; replay them into the same viewer.

Quickstart

import numpy as np
import robox3d

with robox3d.World() as world:   # Z-up, gravity (0, 0, -9.81)
    ground = world.create_body(kind="static")
    ground.add_box(half_extents=(10, 10, 0.1), offset=(0, 0, -0.1))

    link = world.create_body(position=(0, 0, 1))
    link.add_capsule((0, 0, 0), (0, 0, -0.5), radius=0.05)

    joint = world.create_revolute_joint(
        ground, link, anchor=(0, 0, 1), axis=(0, 1, 0),
        spring=(60.0, 1.0),      # spring position control (hertz, damping_ratio)
    )
    joint.target_angle = np.radians(45)

    for _ in range(240):
        world.step(1 / 240)      # substeps=4 (default)
    print(np.degrees(joint.angle))

Load a robot from URDF

robot = robox3d.load_urdf(world, "robot.urdf")   # fixed base, self-collision off
robot.enable_position_control(hertz=120.0)
robot.set_targets(q_des)                          # auto-clamped to URDF limits
q, qd = robot.positions(), robot.velocities()

An SO-ARM101 model (TheRobotStudio SO-101, Apache-2.0) is bundled:

robot = robox3d.load_urdf(world, robox3d.assets.so101())

Mesh collision defaults to a single convex hull per link. For finer shapes use mesh_mode="coacd" (pip install "robox3d[coacd]"; results are cached in ~/.cache/robox3d/).

Visualize in the browser

from robox3d.viz import VizServer

server = VizServer(world, robot=robot)  # needs: pip install "robox3d[viz]"
server.start()                          # call after all bodies are created
while running:
    world.step(dt)
    server.update()                     # stream poses + apply viewer commands

Open server.url (default http://127.0.0.1:8765) — the same port serves the viewer over HTTP and streams poses over WebSocket. Passing robot= adds joint sliders to the viewer. URDF <visual> elements (colors and meshes included) are displayed automatically, with a HUD toggle for collision shapes.

Record and replay (same format as the live stream):

from robox3d.viz import PoseRecorder
with PoseRecorder(world, "run.rbx") as rec:
    for _ in range(1000):
        world.step(dt)
        rec.update()
python -m robox3d.viz.record run.rbx   # replays to the viewer

Control and sensors

# Gains in physical units (kp: N·m/rad); steady-state stiffness is calibrated
robot.enable_position_control(kp=200.0)

# Torque control (gravity-compensation feedforward + spring feedback)
robot.enable_torque_control(disable_springs=False)
robot.set_torques(robot.gravity_compensation())   # call every step

# Sensors
ft = robox3d.FTSensor(mount_joint, frame="joint") # constraint force/torque
imu = robox3d.IMU(body)                           # specific force + gyro
lidar = robox3d.Lidar(world, body=base, num_rays=360, max_range=10)
touch = robox3d.ContactSensor(foot_body)          # contact + net normal force

For many joints/bodies in an RL or control loop, the batch API (RevoluteGroup / BodyGroup) turns per-step FFI traffic into O(1) calls:

group = robox3d.RevoluteGroup(joints)
group.set_targets(q_des)          # np.ndarray (n,)
q, qd = group.angles(), group.speeds()

Examples

Script What it shows
python -m robox3d.demo so101 SO-ARM101 teleop in the browser
examples/viz_arm.py 6-DoF arm + falling boxes, sliders or auto trajectory, recording
examples/arm_trajectory.py Sinusoidal joint-space tracking, accuracy report
examples/arm_sensors.py F/T sensor vs. static analysis, IMU, LiDAR, gravity compensation
examples/pendulum.py Free swing and spring position-control step response
examples/falling_box.py Hello-world rigid body

Every example serves the browser viewer by default and keeps the scene moving until you Ctrl+C — open the printed URL to watch it live (real-time paced). Use --headless for a fast numeric run without the viewer, and --port to run several examples at once.

Scope and honest limitations

Box3D is a maximal-coordinate rigid-body engine (like game physics, unlike MuJoCo's generalized coordinates). robox3d validates and documents what that means in practice (validation report):

  • Joint drift is negligible (0.003 mm over 20 s on a 6-link chain) and 1:100 mass ratios stay stable, but contact-rich scenes are the sweet spot — precise dynamics studies should cross-check against Pinocchio/MuJoCo.
  • Revolute joint limits are capped at ±0.99π by the engine; wider URDF limits fall back to command clamping.
  • substeps < 4 is rejected — the solver needs substepping for stiff chains.
  • On chains where parallel hinges are bracketed by perpendicular ones (most arms), the engine's axis-alignment constraint leaks a small torque into the hinge, proportional to the joint constraint stiffness. robox3d's position control defaults to a tuning that keeps this below ~3° and exposes a knob (enable_position_control(constraint_hertz=...)) to trade pivot rigidity for sub-0.01 rad tracking. Full analysis: docs/spring-chain-investigation.md.
  • Simulation is deterministic across thread counts; recordings are bit-stable.

Development

git clone --recursive https://github.com/neka-nat/robox3d
cd robox3d
uv sync                        # builds box3d + shim via scikit-build-core
uv run pytest                  # 56 tests
uv run python tools/build_viewer.py   # bundle the web viewer (needs pnpm)
uv run python examples/viz_arm.py

The Box3D version is pinned via the external/box3d git submodule. When the upstream API changes, re-run uv run python tools/gen_ffi.py and review the diff — the cffi bindings are generated from the C headers.

Architecture (details in docs/development-plan.md, Japanese):

Layer Where What
1 FFI src/robox3d/_ffi/, csrc/ auto-generated cffi bindings + batch C shim
1 core src/robox3d/core/ World / Body / joints / batch groups
2 model src/robox3d/model/ URDF → Box3D (inertia, merging, convex decomposition)
3 control src/robox3d/control/ kp/kd↔spring conversion, torque control, gravity FF
3 sensors src/robox3d/sensors/ F/T, IMU, LiDAR, contact
4 viz src/robox3d/viz/, viewer/ WebSocket streaming, recording, R3F viewer

Credits

  • Box3D by Erin Catto (MIT)
  • Bundled SO-ARM101 model by TheRobotStudio (Apache-2.0)

License

MIT

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

robox3d-0.1.0.tar.gz (10.9 MB view details)

Uploaded Source

Built Distributions

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

robox3d-0.1.0-cp313-cp313-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.13Windows x86-64

robox3d-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

robox3d-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

robox3d-0.1.0-cp313-cp313-macosx_11_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.13macOS 11.0+ x86-64

robox3d-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

robox3d-0.1.0-cp312-cp312-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.12Windows x86-64

robox3d-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

robox3d-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

robox3d-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

robox3d-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

robox3d-0.1.0-cp311-cp311-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.11Windows x86-64

robox3d-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

robox3d-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

robox3d-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

robox3d-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

robox3d-0.1.0-cp310-cp310-win_amd64.whl (6.9 MB view details)

Uploaded CPython 3.10Windows x86-64

robox3d-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl (7.8 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64manylinux: glibc 2.28+ x86-64

robox3d-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl (7.7 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ ARM64manylinux: glibc 2.28+ ARM64

robox3d-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl (7.5 MB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

robox3d-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (7.4 MB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

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

File metadata

  • Download URL: robox3d-0.1.0.tar.gz
  • Upload date:
  • Size: 10.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for robox3d-0.1.0.tar.gz
Algorithm Hash digest
SHA256 b63b0a53857a80693415c1c1b3c9211209b9bfaa7758a01132114e4248b6dfc9
MD5 e5d16af30e3881d06ae543a34d83e240
BLAKE2b-256 ea14f8a76aa621d0c2507fdf6add9a626e0aafc1921b756b77f995c53515c2a9

See more details on using hashes here.

Provenance

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

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: robox3d-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for robox3d-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 b76d665fe5603a163e172bfe79edec7695b7429a8b6903fc341fd3002ed47934
MD5 40fd30469f4ffaf1ce1e6da04d8c52c5
BLAKE2b-256 5205d2092a2177efaca594abdb9670e9d849fffb3db659d0569d4dfeaae6f089

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp313-cp313-win_amd64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 d0f27a7204051043ad5f682d18c2662942d0d56e6087f7fd5221dd77a04d1881
MD5 5a00f017dc0cdbe6cafe89e0247ac27e
BLAKE2b-256 62139b5b026840d6cc4a4f205a1a37ffab64d684d86cbc81ffd4248d17ddaf24

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 3426bb0ba6991dc548f3f1aaca94ebc9560a906ca467b5f2eae04413a2793c76
MD5 c65a090696cf5d28ed15fa2ee7d92651
BLAKE2b-256 ee6ce81a2d304518e2103ca4c099c25f9315f33e66e231625e0e217c92be272f

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp313-cp313-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp313-cp313-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 df838811ede95ba5e27cf01cb6d277b0ac80c62c41e691afe66315f7163df9e8
MD5 23070503afedf34957f8345fddd1464f
BLAKE2b-256 3a1c72cde1894bf7f3bec84a576f833dcc8f0ad2f6d7d06a8edb657e47f723cd

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp313-cp313-macosx_11_0_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b84eb2c27d201f5c8dce60e6ee060228b43a0653b9296284673138ae5f3519a
MD5 d61a18738add4e1f049628a0f48d765b
BLAKE2b-256 2933b3c1f8f06df9e3adb260f239b6d7d756e1dced45cd2d7330ca93a048dee2

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: robox3d-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for robox3d-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 bda9c8aabb948b046944811f25d85fa3abadacb7edd27e0a182ea6075617d3c6
MD5 ae04eab748cfc75f7ad807fbeb7291ae
BLAKE2b-256 f91685a7d505e0542f8d5a8d91551b1f1874af6472208e9a76344ed4fb010c8f

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 06554da10c18d736aab737f69b79a9793ede6f9ce84f1957fcdeed572d1b9393
MD5 d8689d64726e9af5d1f5736f40b32d27
BLAKE2b-256 500338f6c3ac21a40fa04b55f8e9240d9fa261f629d723379fa53c50a7eb2a0f

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 5a4ebeb110f913c6834eeaf4301b1a5dabc5e90e285ada7a0fbfd64ae44bedfd
MD5 f31a27938fe7a70bea583f82b5070758
BLAKE2b-256 4d5b2d8db3a625f81bd4a8c8cde8ec3d8057d58f2989220f7f9c398a279000ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 ec7f800e4dd3f610e450ee7374325920ea0c25f5d0f5fd98f1da49ad3ff84d5e
MD5 adff3b78c674a056a29aae4105538ce5
BLAKE2b-256 1c873d65b3568c1380ef8b81bcd800e2c6b831613606511761417166092cfc10

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 33624bd352b856064ff1f45be4499d0eb717b9dce8afa6030375feeb6bfd7399
MD5 3ef3a100a66b242c8578a866c2c6b87e
BLAKE2b-256 88bb5db406aafdb3c5238d499f51d0c1e97502b90a6d9cb4c46399031162a811

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: robox3d-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for robox3d-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 d4bcc8e3aa1e65adde998a270539ff07ccf3824d204021491371f914cb3b24e0
MD5 431299a81501988d630ce47f3a3b0b1c
BLAKE2b-256 b47952b69f875686ea3c581ba8f898f2919d7dcbe647358a1ce482d5056fbd52

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 959f8cc6beae2e3fe308ddaf72ad7aafd0927a2abf8874553ae0f944dc1b7490
MD5 ecf01498ea218078609b7e4fff95c206
BLAKE2b-256 d39f282cd38b434faeac4db214f1b7bf6e6094485f312f63ef94186303187bff

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 7b1f99a5a6c158c51a1e4d048e9a3812cb186fa730c6a121a2fbd661c076cb43
MD5 223139fcce8d138e03d67939007cab2c
BLAKE2b-256 942f06668765c7bfedcc08fb6d5d42759ee5c99414a0a38f41ad7cba52a5297e

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 f03be3415598d9c5a91ea80b796ce77cb244ec3e83a9ce25ba0b41e079855bc0
MD5 8fe149bb861906e1ceeae890cb42a413
BLAKE2b-256 c3926e5fc2ed10e707c9451aa5f3300e0ec1c54e519110a22fb607e82e80ddba

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 99ada5e2db0f8dcc16732ac501a8d44c22d588e77ad7d71485bcbe839bcc4222
MD5 94b121cb418766723c601536aecc1b95
BLAKE2b-256 b58c325a8190839f692d6194f2ecbed67d2b45a16a6dd6087123cba3a097e203

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: robox3d-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 6.9 MB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for robox3d-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 f5a87bda59a242fbca3fed1f302e8c01c691706d5cd24dfbff84ecea68041a17
MD5 13400560d952ed65c2dd21f23aaae7fb
BLAKE2b-256 61c7eb69cdee6660a7e8820540e90e4275d0de6e7d2dce707f419fc2a0d557d2

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 62cfc76ebce74f1ba7390acf5d31e1e090cb16d329c2302e9377a0ec79a4f529
MD5 adac1bee653967ce8b82b6d448b057e1
BLAKE2b-256 9223efeee6487896cb7be90aafdb94037ef64d05d62bc747538c1188e76e982b

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
Algorithm Hash digest
SHA256 2b0ec24dc79e2280ad409128e63f5f03c56651eb3ef0de54782607e555e45d84
MD5 3463d4577709e784e9cdec13032be698
BLAKE2b-256 eb967ffff45ed4e062fc23b14d01536ddfbc3c74794a60568cdbeaf9659cfd20

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 eee7e5b8cd58ba57290c3cbc9a97a4d3d12a6a22fe44a416055d8bd59cc408a7
MD5 9c6298af6adb67ded277e0a1655928e4
BLAKE2b-256 490bc93e605c6cbe9fd46805831c8036a58969b6cddeeaa01381e732ed37904d

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl:

Publisher: release.yml on neka-nat/robox3d

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

File details

Details for the file robox3d-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for robox3d-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 b7a7e99fdc95310721317ae8106f5364511aa026a5847b870919a5c15a7c5ae7
MD5 57ccfc517e783173870fc85fab5aad1b
BLAKE2b-256 6f1ef6c49dc19c2cf09b18a386fd441c92120f13c2a7af95c40b894847bc793a

See more details on using hashes here.

Provenance

The following attestation bundles were made for robox3d-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on neka-nat/robox3d

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