# ovphysx

ovphysx is a self-contained library package offering the PhysX SDK and Omni PhysX capabilities behind a C API and corresponding Python bindings for inclusion in user applications.
It loads USD scenes, runs simulation, and allows reading and writing simulation data with DLPack interoperability.

```{note}
Pre-release notice: ovphysx is pre-release software and not yet mature. Current limitations include a strict in-process USD requirement: ovphysx can only coexist with OpenUSD v25.11 that is non-monolithic, Python-enabled, and linked against oneTBB (in particular, ovphysx cannot be used together with `usd-core` in the same process today), and parts of the API are still being completed and may change before 1.0.
```

It packages the Omni PhysX runtime (providing in particular USD-aware simulation and tensorized data access) on top of the PhysX SDK.
The dependency stack is: PhysX SDK → omni.physx (Omniverse integration) → ovphysx (standalone C/Python SDK).

The source repository of ovphysx can be found at [https://github.com/NVIDIA-Omniverse/PhysX/](https://github.com/NVIDIA-Omniverse/PhysX/).

External references:
- [Omni PhysX User Guide](https://docs.omniverse.nvidia.com/kit/docs/omni_physics/latest/index.html)
- [PhysX SDK Documentation](https://nvidia-omniverse.github.io/PhysX/)

These documentation pages contain the following:

```{toctree}
:maxdepth: 2
:caption: Overview

ovphysx_overview
developer_guide
```

```{toctree}
:maxdepth: 1
:caption: Tutorials

tutorials/quickstart
tutorials/hello_world
tutorials/tensor_bindings
tutorials/cloning
tutorials/render_handoff
```

```{toctree}
:maxdepth: 1
:caption: API Reference

python_api
api
```

```{toctree}
:maxdepth: 1
:caption: Legal

SECURITY
```
