Skip to main content

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)

Table of built distributions (wheels) for usd-convert-asset 2.0.0
File Interpreter ABI Platform Actions
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page