simready-manage
simready-manage is the CLI and Python library that drives the SimReady asset submission pipeline -- from a local asset folder all the way through Hugging Face upload and into NVIDIA review.
What it does
simready-manage submit automates four steps per asset:
- Validate each asset against a SimReady profile (
simready-validate) -- writes.metadata/{name}_validation.json - Benchmark each asset via
simready-benchmark(optional) -- writes.metadata/{name}_benchmark.json - Package it into a WRAPP with a BOM (
simready-package) - Push the package to your Hugging Face dataset and register it in the SimReady Central index
Installation
pip install simready-manage
simready-benchmark is included as a required dependency, but running benchmark
tests (step [B] of submit) also requires a configured engines.toml, the target
runtime installed and licensed, and the matching engine PyPI package. See the
simready-benchmark setup guide for details. Benchmark results are required for
NVIDIA approval; --skip-benchmark is available as a temporary workaround during
environment setup only.
Asset structure
submit expects the asset root directory -- the top-level folder whose name is the
asset name. Inside it must be exactly one intermediate subdirectory containing the root
USD file (whose stem must match the asset root folder name), as required by NP.005. The
whole asset root is packaged and pushed, intermediate subdirectory included: the package
definition and .metadata/ are written at the asset root (PKG.DEF.001), so the folder
must contain only the asset's own data.
gen_appliance_toaster_v01_01/ <- pass this to submit (asset root == package root)
com.nvidia.simready.packaging.json <- written by submit
.metadata/ <- written by submit (validation/benchmark sidecars)
simready_usd/ <- intermediate subdir (any name)
gen_appliance_toaster_v01_01.usd <- root USD (stem == asset root name)
textures/
payloads/
Workflow
1. Authenticate with Hugging Face
hf auth login
# or
export HF_TOKEN=hf_your_token_here
2. Submit assets
Pass asset root directories (one per asset):
simready-manage -v \
--project-config project_config.toml \
submit \
assets/apple_a01 \
assets/crate_01 \
--hf-dataset acme-corp/simready-assets \
--profile Robotics-Prop \
--open-pr
Submit from a curated list file (one asset root path per line):
# assets.txt
assets/apple_a01
assets/crate_01
# assets/wip_table <- commented out
simready-manage --project-config project_config.toml submit \
--from-file assets.txt \
--hf-dataset acme-corp/simready-assets \
--profile Robotics-Prop
Continue past validation failures (still generates the sidecar):
simready-manage --project-config project_config.toml submit \
--from-file assets.txt \
--hf-dataset acme-corp/simready-assets \
--profile Robotics-Prop \
--ignore-validation-results
3. Key submit flags
| Flag | Default | Description |
|---|---|---|
--hf-dataset |
required | OEM HF dataset (org/repo) |
--profile |
from USD metadata | SimReady profile to validate against (e.g. Robotics-Prop) |
--from-file PATH |
-- | Read asset paths from a text file (one per line, # = comment) |
--asset-version |
today YYYY.MM.DD_00 |
Package version string |
--license |
cc-by-4.0 |
SPDX license ID |
--open-pr |
off | Open a GitHub PR against SimReady Central after push |
--skip-validate |
off | Skip [A] validation entirely |
--ignore-validation-results |
off | Run validation + write sidecar, but continue even if it fails |
--skip-benchmark |
off | Skip [B] benchmark entirely |
--ignore-benchmark-results |
off | Run benchmark + write sidecar, but continue even if tests fail |
--benchmark-tests-path PATH |
auto-inferred | Path to test-definition directory for simready-benchmark. Auto-inferred from profiles_paths in project_config.toml; only needed for non-standard layouts. |
--skip-package |
off | Skip [C] packaging. Uses WRAPP from .packages/<name>/<version>/ if present; otherwise pushes the asset directory directly (com.nvidia.simready.packaging.json must exist). |
4. What submit produces
After a successful run:
Submitted 2 asset(s):
https://huggingface.co/datasets/acme-corp/simready-assets/resolve/abc123/apple_a01/com.nvidia.simready.packaging.json
https://huggingface.co/datasets/acme-corp/simready-assets/resolve/def456/crate_01/com.nvidia.simready.packaging.json
PR : https://github.com/NVIDIA-Omniverse/simready-central/pull/42
Hand-off : share the PR URL with your NVIDIA reviewer.
Configuration
project_config.toml is the shared config file used by all SimReady CLI tools:
[project_root]
setting = "." # path relative to this file -> workspace root
[content_root]
name = "content" # subdirectory under project_root
[validate]
# paths loaded by simready-validate and simready-package
rules_and_requirements_paths = ["nv_core/sr_specs/docs/requirements"]
features_paths = ["nv_core/sr_specs/docs/features"]
profiles_paths = ["nv_core/sr_specs/docs/profiles"]
[cip]
spec_root = "nv_core/sr_specs/docs" # used by simready-retrieve derive
License
Copyright (c) 2025-2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: Apache-2.0
Metadata
Release files for simready-manage 2026.8.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simready_manage-2026.8.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / simready_manage-2026.8.0-py3-none-any.whl
| Download URL | simready_manage-2026.8.0-py3-none-any.whl |
|---|---|
| Size | 95.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
1f55063f50f9a513f823b989eba3aab368da9f880fcb3cd231628b7816306d28
|
|
BLAKE2b-256 checksum How to use checksums |
d40b71a6e844133dd716ee1d33ae435fc6fdb2bd4ad6d93323fb2806beb0d834
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.14.7
|