Python API#

usd_profiles_nvidia API#

class usd_profiles_nvidia.CapabilityGraph#

Capability DAG DTO with query methods.

Load from capabilities.json data or files, then query predecessors, validators, requirements, and profiles.

filter_by_namespace(
prefix: str,
*,
include_predecessors: bool = False,
) → list[str]#

Return capability ids matching the given namespace prefix.

Parameters:
  • prefix – Dot-separated prefix (e.g. "com.nvidia.simready").

  • include_predecessors – If True, also include transitive predecessors of matching capabilities.

Returns:

Sorted list of matching capability ids.

get_all_capabilities() → list[str]#

Return all registered capability ids, sorted.

get_all_profiles() → list[str]#

Return all registered profile ids, sorted.

get_all_requirements() → list[Requirement]#

Return all requirements across all nodes, deduplicated by code.

Returns:

List of requirements, sorted by code.

get_all_validators_for_capability(
id: str,
) → list[str]#

Return all validators for id and its transitive predecessors. Duplicates are removed (first occurrence wins).

get_docstring(id: str) → str#

Return the docstring for id, or empty string if unknown.

get_domain(id: str) → str#

Return the domain for id, or empty string if unknown.

get_kind(id: str) → str#

Return the kind tag for id, or empty string if unknown.

get_predecessors(id: str) → list[str]#

Return the direct predecessors of id.

get_requirement(
code: str,
) → Requirement | None#

Find a requirement by code across all nodes.

Parameters:

code – Requirement code (e.g. "HI.004").

Returns:

The requirement if found, else None.

get_requirements(
id: str,
) → list[Requirement]#

Return all requirements declared directly on node id.

Parameters:

id – Capability/feature/profile node id.

Returns:

List of requirements (empty for nodes without requirements).

get_transitive_predecessors(id: str) → list[str]#

Return all transitive predecessors of id (BFS), not including id itself.

get_validators(id: str) → list[str]#

Return validators declared directly on id.

is_capability(id: str) → bool#

Return True if id is a registered capability.

is_profile(id: str) → bool#

Return True if id is a registered profile.

classmethod load_from_dict(
data: dict[str, Any],
) → CapabilityGraph#

Create a graph from a parsed JSON dict.

Parameters:

data – Dict matching the capabilities.json schema.

classmethod load_from_json(
path: str | Path,
) → CapabilityGraph#

Create a graph from a capabilities.json file.

Parameters:

path – Path to the JSON file.

merge(
other: CapabilityGraph,
) → None#

Merge another graph into this one. Duplicate node ids are skipped with a warning.

Parameters:

other – Graph to merge from.

to_json(
path: str | Path,
*,
indent: int = 2,
) → None#

Write the graph to a capabilities.json file.

class usd_profiles_nvidia.LoadedSpecifications#

Specifications loaded from authored descriptor files.

property requirements: list[Requirement | RequirementRef]#

Return requirements and lazy references authored by loaded capabilities.

validate() → tuple[SpecificationProblem, ...]#

Return local structural problems without resolving references or mutating loaded objects.

class usd_profiles_nvidia.LoadedSpecificationsProtocol#

Runtime-checkable interface for one loaded specification result.

class usd_profiles_nvidia.PythonGenerator#

Python code generator for USD Profiles.

Parameters:
  • docs_root – Root directory containing capabilities/, profiles/, and features/ subdirectories. If provided, capabilities_root, profiles_root, and features_root are derived from it.

  • capabilities_root – Directory containing capability files.

  • profiles_root – Directory containing profile files.

  • features_root – Directory containing feature files.

  • destination_dir – Output directory for generated Python code.

  • package_name – Python package path for generated modules (e.g. "omni.profiles" -> omni/profiles/).

  • reverse_domain – Reverse-domain prefix for spec identifiers (e.g. "com.nvidia.simready"). Empty means legacy behavior.

class usd_profiles_nvidia.SpecificationKind#

Kinds of authored specifications represented in diagnostics.

class usd_profiles_nvidia.SpecificationProblem#

A non-mutating structural diagnostic for loaded specifications.

class usd_profiles_nvidia.SpecificationProblemKind#

Kinds of structural problems in one loaded specification result.

class usd_profiles_nvidia.SpecificationProblemSeverity#

Severity of a loaded specification problem.

class usd_profiles_nvidia.SpecificationRef#

Stable identifying details for a specification involved in a problem.

class usd_profiles_nvidia.SpecificationsLoader#

Load authored specification descriptors into public API DTOs.

Parameters:
  • root_dir – Root directory containing capabilities, profiles, and features.

  • capabilities_root – Directory containing authored capabilities.

  • profiles_root – Directory containing authored profiles.

  • features_root – Directory containing authored features.

  • features_roots – Additional feature descriptor files and/or directories.

  • profiles_roots – Additional profile descriptor files and/or directories.

  • reverse_domain – Prefix added to unqualified requirement references, profile IDs, and profile feature references after parsing.

load() → LoadedSpecifications#

Load configured specifications without resolving their references.

usd_profiles_nvidia.get_version()#

Returns the version of this module.