registry#

Component registry for pipeline discovery and CLI auto-generation.

Attributes#

Classes#

Registry

Global registry of submodules and their pipeline components.

SubmoduleEntry

Registry entry for a single submodule (e.g. mesh, da, atm).

Module Contents#

class physicsnemo_curator.core.registry.Registry[source]#

Global registry of submodules and their pipeline components.

Components register themselves at import time so the interactive CLI can dynamically discover available sources, filters, and sinks.

Examples

>>> from physicsnemo_curator.core.registry import registry
>>> registry.register_submodule("mesh", "Mesh processing", "physicsnemo.mesh")
>>> registry.register_source("mesh", VTKSource)
filters(submodule: str) dict[str, type][source]#

Return registered filters for submodule.

Parameters:

submodule (str) – Submodule name.

Returns:

Mapping of filter name to class.

Return type:

dict[str, type]

list_filters(submodule: str) list[type][source]#

Return a list of registered filter classes for submodule.

Parameters:

submodule (str) – Submodule name.

Returns:

List of filter classes (each has a name attribute).

Return type:

list[type]

list_sinks(submodule: str) list[type][source]#

Return a list of registered sink classes for submodule.

Parameters:

submodule (str) – Submodule name.

Returns:

List of sink classes (each has a name attribute).

Return type:

list[type]

list_sources(submodule: str) list[type][source]#

Return a list of registered source classes for submodule.

Parameters:

submodule (str) – Submodule name.

Returns:

List of source classes (each has a name attribute).

Return type:

list[type]

register_filter(submodule: str, cls: Any) None[source]#

Register a filter class under submodule.

Parameters:
  • submodule (str) – Target submodule name (must already be registered).

  • cls (Any) – Filter class with a name class attribute.

register_sink(submodule: str, cls: Any) None[source]#

Register a sink class under submodule.

Parameters:
  • submodule (str) – Target submodule name (must already be registered).

  • cls (Any) – Sink class with a name class attribute.

register_source(submodule: str, cls: Any) None[source]#

Register a source class under submodule.

Parameters:
  • submodule (str) – Target submodule name (must already be registered).

  • cls (Any) – Source class with a name class attribute.

register_submodule(
name: str,
description: str,
import_check: str,
) None[source]#

Register a new submodule.

Parameters:
  • name (str) – Submodule identifier.

  • description (str) – Human-readable description.

  • import_check (str) – Dotted module path used to check if the dependency is installed.

sinks(submodule: str) dict[str, type][source]#

Return registered sinks for submodule.

Parameters:

submodule (str) – Submodule name.

Returns:

Mapping of sink name to class.

Return type:

dict[str, type]

sources(submodule: str) dict[str, type][source]#

Return registered sources for submodule.

Parameters:

submodule (str) – Submodule name.

Returns:

Mapping of source name to class.

Return type:

dict[str, type]

submodules() dict[str, SubmoduleEntry][source]#

Return all registered submodules.

Returns:

Mapping of submodule name to entry.

Return type:

dict[str, SubmoduleEntry]

class physicsnemo_curator.core.registry.SubmoduleEntry[source]#

Registry entry for a single submodule (e.g. mesh, da, atm).

Parameters:
  • name (str) – Submodule identifier (e.g. "mesh").

  • description (str) – Human-readable description.

  • import_check (str) – Dotted module path to probe availability (e.g. "physicsnemo.mesh").

  • sources (dict[str, type]) – Registered source classes keyed by their name.

  • filters (dict[str, type]) – Registered filter classes keyed by their name.

  • sinks (dict[str, type]) – Registered sink classes keyed by their name.

property available: bool#

Return True if the required dependency is importable.

description: str#
filters: dict[str, type]#
import_check: str#
name: str#
sinks: dict[str, type]#
sources: dict[str, type]#
physicsnemo_curator.core.registry.registry: Any#