{"id":30808680,"url":"https://github.com/andrejorsula/omniverse_rs","last_synced_at":"2025-09-06T03:51:53.081Z","repository":{"id":216156790,"uuid":"740245459","full_name":"AndrejOrsula/omniverse_rs","owner":"AndrejOrsula","description":"Rust interface for NVIDIA Omniverse","archived":false,"fork":false,"pushed_at":"2025-04-14T20:25:58.000Z","size":322,"stargazers_count":6,"open_issues_count":6,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-14T14:57:09.235Z","etag":null,"topics":["nvidia-omniverse","omniverse","openusd","simulation","usd"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AndrejOrsula.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-01-07T23:37:18.000Z","updated_at":"2025-08-08T02:01:18.000Z","dependencies_parsed_at":"2024-02-06T02:44:13.642Z","dependency_job_id":"c42d80aa-0c65-487a-90c3-f1d3c9e34e73","html_url":"https://github.com/AndrejOrsula/omniverse_rs","commit_stats":null,"previous_names":["andrejorsula/omniverse_rs"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/AndrejOrsula/omniverse_rs","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrejOrsula%2Fomniverse_rs","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrejOrsula%2Fomniverse_rs/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrejOrsula%2Fomniverse_rs/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrejOrsula%2Fomniverse_rs/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AndrejOrsula","download_url":"https://codeload.github.com/AndrejOrsula/omniverse_rs/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AndrejOrsula%2Fomniverse_rs/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":273854792,"owners_count":25180014,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-06T02:00:13.247Z","response_time":2576,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["nvidia-omniverse","omniverse","openusd","simulation","usd"],"created_at":"2025-09-06T03:51:50.868Z","updated_at":"2025-09-06T03:51:53.065Z","avatar_url":"https://github.com/AndrejOrsula.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# omniverse_rs\n\n\u003cp align=\"left\"\u003e\n  \u003ca href=\"https://crates.io/crates/omniverse\"\u003e                                        \u003cimg alt=\"crates.io\"  src=\"https://img.shields.io/crates/v/omniverse.svg\"\u003e\u003c/a\u003e\n  \u003c!-- \u003ca href=\"https://docs.rs/omniverse\"\u003e                                                 \u003cimg alt=\"docs.rs\"    src=\"https://docs.rs/omniverse/badge.svg\"\u003e\u003c/a\u003e --\u003e\n  \u003ca href=\"https://github.com/AndrejOrsula/omniverse_rs/actions/workflows/rust.yml\"\u003e   \u003cimg alt=\"Rust\"       src=\"https://github.com/AndrejOrsula/omniverse_rs/actions/workflows/rust.yml/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://github.com/AndrejOrsula/omniverse_rs/actions/workflows/docker.yml\"\u003e \u003cimg alt=\"Docker\"     src=\"https://github.com/AndrejOrsula/omniverse_rs/actions/workflows/docker.yml/badge.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://deps.rs/repo/github/AndrejOrsula/omniverse_rs\"\u003e                     \u003cimg alt=\"deps.rs\"    src=\"https://deps.rs/repo/github/AndrejOrsula/omniverse_rs/status.svg\"\u003e\u003c/a\u003e\n  \u003ca href=\"https://codecov.io/gh/AndrejOrsula/omniverse_rs\"\u003e                           \u003cimg alt=\"codecov.io\" src=\"https://codecov.io/gh/AndrejOrsula/omniverse_rs/branch/main/graph/badge.svg\"\u003e\u003c/a\u003e\n\u003c/p\u003e\n\nRust interface for NVIDIA [Omniverse](https://www.nvidia.com/en-us/omniverse).\n\n## Status\n\nThis project is in early development and is not ready for production use. Not all of the Omniverse Kit API is currently exposed.\n\nDocumentation and examples are currently lacking but will be the focus once the crates are more stable.\n\n## Overview\n\nThe workspace contains these packages:\n\n- **[omniverse_sys](omniverse_sys):** Unsafe Rust bindings for Omniverse\n- **[omniverse](omniverse):** Safe Rust bindings for Omniverse (WIP)\n\nMost of the bindings are automatically generated from the Omniverse headers using [autocxx](https://github.com/google/autocxx), while some are hand-written via [rust-cpp](https://github.com/mystor/rust-cpp). The Omniverse Kit can be automatically downloaded during the cargo build process if the `vendored` feature is enabled.\n\n## Dependencies\n\nThe complete list of dependencies can be found within [`Dockerfile`](Dockerfile).\n\n## Instructions\n\n### \u003ca href=\"#-rust\"\u003e\u003cimg src=\"https://rustacean.net/assets/rustacean-flat-noshadow.svg\" width=\"16\" height=\"16\"\u003e\u003c/a\u003e Rust\n\nAdd `omniverse` as a Rust dependency to your [`Cargo.toml`](https://doc.rust-lang.org/cargo/reference/manifest.html) manifest.\n\n```toml\n[dependencies]\nomniverse = { version = \"0.2\" }\n```\n\nNote that the first build might take up to 1 hour because OpenUSD and Omniverse Kit will be automatically downloaded with the `vendored` feature enabled (most of the time is spent compiling OpenUSD). The artifacts will be cached in `OUT_DIR` and reused for subsequent builds.\n\nAlternatively, you can specify the paths to existing OpenUSD and Omniverse Kit installation directories via the following environment variables.\n\n```bash\nexport OPENUSD_PATH=/path/to/pxr/openusd\nexport CARB_APP_PATH=/path/to/omniverse/kit\n```\n\nIt is highly recommended to use `lld` or `mold` linker because `ld` might currently fail.\n\n\u003cdetails\u003e\n\u003csummary\u003e\u003ch3\u003e\u003ca href=\"#-docker\"\u003e\u003cimg src=\"https://www.svgrepo.com/show/448221/docker.svg\" width=\"16\" height=\"16\"\u003e\u003c/a\u003e Docker\u003c/h3\u003e\u003c/summary\u003e\n\n\u003e To install [Docker](https://docs.docker.com/get-docker) on your system, you can run [`.docker/host/install_docker.bash`](.docker/host/install_docker.bash) to configure Docker with NVIDIA GPU support.\n\u003e\n\u003e ```bash\n\u003e .docker/host/install_docker.bash\n\u003e ```\n\nBy running the Docker container, you are implicitly agreeing to the [NVIDIA Omniverse EULA](https://docs.omniverse.nvidia.com/platform/latest/common/NVIDIA_Omniverse_License_Agreement.html). If you do not agree to this license agreement, do not use this container.\n\n#### Build Image\n\nTo build a new Docker image from [`Dockerfile`](Dockerfile), you can run [`.docker/build.bash`](.docker/build.bash) as shown below.\n\n```bash\n.docker/build.bash ${TAG:-latest} ${BUILD_ARGS}\n```\n\n#### Run Container\n\nTo run the Docker container, you can use [`.docker/run.bash`](.docker/run.bash) as shown below.\n\n```bash\n.docker/run.bash ${TAG:-latest} ${CMD}\n```\n\n#### Run Dev Container\n\nTo run the Docker container in a development mode (source code mounted as a volume), you can use [`.docker/dev.bash`](.docker/dev.bash) as shown below.\n\n```bash\n.docker/dev.bash ${TAG:-latest} ${CMD}\n```\n\nAs an alternative, VS Code users familiar with [Dev Containers](https://code.visualstudio.com/docs/devcontainers/containers) can modify the included [`.devcontainer/devcontainer.json`](.devcontainer/devcontainer.json) to their needs. For convenience, [`.devcontainer/open.bash`](.devcontainer/open.bash) script is available to open this repository as a Dev Container in VS Code.\n\n```bash\n.devcontainer/open.bash\n```\n\n#### Join Container\n\nTo join a running Docker container from another terminal, you can use [`.docker/join.bash`](.docker/join.bash) as shown below.\n\n```bash\n.docker/join.bash ${CMD:-bash}\n```\n\n\u003c/details\u003e\n\n## Disclaimer\n\nThis project is not affiliated with NVIDIA Corporation.\n\n## License\n\nThis project is dual-licensed to be compatible with the Rust project, under either the [MIT](LICENSE-MIT) or [Apache 2.0](LICENSE-APACHE) licenses.\n\n## Contributing\n\nUnless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrejorsula%2Fomniverse_rs","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrejorsula%2Fomniverse_rs","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrejorsula%2Fomniverse_rs/lists"}