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.
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 < 4is 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
License
MIT
Metadata
Release files for robox3d 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| robox3d-0.1.0.tar.gz | 10.9 MB | With provenance | Details |
Built distributions (wheels)
Total release size: 160.3 MB
Release files / robox3d-0.1.0.tar.gz
| Download URL | robox3d-0.1.0.tar.gz |
|---|---|
| Size | 10.9 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
b63b0a53857a80693415c1c1b3c9211209b9bfaa7758a01132114e4248b6dfc9
|
|
BLAKE2b-256 checksum How to use checksums |
ea14f8a76aa621d0c2507fdf6add9a626e0aafc1921b756b77f995c53515c2a9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp313-cp313-win_amd64.whl
| Download URL | robox3d-0.1.0-cp313-cp313-win_amd64.whl |
|---|---|
| Size | 6.9 MB |
| Tags | CPython 3.13 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b76d665fe5603a163e172bfe79edec7695b7429a8b6903fc341fd3002ed47934
|
|
BLAKE2b-256 checksum How to use checksums |
5205d2092a2177efaca594abdb9670e9d849fffb3db659d0569d4dfeaae6f089
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
| Download URL | robox3d-0.1.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
d0f27a7204051043ad5f682d18c2662942d0d56e6087f7fd5221dd77a04d1881
|
|
BLAKE2b-256 checksum How to use checksums |
62139b5b026840d6cc4a4f205a1a37ffab64d684d86cbc81ffd4248d17ddaf24
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
| Download URL | robox3d-0.1.0-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.13 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
3426bb0ba6991dc548f3f1aaca94ebc9560a906ca467b5f2eae04413a2793c76
|
|
BLAKE2b-256 checksum How to use checksums |
ee6ce81a2d304518e2103ca4c099c25f9315f33e66e231625e0e217c92be272f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp313-cp313-macosx_11_0_x86_64.whl
| Download URL | robox3d-0.1.0-cp313-cp313-macosx_11_0_x86_64.whl |
|---|---|
| Size | 7.5 MB |
| Tags | CPython 3.13 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
df838811ede95ba5e27cf01cb6d277b0ac80c62c41e691afe66315f7163df9e8
|
|
BLAKE2b-256 checksum How to use checksums |
3a1c72cde1894bf7f3bec84a576f833dcc8f0ad2f6d7d06a8edb657e47f723cd
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
| Download URL | robox3d-0.1.0-cp313-cp313-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.13 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
6b84eb2c27d201f5c8dce60e6ee060228b43a0653b9296284673138ae5f3519a
|
|
BLAKE2b-256 checksum How to use checksums |
2933b3c1f8f06df9e3adb260f239b6d7d756e1dced45cd2d7330ca93a048dee2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp312-cp312-win_amd64.whl
| Download URL | robox3d-0.1.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 6.9 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
bda9c8aabb948b046944811f25d85fa3abadacb7edd27e0a182ea6075617d3c6
|
|
BLAKE2b-256 checksum How to use checksums |
f91685a7d505e0542f8d5a8d91551b1f1874af6472208e9a76344ed4fb010c8f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
| Download URL | robox3d-0.1.0-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
06554da10c18d736aab737f69b79a9793ede6f9ce84f1957fcdeed572d1b9393
|
|
BLAKE2b-256 checksum How to use checksums |
500338f6c3ac21a40fa04b55f8e9240d9fa261f629d723379fa53c50a7eb2a0f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
| Download URL | robox3d-0.1.0-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.12 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
5a4ebeb110f913c6834eeaf4301b1a5dabc5e90e285ada7a0fbfd64ae44bedfd
|
|
BLAKE2b-256 checksum How to use checksums |
4d5b2d8db3a625f81bd4a8c8cde8ec3d8057d58f2989220f7f9c398a279000ff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl
| Download URL | robox3d-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl |
|---|---|
| Size | 7.5 MB |
| Tags | CPython 3.12 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
ec7f800e4dd3f610e450ee7374325920ea0c25f5d0f5fd98f1da49ad3ff84d5e
|
|
BLAKE2b-256 checksum How to use checksums |
1c873d65b3568c1380ef8b81bcd800e2c6b831613606511761417166092cfc10
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
| Download URL | robox3d-0.1.0-cp312-cp312-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.12 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
33624bd352b856064ff1f45be4499d0eb717b9dce8afa6030375feeb6bfd7399
|
|
BLAKE2b-256 checksum How to use checksums |
88bb5db406aafdb3c5238d499f51d0c1e97502b90a6d9cb4c46399031162a811
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp311-cp311-win_amd64.whl
| Download URL | robox3d-0.1.0-cp311-cp311-win_amd64.whl |
|---|---|
| Size | 6.9 MB |
| Tags | CPython 3.11 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
d4bcc8e3aa1e65adde998a270539ff07ccf3824d204021491371f914cb3b24e0
|
|
BLAKE2b-256 checksum How to use checksums |
b47952b69f875686ea3c581ba8f898f2919d7dcbe647358a1ce482d5056fbd52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
| Download URL | robox3d-0.1.0-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
959f8cc6beae2e3fe308ddaf72ad7aafd0927a2abf8874553ae0f944dc1b7490
|
|
BLAKE2b-256 checksum How to use checksums |
d39f282cd38b434faeac4db214f1b7bf6e6094485f312f63ef94186303187bff
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
| Download URL | robox3d-0.1.0-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
7b1f99a5a6c158c51a1e4d048e9a3812cb186fa730c6a121a2fbd661c076cb43
|
|
BLAKE2b-256 checksum How to use checksums |
942f06668765c7bfedcc08fb6d5d42759ee5c99414a0a38f41ad7cba52a5297e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl
| Download URL | robox3d-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl |
|---|---|
| Size | 7.5 MB |
| Tags | CPython 3.11 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
f03be3415598d9c5a91ea80b796ce77cb244ec3e83a9ce25ba0b41e079855bc0
|
|
BLAKE2b-256 checksum How to use checksums |
c3926e5fc2ed10e707c9451aa5f3300e0ec1c54e519110a22fb607e82e80ddba
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
| Download URL | robox3d-0.1.0-cp311-cp311-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.11 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
99ada5e2db0f8dcc16732ac501a8d44c22d588e77ad7d71485bcbe839bcc4222
|
|
BLAKE2b-256 checksum How to use checksums |
b58c325a8190839f692d6194f2ecbed67d2b45a16a6dd6087123cba3a097e203
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp310-cp310-win_amd64.whl
| Download URL | robox3d-0.1.0-cp310-cp310-win_amd64.whl |
|---|---|
| Size | 6.9 MB |
| Tags | CPython 3.10 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
f5a87bda59a242fbca3fed1f302e8c01c691706d5cd24dfbff84ecea68041a17
|
|
BLAKE2b-256 checksum How to use checksums |
61c7eb69cdee6660a7e8820540e90e4275d0de6e7d2dce707f419fc2a0d557d2
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl
| Download URL | robox3d-0.1.0-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl |
|---|---|
| Size | 7.8 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ x86-64 Linux glibc 2.28+ x86-64 |
|
SHA-256 checksum How to use checksums |
62cfc76ebce74f1ba7390acf5d31e1e090cb16d329c2302e9377a0ec79a4f529
|
|
BLAKE2b-256 checksum How to use checksums |
9223efeee6487896cb7be90aafdb94037ef64d05d62bc747538c1188e76e982b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl
| Download URL | robox3d-0.1.0-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.manylinux_2_28_aarch64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.10 Linux glibc 2.17+ ARM64 Linux glibc 2.28+ ARM64 |
|
SHA-256 checksum How to use checksums |
2b0ec24dc79e2280ad409128e63f5f03c56651eb3ef0de54782607e555e45d84
|
|
BLAKE2b-256 checksum How to use checksums |
eb967ffff45ed4e062fc23b14d01536ddfbc3c74794a60568cdbeaf9659cfd20
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl
| Download URL | robox3d-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl |
|---|---|
| Size | 7.5 MB |
| Tags | CPython 3.10 macOS 11.0+ x86-64 |
|
SHA-256 checksum How to use checksums |
eee7e5b8cd58ba57290c3cbc9a97a4d3d12a6a22fe44a416055d8bd59cc408a7
|
|
BLAKE2b-256 checksum How to use checksums |
490bc93e605c6cbe9fd46805831c8036a58969b6cddeeaa01381e732ed37904d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logRelease files / robox3d-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
| Download URL | robox3d-0.1.0-cp310-cp310-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.4 MB |
| Tags | CPython 3.10 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
b7a7e99fdc95310721317ae8106f5364511aa026a5847b870919a5c15a7c5ae7
|
|
BLAKE2b-256 checksum How to use checksums |
6f1ef6c49dc19c2cf09b18a386fd441c92120f13c2a7af95c40b894847bc793a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.12
|
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 Jul 7, 2026.
Transparency logSecurity for robox3d 0.1.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 21 files in this release have been uploaded with provenance metadata.
Attestation for robox3d-0.1.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 Jul 7, 2026.
Transparency logA 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.