usd-convert-asset
Pip-installable package for usd-convert-asset.
This package is staged from the existing repo build output. The native bindings,
runtime libraries, USD plugin resources, optional staged data, and generated
third-party license bundle are copied into a wheel source tree under _build.
OpenUSD Runtime Compatibility
usd-convert-asset ships with and uses its own bundled OpenUSD runtime. Do not
mix it with another OpenUSD or usd-core installation in the same Python
process; competing pxr modules and native libraries can conflict.
If a workflow also uses other USD Python code, install the converter in a
dedicated virtual environment and run conversion in a separate process. Invoke
usd-convert-asset as a subprocess or use its CLI without importing both
runtimes into one process.
Conversion Results and Limitations
A successful conversion does not guarantee that every source element was preserved. Review conversion warnings as well as the result status and output file. For supported partial-conversion cases, the converter skips damaged or unsupported elements and keeps the content it can convert. For example, invalid vertex values can cause a glTF primitive or affected OBJ/PLY geometry to be skipped while valid geometry remains. Conversion fails when no valid geometry remains; supported PLY point clouds can be preserved without faces. Other errors can still fail conversion.
A custom Python material_loader callback that raises an exception causes the
conversion to report failure instead of silently substituting fallback materials.
Check the conversion result and logs before using the output.
On Linux aarch64, FBX conversion uses Assimp rather than Autodesk FBX SDK. FBX skin bindings and lights are not preserved on import; animation and skin bindings are not preserved on export. Static bind-pose geometry can be retained without preserving an editable skeleton or its animation. Warnings identify unsupported content; validate the result on the target platform. Windows x86_64 and Linux x86_64 use Autodesk FBX SDK and additionally support FBX NURBS curve preservation.
Python Multiprocessing
On POSIX systems, do not fork while a conversion or its cleanup is active. After
using the converter, use the spawn or forkserver multiprocessing start method
to start further processes. Create converters within the worker process rather
than sharing active converter objects between processes.
Building From Source
Run the normal repo build first. This compiles asset_converter_native_bindings,
copies runtime libraries into asset_converter_native_bindings/libs, generates
PACKAGE-LICENSES, and stages the pip wheel source tree.
Windows:
.\repo.bat build --config release
.\repo.bat uv -- build _build\windows-x86_64\release\pip\usd_convert_asset -o dist
Linux x86_64:
./repo.sh build --config release
./repo.sh uv -- build _build/linux-x86_64/release/pip/usd_convert_asset -o dist
Linux aarch64:
./repo.sh build --config release
./repo.sh uv -- build _build/linux-aarch64/release/pip/usd_convert_asset -o dist
The wheel is written to dist/:
dist/usd_convert_asset-<version>-<python>-<abi>-<platform>.whl
Replace <version> with the version generated from VERSION.md. The wheel
tag is inferred from the build interpreter and platform because the package
contains native runtime libraries.
Testing From Source
Use a clean virtual environment and install the staged wheel or generated pip
package directory. The package depends on native libraries staged by the repo
build, so install from dist/ or _build/.../pip rather than from
source/python directly.
Windows:
python -m venv .venv
.\.venv\Scripts\Activate.ps1
.\.venv\Scripts\python.exe -m pip install --upgrade pip
.\.venv\Scripts\python.exe -m pip install dist\usd_convert_asset-<version>-<python>-<abi>-<platform>.whl
usd-convert-asset -i path\to\input.fbx -o path\to\output.usda
.\.venv\Scripts\python.exe -m usd_convert_asset -i path\to\input.obj -o path\to\output.usdc
Linux:
python -m venv .venv
source .venv/bin/activate
.venv/bin/python -m pip install --upgrade pip
.venv/bin/python -m pip install dist/usd_convert_asset-<version>-<python>-<abi>-<platform>.whl
usd-convert-asset -i path/to/input.fbx -o path/to/output.usda
usd-convert-asset -i path/to/input.fbx -o path/to/output.usdz
.venv/bin/python -m usd_convert_asset -i path/to/input.obj -o path/to/output.usdc
When materials are exported, the converter authors USD Preview Surface materials for all supported USD output formats.
UsdPreviewSurface inputs use the types defined by the UsdPreviewSurface specification: color3f for color inputs and normal3f for the normal. Scripts that create or compare texture-connected inputs previously typed as float3 must use these types; the values are unchanged.
Use --ignore-materials to create a geometry-only USDZ package.
To test the staged tree before building a wheel, replace the wheel install with the generated pip package directory:
.venv/bin/python -m pip install _build/<platform>/<config>/pip/usd_convert_asset
Use the matching _build/<platform>/<config>/pip/usd_convert_asset path
for the platform and configuration you built. Replace the input paths with
existing source assets and the output paths with writable locations. Run
usd-convert-asset --help for conversion flags such as --single-props-file,
--ignore-materials, --fbx-y-up, --fbx-z-up, and --progress.
License
This package is licensed under the Apache License, Version 2.0 and the Creative
Commons Attribution 4.0 International Public License. See LICENSE.
Third-party notices and generated dependency license attributions are included
in PACKAGE-LICENSES in the source archive. Installed wheels store the main license and third-party notices under their own .dist-info/licenses/ directory.
Uninstalling
.venv/bin/python -m pip uninstall usd-convert-asset
Metadata
Release files for usd-convert-asset 2.0.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| usd_convert_asset-2.0.0-cp312-cp312-win_amd64.whl | CPython 3.12 | CPython 3.12 | Windows x86-64 | Details for usd_convert_asset-2.0.0-cp312-cp312-win_amd64.whl |
| usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_x86_64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.35+ x86-64 | Details for usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_x86_64.whl |
| usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_aarch64.whl | CPython 3.12 | CPython 3.12 | Linux glibc 2.35+ ARM64 | Details for usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_aarch64.whl |
Total release size: 199.2 MB
Release files / usd_convert_asset-2.0.0-cp312-cp312-win_amd64.whl
| Download URL | usd_convert_asset-2.0.0-cp312-cp312-win_amd64.whl |
|---|---|
| Size | 27.2 MB |
| Tags | CPython 3.12 Windows x86-64 |
|
SHA-256 checksum How to use checksums |
5e24b4e7c5c8b9fb83e28098c54c468a2c0730156883803caaf5fe59e4d04f8d
|
|
BLAKE2b-256 checksum How to use checksums |
9f9f419dfeea7e1a6ac2ac3cc32a3e15a91f9f2cb3c6ee64caa70f412de5a4d3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_x86_64.whl
| Download URL | usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_x86_64.whl |
|---|---|
| Size | 90.2 MB |
| Tags | CPython 3.12 Linux glibc 2.35+ x86-64 |
|
SHA-256 checksum How to use checksums |
1c7030572222b1af5ce4cdc03e1b13509eface2d4e1ddd10823bc1bb09a20e22
|
|
BLAKE2b-256 checksum How to use checksums |
c4e2505676852896b00c1cb0441f16db9eb4e6d4e44d51ace85fd10364eadada
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Release files / usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_aarch64.whl
| Download URL | usd_convert_asset-2.0.0-cp312-cp312-manylinux_2_35_aarch64.whl |
|---|---|
| Size | 81.8 MB |
| Tags | CPython 3.12 Linux glibc 2.35+ ARM64 |
|
SHA-256 checksum How to use checksums |
6a0f763f03f37fe01dbe461d2ba0ac744ed1f6a851c03140a3b9f31495ef0177
|
|
BLAKE2b-256 checksum How to use checksums |
76b16f8af8568eb705c803c4ebd75577b3ff2c7414f3a7f908b6b616df259664
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.8
|
Security for usd-convert-asset 2.0.0
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.