Metadata-Version: 2.4
Name: pyguc
Version: 0.1.0
Summary: A robust, minimal glTF to OpenUSD converter
Keywords: gltf,usd,openusd,3d
Author: ruziniuuuuu
License-Expression: Apache-2.0
License-File: LICENSE
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Typing :: Typed
Requires-Dist: numpy>=2,<3
Requires-Dist: pillow>=11,<13
Requires-Dist: usd-core>=26.8,<26.9
Requires-Python: >=3.12, <3.15
Project-URL: Documentation, https://ruziniuuuuu.github.io/pyguc/
Project-URL: Issues, https://github.com/ruziniuuuuu/pyguc/issues
Project-URL: Repository, https://github.com/ruziniuuuuu/pyguc
Description-Content-Type: text/markdown

# pyguc

`pyguc` is a small, strict glTF 2.0 to OpenUSD converter. It turns a local
`.gltf` or `.glb` file into a self-contained `.usdc` or `.usda` asset bundle.

```console
pyguc convert model.glb model-usd
pyguc validate model.glb
```

```python
from pathlib import Path

import pyguc

result = pyguc.convert(Path("model.glb"), Path("model-usd"))
print(result.asset_path)
```

The destination directory must not exist. Conversion is atomic and never
replaces a destination that appears concurrently; a failure does not leave a
partial destination behind.

The current release targets static triangle assets and `UsdPreviewSurface`.
See the [user guide](https://ruziniuuuuu.github.io/pyguc/) for supported
features, diagnostics, and known limitations.

## Development

```console
uv sync
uv run prek install
uv run prek run --all-files
uv run pytest
mdbook serve --open
```

Releases use Conventional Commits and Release Please. Merging a release pull
request creates the version tag, GitHub release, signed distributions, and PyPI
publication through Trusted Publishing.

Licensed under Apache-2.0.
