Runtime Requirements#
If you are using the Python wheels, simply install the wheel using your preferred package manager. All runtime requirements are precompiled & self-contained within the wheel setup.
If you are building a compiled application or plugin that uses OpenUSD Exchange libraries and modules, there are a few considerations:
The shared libraries can be placed anywhere, so long as they can be dynamically loaded at runtime using standard procedures on your operating system (e.g on the
PATH
orLD_LIBRARY_PATH
environment variables).The OpenUSD Plugins (i.e.
plugInfo.json
files) must be placed within a subdirectory beneath the OpenUSD shared libraries.If you are using python, the
pxr
andusdex
python modules can be placed anywhere, so long as they are configured appropriately forsys.path
at runtime.
Example runtime file layouts#
For clarity, below are some suggested file layouts for our both default and “minimal” builds on Linux and Windows.
Note
As suggested above, if you need to use alternate paths for some or all of the normal shared libraries or python modules, that is fine. These are just default suggestions, which match the install_usdex defaults. The Python Wheels have a quite different file layout.
├── lib
│ ├── libusdex_core.so
│ ├── libusdex_rtx.so
│ ├── libboost_python310.so -> libboost_python310.so.1.78.0 <-- USD 24.08 & older
│ ├── libboost_python310.so.1.78.0 <-- USD 24.08 & older
│ ├── libpython3.10.so -> libpython3.10.so.1.0
│ ├── libpython3.10.so.1.0
│ ├── libpython3.so
│ ├── libtbb.so.2
│ ├── libusd_arch.so
│ ├── libusd_ar.so
│ ├── libusd_gf.so
│ ├── libusd_js.so
│ ├── libusd_kind.so
│ ├── libusd_ndr.so
│ ├── libusd_pcp.so
│ ├── libusd_plug.so
│ ├── libusd_python.so <-- USD 24.11 & newer
│ ├── libusd_sdf.so
│ ├── libusd_sdr.so
│ ├── libusd_tf.so
│ ├── libusd_ts.so <-- USD 24.11 & newer
│ ├── libusd_trace.so
│ ├── libusd_usdGeom.so
│ ├── libusd_usdLux.so
│ ├── libusd_usdPhysics.so
│ ├── libusd_usdShade.so
│ ├── libusd_usd.so
│ ├── libusd_usdUtils.so
│ ├── libusd_vt.so
│ ├── libusd_work.so
| └── usd
| ├── plugInfo.json
| └── ...
| └── resources
| └── plugInfo.json
├── python
| ├── pxr
│ | └── ...
| └── usdex
| ├── core
| │ ├── __init__.py
| │ ├── _AssetStructureBindings.py
| │ ├── _StageAlgoBindings.py
| │ ├── _usdex_core.cpython-310-x86_64-linux-gnu.so
| │ └── _usdex_core.pyi
| └── rtx
| ├── __init__.py
| ├── _usdex_rtx.cpython-310-x86_64-linux-gnu.so
| └── _usdex_rtx.pyi
└── python-runtime
├── bin
├── lib
└── ...
└── lib
├── libusdex_core.so
├── libusdex_rtx.so
├── libtbb.so.2
├── libusd_ms.so
└── usd
├── plugInfo.json
└── ...
└── resources
└── plugInfo.json
├── lib
│ ├── usdex_core.dll
│ ├── usdex_rtx.dll
| ├── boost_python310-vc142-mt-x64-1_78.dll <-- USD 24.08 & older
│ ├── python3.dll
│ ├── python310.dll
│ ├── tbb.dll
│ ├── usd_ar.dll
│ ├── usd_arch.dll
│ ├── usd_gf.dll
│ ├── usd_js.dll
│ ├── usd_kind.dll
│ ├── usd_ndr.dll
│ ├── usd_pcp.dll
│ ├── usd_plug.dll
│ ├── usd_python.dll <-- USD 24.11 & newer
│ ├── usd_sdf.dll
│ ├── usd_sdr.dll
│ ├── usd_tf.dll
│ ├── usd_ts.dll <-- USD 24.11 & newer
│ ├── usd_trace.dll
│ ├── usd_usd.dll
│ ├── usd_usdGeom.dll
│ ├── usd_usdLux.dll
│ ├── usd_usdPhysics.dll
│ ├── usd_usdShade.dll
│ ├── usd_usdUtils.dll
│ ├── usd_vt.dll
│ └── usd_work.dll
| └── usd
| ├── plugInfo.json
| └── ...
| └── resources
| └── plugInfo.json
├── python
| ├── pxr
│ | └── ...
| └── usdex
| ├── core
| │ ├── __init__.py
| │ ├── _StageAlgoBindings.py
| | ├── _usdex_core.cp310-win_amd64.pyd
| │ └── _usdex_core.pyi
| └── rtx
| ├── __init__.py
| ├── _usdex_rtx.cp310-win_amd64.pyd
| └── _usdex_rtx.pyi
└── python-runtime
├── bin
├── lib
└── ...
└── lib
├── usdex_core.dll
├── usdex_rtx.dll
├── tbb.dll
├── usd_ms.dll
└── usd
├── plugInfo.json
└── ...
└── resources
└── plugInfo.json