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 newton-usd-schemas
newton-usd-schemas is the Newton USD schema the snippet below registers next
to ovphysx's own; scenes that author no newton:* attributes can leave it out
and drop the newton_schema_root() entry.
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. The
# Newton USD schema (pip install newton-usd-schemas) goes in the same call so
# authored newton:* attributes reach the parser.
ovstage.population.register_usd_schemas(
[str(ovphysx.codeless_schema_root()), str(ovphysx.newton_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.4.72118723
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.4.72118723-py3-none-win_amd64.whl | Python 3 | none | Windows x86-64 | Details |
| ovphysx-0.6.4.72118723-py3-none-manylinux_2_35_x86_64.whl | Python 3 | none | Linux glibc 2.35+ x86-64 | Details |
| ovphysx-0.6.4.72118723-py3-none-manylinux_2_35_aarch64.whl | Python 3 | none | Linux glibc 2.35+ ARM64 | Details |
Total release size: 409.8 MB
Release files / ovphysx-0.6.4.72118723-py3-none-win_amd64.whl
| Download URL | ovphysx-0.6.4.72118723-py3-none-win_amd64.whl |
|---|---|
| Size | 130.7 MB |
| Tags | Python 3 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
62edd7752743b3475d04693318d67b6cef7f69496740ef1ae0f58335e1c07524
|
|
BLAKE2b-256 checksum How to use checksums |
afb0276ea39a806cf77fcfe25749f7b4739eb173d3966d780cf9475b2bacf423
|
| 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.6.4.72118723-py3-none-manylinux_2_35_x86_64.whl
| Download URL | ovphysx-0.6.4.72118723-py3-none-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 139.3 MB |
| Tags | Linux glibc 2.35+ x86-64 Python 3 |
|
SHA-256 checksum How to use checksums |
8276824ef74bd79ae231804850a9dcaf218967c6dd92bc31f4d1bc1c1e0d4643
|
|
BLAKE2b-256 checksum How to use checksums |
5a5204625f93a57c6dbabc1d3326b6211d4983dfe3d13084fea1aefdba9edd4f
|
| 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.6.4.72118723-py3-none-manylinux_2_35_aarch64.whl
| Download URL | ovphysx-0.6.4.72118723-py3-none-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 139.8 MB |
| Tags | Linux glibc 2.35+ ARM64 Python 3 |
|
SHA-256 checksum How to use checksums |
073aaea335d66b833922c65bf88b777615148f635769c1115b4b393e155655d2
|
|
BLAKE2b-256 checksum How to use checksums |
b35beacab4c280b9f1fc1748b151dd0b9198c55a4baf188eff301469c720f401
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|