Registry / serialization / usd-core

usd-core

JSON →
library26.8pypypi✓ verified 24d ago

Pixar's Universal Scene Description (USD) is a robust system designed for scalably encoding and interchanging static and time-sampled 3D geometry, shading, and lighting data across various Digital Content Creation applications. The `usd-core` package, available on PyPI, provides the fundamental Python bindings for authoring, composing, and reading USD data. It is actively maintained by Pixar Animation Studios, with new versions typically released every 3-4 months. The current version is 26.3, continuously evolving the OpenUSD ecosystem.

pip install usd-core
INSTALL
IMPORT
SIG · USD-CORE
U
usd-core
serializationpythonv26.8
Install
2.7s avg
Import
260ms
Disk
228MB
Pass rate
5/ 10
Env Coverage5 / 10
glibc
3.93.13
musl
3.93.13
Install & Compatibility
Where this runs
tested against v26.8 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
musl
py 3.103.910 runs
build_error
glibc
py 3.103.910 runs
installs and imports cleanly · install 2.7s · import 0.260s · 231MB
228MB installed
● package 228MB
Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

Usd, UsdGeom, Sdf, Gf
from pxr import Usd, UsdGeom, Sdf, Gf
import Usd
USD Python modules are nested under the 'pxr' namespace.

This quickstart demonstrates how to create a simple USD stage, define a transform (Xform) and a sphere (UsdGeom.Sphere) prim, set an attribute, and save the stage to a .usda file. All core USD Python modules are accessed via the `pxr` namespace.

from pxr import Usd, UsdGeom import os # Create a new USD stage in memory or on disk output_filename = os.environ.get('USD_OUTPUT_FILE', 'HelloWorld.usda') stage = Usd.Stage.CreateNew(output_filename) # Define a root transform prim at the path /hello xformPrim = UsdGeom.Xform.Define(stage, '/hello') # Define a sphere prim nested under the transform at /hello/world spherePrim = UsdGeom.Sphere.Define(stage, '/hello/world') # Set a radius for the sphere spherePrim.GetRadiusAttr().Set(2.0) # Save the stage to a file stage.GetRootLayer().Save() print(f"Created {output_filename} with a sphere at /hello/world")
usdcat --version
Debug
Known issues
breakingPython 3.8 support is deprecated as of a recent OpenUSD release (noted in CHANGELOG) and will be removed in the subsequent release. Users on Python 3.8 should plan to upgrade.
fix
Upgrade your Python environment to 3.9 or higher (up to <3.14 as per PyPI).
affects: >=26.03 (deprecation, removal in next major)
gotchaThe `usd-core` PyPI package provides only the core USD libraries for authoring, composing, and reading. It *does not* include optional plugins, imaging features, or tools like `usdview` (Pixar's scene inspector). For a full USD experience, including `usdview` and other utilities, you generally need to download pre-built binaries from NVIDIA or build OpenUSD from source.
fix
If `usdview` or full imaging capabilities are needed, refer to NVIDIA's OpenUSD developer resources for pre-built binaries or the OpenUSD GitHub repository for build instructions.
affects: All versions
deprecatedThe older `displayName`, `displayGroup`, and `hidden` metadata APIs within `UsdUI` were deprecated in v25.11 in favor of a new, dictionary-valued `uiHints` metadata field.
fix
Migrate UI metadata to use the `uiHints` dictionary for prims and properties, which supports features like `shownIf` and `valueLabels`.
affects: >=25.11
breakingBeginning with the 26.03 release, the `usd-core` PyPI package utilizes the C++11 ABI. Furthermore, clients building C++ code against OpenUSD with Visual Studio must enable the `/permissive-` (strict standards conformance) flag.
fix
Ensure your C++ toolchain and project settings are updated to be compatible with C++11 ABI and, for Visual Studio, enable the `/permissive-` flag.
affects: >=26.03
deprecatedSupport for negative layer offset scale has been removed, and the `PCP_ALLOW_NEGATIVE_LAYER_OFFSET_SCALE` environment variable has been removed. Additionally, the `SDF_FILE_FORMAT_LEGACY_IMPORT` environment variable is now set to 'warn' by default, indicating that legacy `.sdf` file format header support will be removed in a future release.
fix
Avoid using negative layer offset scales. For `.sdf` files, ensure they are in a modern format to prevent future compatibility issues.
affects: >=26.03 (removal of negative layer offset scale), all versions (legacy .sdf warning)
gotchaUsers on Windows running Python 3.8+ within `conda` environments may encounter DLL loading failures (e.g., `DLL load failed while importing _tf`). This was addressed in USD 22.03.
fix
Ensure you are using a recent `usd-core` version (22.03 or newer). As a workaround for older versions or persistent issues, setting the environment variable `CONDA_DLL_SEARCH_MODIFICATION_ENABLE=1` might resolve the problem.
affects: Earlier versions, especially on Windows with Python 3.8+ in Conda.
Upgrade
Version history
26.8latest on PyPI · released Jul 20, 2026
Audit
Dependencies
pythonrequiredRequired Python interpreter version for the package.
types-usdoptionalProvides type hints for improved IDE auto-completion. Not strictly required for runtime.
Agent activity
47 hits · last 30 days
node
43
OpenAI (training)
1
Resources
usd-core — pip install usd-core · libregistry