physx-usd-schemas
Codeless PhysX USD schemas for authoring and validation with a stock OpenUSD runtime.
This package ships two USD schema modules as pure-Python subpackages (no compiled C++ bindings):
physx_usd_schemas.PhysxSchema-- PhysX simulation schemas (rigid body, collision, joints, vehicles, particles, ...)physx_usd_schemas.OmniUsdPhysicsDeformableSchema-- Omni deformable-body simulation schemasphysx_usd_schemas.PhysicsSchemaTools-- Schema utility helpers (e.g.units_db)
Importing physx_usd_schemas registers all bundled schemas with any stock usd-core runtime,
so you can author or validate physics-annotated USD files without the full Omniverse runtime.
This wheel supplies the NVIDIA physics schema extensions -- the Physx* API schemas and the
OmniPhysics* deformable schemas. The official pxr.UsdPhysics core physics schemas come from
usd-core (OpenUSD), which is why usd-core is required alongside this wheel.
Installation
pip install physx-usd-schemas usd-core
Usage
Register all schemas at once (recommended)
Importing physx_usd_schemas registers all bundled schemas automatically -- no explicit
call is needed:
import physx_usd_schemas # registers all schemas on import
from pxr import Usd
stage = Usd.Stage.CreateInMemory()
prim = stage.DefinePrim("/World/Box", "Cube")
prim.ApplyAPI("PhysxRigidBodyAPI")
prim.ApplyAPI("PhysxCollisionAPI")
print(prim.GetAppliedSchemas())
physx_usd_schemas.register_all() is also available for explicit use and is safe to call again.
Register individual schemas
from physx_usd_schemas import PhysxSchema
from physx_usd_schemas import OmniUsdPhysicsDeformableSchema
PhysxSchema.register()
OmniUsdPhysicsDeformableSchema.register()
Use the pure-Python schema API
The schema modules expose a pure-Python API that mirrors the compiled bindings:
from pxr import Usd
import physx_usd_schemas # registers all schemas on import
from physx_usd_schemas import PhysxSchema
stage = Usd.Stage.CreateInMemory()
prim = stage.DefinePrim("/World/Box", "Cube")
api = PhysxSchema.PhysxRigidBodyAPI.Apply(prim)
api.CreateLinearDampingAttr(0.1)
Discover schema resource paths
If you need the raw plugInfo.json directory paths for manual registration:
import physx_usd_schemas
from pxr import Plug
paths = physx_usd_schemas.schema_paths()
Plug.Registry().RegisterPlugins([str(p) for p in paths])
Release files for physx-usd-schemas 25.11.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| physx_usd_schemas-25.11.1-py3-none-any.whl | Python 3 | none | any | Details |
Release files / physx_usd_schemas-25.11.1-py3-none-any.whl
| Download URL | physx_usd_schemas-25.11.1-py3-none-any.whl |
|---|---|
| Size | 79.2 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
a00e4062b28f5a23cbacdfb9dcddb6f3cf59418f082e2df8f9c3d0359d88da37
|
|
BLAKE2b-256 checksum How to use checksums |
69d11ec944dcf81f806448bde3c3a538b79046b7dfd526059c9fdb2deff0619f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.6
|