ovphysx
ovphysx is a self-contained Python library for ovstage/USD-based physics simulation with Warp-array output and downstream DLPack interoperability. It wraps NVIDIA PhysX and provides:
- ovstage attachment plus rigid-body / articulation simulation
- Same-device
warp.arrayoutput on CPU and CUDA throughPhysX.read()/read_tokens() - Downstream zero-copy framework interoperability through Warp's DLPack support
- Environment cloning for batched reinforcement-learning workloads
Quick start
pip install ovphysx
from pathlib import Path
import ovphysx
import ovstage
from ovphysx import PhysX
usd_path = (
Path(ovphysx.__file__).resolve().parent
/ "samples"
/ "data"
/ "simple_physics_scene.usda"
)
if not usd_path.is_file():
raise FileNotFoundError(f"ovphysx sample data is missing: {usd_path}")
# ovphysx ships its PhysX USD schemas as codeless resources and never registers
# them itself; register them with ovstage before the first population call.
ovstage.population.register_usd_schemas([str(ovphysx.codeless_schema_root())])
stage = ovstage.Stage("scene")
ovstage.population.open_usd(
stage, str(usd_path), ordinal=1, domains=ovstage.PopulationDomain.PHYSICS
)
# attach_ovstage() reads at a sealed ordinal.
stage.advance_write_floor(ordinal=1).wait()
physx = PhysX()
physx.attach_ovstage(stage, read_ordinal=1)
physx.step_sync(1.0 / 60.0)
physx.detach_ovstage()
physx.destroy()
stage.destroy()
For full documentation and tutorials, see ovphysx/docs/ inside the
installed package, or the ovphysx repository.
Metadata
Release files for ovphysx 0.6.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| ovphysx-0.6.3-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| ovphysx-0.6.3-py3-none-manylinux_2_35_x86_64.whl | Python 3 | none | Linux glibc 2.35+ x86-64 | Details |
| ovphysx-0.6.3-py3-none-manylinux_2_35_aarch64.whl | Python 3 | none | Linux glibc 2.35+ ARM64 | Details |
Total release size: 401.6 MB
Release files / ovphysx-0.6.3-py3-none-win_amd64.whl
| Download URL | ovphysx-0.6.3-py3-none-win_amd64.whl |
|---|---|
| Size | 130.5 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
42f9132eb49295ec07792464e2605f1bac5152435e4020b76f8a0040eb22cb48
|
|
BLAKE2b-256 checksum How to use checksums |
ff106adc8dc8872e1f2625c2fb92bfcf215bbc6dc4f584244d7c0ef7faf0ac3c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / ovphysx-0.6.3-py3-none-manylinux_2_35_x86_64.whl
| Download URL | ovphysx-0.6.3-py3-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 139.0 MB |
| Tags | Linux glibc 2.35+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
21cbe1877b91bdce6951e4f3ac5fd1845b99d567bb4dd742df51a5b0c081eeb5
|
|
BLAKE2b-256 checksum How to use checksums |
0828712083d4d111782df477d1795d7c9ad1704afdac80d1443f4a0e9e6fe81d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|
Release files / ovphysx-0.6.3-py3-none-manylinux_2_35_aarch64.whl
| Download URL | ovphysx-0.6.3-py3-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 132.2 MB |
| Tags | Linux glibc 2.35+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
247a17a7d0966a8a4059a53cd4524d21ef877c6dfeac42d9bd499c2518b234db
|
|
BLAKE2b-256 checksum How to use checksums |
92d035570d204b623fc70db06cfec0ea6a1f4c2ec95473a153acbaabb1dfe47c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|