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.


Installation

pip install simready-package

# Publishing via WRAPP also requires:
pip install "simready-package[publish]"

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/tiers/simready_foundation_tier_core/simready/foundation/tier_core/capabilities"],
    features_paths=["nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/features"],
    profiles_paths=["nv_core/tiers/simready_foundation_tier_core/simready/foundation/tier_core/profiles"],
)

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: Apache-2.0

Metadata

Release files for simready-package 2026.8.0

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.8.0
File Interpreter ABI Platform
simready_package-2026.8.0-py3-none-any.whl Python 3 none any Details

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

Download URL simready_package-2026.8.0-py3-none-any.whl
Size 50.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
374f1c7aa9740e6a0848edb2f34a7feecda9166a36370903bb608255deeb00ef
BLAKE2b-256 checksum
How to use checksums
0227b736fd32df315b1e5f1880129c4823920235ebd10f97a9a83b03edd0da7e
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.8.0 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