Skip to main content

simready.package

Standalone Python library for packaging SimReady USD assets with pre- and post-validation. Orchestrates the pre-validate → build → post-validate pipeline in a single package() call and writes a com.nvidia.simready.packaging.json package definition.

Part of the SimReady Python Library Suite.


Installation

pip install simready-package

# Publishing via WRAPP also requires:
pip install "simready-package[publish]" \
  --extra-index-url https://urm.nvidia.com/artifactory/api/pypi/ct-omniverse-pypi-local/simple

Quick start

import asyncio
import simready.package as sp

packager = sp.Packager(config_path="/workspace/project_config.toml")

result = asyncio.run(packager.package(
    sp.PackageSpec(
        name="crate_01",
        version="1.0.0",
        license_id="LicenseRef-NvidiaProprietary",
        source="/workspace/props/crate_01",
        root_usds=["crate_01.usd"],
    )
))

print(f"Package ready: {result.created.pkg_def_url}")

Key concepts

Two modes

Mode repo Validation Output
Local None Optional (skip_* flags) com.nvidia.simready.packaging.json written into source/
Publish set Mandatory Full WRAPP package published to repository (BOM, hashes, conformance)

Pre- and post-validation

package() runs pre-validation against the Package-Candidate profile before building, and post-validation against the Package profile after building. Both profiles are defined in SimReady foundations — no profile override is needed or expected for standard packaging.

package() raises ValidationFailed when any feature fails (unless the phase is skipped via skip_pre_validation / skip_post_validation).

Profile and rule registration

Outside a Kit environment, pass rules and profiles to the Packager constructor:

# From a project_config.toml (reads [validate] section)
packager = sp.Packager(config_path="/workspace/project_config.toml")

# Or from explicit paths
packager = sp.Packager(
    rules_and_requirements_paths=["nv_core/sr_specs/docs/capabilities"],
    features_paths=["nv_core/sr_specs/docs/features"],
    profiles_paths=["nv_core/sr_specs/docs/profiles/profiles.toml"],
)

Inside Kit, omni.simready.validators registers profiles automatically and the constructor can be called with no arguments.


Python API

Packager

packager = sp.Packager(
    *,
    config_path=None,                    # path to project_config.toml
    rules_and_requirements_paths=None,   # override individual paths
    features_paths=None,
    profiles_paths=None,
)

# Full pipeline
result = await packager.package(spec)            # -> PackageResult

# Pre-validation only
result = await packager.pre_validate(source, *, root_usds=None)   # -> PreValidationResult

# Post-validation only
result = await packager.post_validate(package_def, *)             # -> PostValidationResult

PackageSpec

Field Type Default Description
name str required Package name
version str required Version string
license_id str required SPDX license ID
source str required Path to source asset folder
repo str | None None WRAPP repository URL. None = local, set = publish
root_usds list[str] | None None Root USD paths relative to source. Specify if the package contains nested USD files.
profiles list[str] | None None Pre-validation profile IDs. None["Package-Candidate"]
skip_pre_validation bool False Skip pre-validation (local only)
skip_post_validation bool False Skip post-validation (local only)

PackageResult

Field Type Description
spec PackageSpec The spec used to produce this result
created CreatedPackage Produced artifact URLs
pre_validation PreValidationResult | None Pre-validation outcome (None when skipped)
post_validation PostValidationResult | None Post-validation outcome (None when skipped)

CreatedPackage

Field Type Description
pkg_def_url str Path/URL to com.nvidia.simready.packaging.json
bom_url str | None BOM sidecar URL (WRAPP publish only)
marker_url str | None .wrapp catalog marker URL (WRAPP publish only)

CLI

# Local packaging
simready-package \
  --name crate_01 --version 1.0.0 \
  --license LicenseRef-NvidiaProprietary \
  --project-config /workspace/project_config.toml \
  --root-usd crate_01.usd \
  /workspace/props/crate_01

# Publish to WRAPP (validation mandatory)
simready-package \
  --name crate_01 --version 1.0.0 \
  --license LicenseRef-NvidiaProprietary \
  --repo omniverse://nucleus.company.com/packages \
  --project-config /workspace/project_config.toml \
  --root-usd crate_01.usd \
  /workspace/props/crate_01

# Pre-validate only (no package build)
simready-package \
  --project-config /workspace/project_config.toml \
  --pre-validate-only \
  /workspace/props/crate_01

# Local packaging, skip validation
simready-package \
  --name crate_01 --version 1.0.0 \
  --license LicenseRef-NvidiaProprietary \
  --skip-pre-validation --skip-post-validation \
  /workspace/props/crate_01

Exit code: 0 = success, 1 = validation failed or error.


License

Copyright (c) 2026 NVIDIA CORPORATION & AFFILIATES. All rights reserved. SPDX-License-Identifier: LicenseRef-NvidiaProprietary

Release files for simready-package 2026.7.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Built distribution (wheel)

Table of built distributions (wheels) for simready-package 2026.7.1
File Interpreter ABI Platform
simready_package-2026.7.1-py3-none-any.whl Python 3 none any Details

Release files / simready_package-2026.7.1-py3-none-any.whl

Download URL simready_package-2026.7.1-py3-none-any.whl
Size 51.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
834dced9156e2e770745b5d5f6593022a4d79122d0920f0a6a4bace00df1c591
BLAKE2b-256 checksum
How to use checksums
2f1c7c2c3e13308f222dcd24b4bc36346f30deb98e1490eb878d6d1c02972c3c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

2026.7.1 This release

1 release file

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