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 through session reads (PhysX.read()/read_sync()) - Downstream zero-copy framework interoperability through Warp's DLPack support
- Environment cloning for batched reinforcement-learning workloads
Quick start
pip install ovphysx physx-usd-schemas newton-usd-schemas
newton-usd-schemas is the Newton USD schema the snippet below registers next
to the external PhysX schemas; scenes that author no newton:* attributes can leave it out
and drop the newton_schema_root() entry.
from pathlib import Path
import ovphysx
from ovphysx.samples.python_samples.schema_support import physx_schema_paths
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}")
# Register external PhysX and Newton schemas before the first population.
ovstage.population.register_usd_schemas(
[*[str(p) for p in physx_schema_paths()], str(ovphysx.newton_schema_root())]
)
stage = ovstage.Stage("scene")
ovstage.population.open_usd(
stage, str(usd_path), ordinal=1, domains=ovstage.PopulationDomain.ALL
)
# attach_ovstage() reads at a sealed ordinal.
stage.advance_write_floor(ordinal=1).wait()
physx = PhysX()
physx.wait_task(physx.attach_ovstage(stage, read_ordinal=1))
physx.step_sync(1.0 / 60.0)
physx.wait_task(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.7.0.74035321
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.7.0.74035321-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| ovphysx-0.7.0.74035321-py3-none-manylinux_2_35_x86_64.whl | Python 3 | none | Linux glibc 2.35+ x86-64 | Details |
| ovphysx-0.7.0.74035321-py3-none-manylinux_2_35_aarch64.whl | Python 3 | none | Linux glibc 2.35+ ARM64 | Details |
Total release size: 403.5 MB
Release files / ovphysx-0.7.0.74035321-py3-none-win_amd64.whl
| Download URL | ovphysx-0.7.0.74035321-py3-none-win_amd64.whl |
|---|---|
| Size | 131.4 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
b6f4a447abdab5effd78faf1ee9d3b8679281de19e4bd2e40528f0a608f8c57c
|
|
BLAKE2b-256 checksum How to use checksums |
b165ec34e845b19b375866d9710110726e9f88ef023e523f4069e63c60dd8b81
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / ovphysx-0.7.0.74035321-py3-none-manylinux_2_35_x86_64.whl
| Download URL | ovphysx-0.7.0.74035321-py3-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 135.8 MB |
| Tags | Linux glibc 2.35+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
763e29e158c841822b041ca83d2747d949c7453eb261fc77ed9ac0e7a1eca64c
|
|
BLAKE2b-256 checksum How to use checksums |
c941b5baeec7acfcdfaa152ecbaf2be0ed848f926dcb79bb35f97e7ee99363e4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / ovphysx-0.7.0.74035321-py3-none-manylinux_2_35_aarch64.whl
| Download URL | ovphysx-0.7.0.74035321-py3-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 136.2 MB |
| Tags | Linux glibc 2.35+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
52f95d49d6c372984abc5afa24b7b99928579b785b3b81414759ffe005158c95
|
|
BLAKE2b-256 checksum How to use checksums |
cf238206cf19ca63cedb98c9a50c3aed6fab00610a179b61853a2f83bc91619f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|