Skip to main content

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.array output on CPU and CUDA through PhysX.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)

Table of built distributions (wheels) for ovphysx 0.6.3
File Interpreter ABI Platform
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
Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page