pdstools.utils.namespaces

Attributes

Exceptions

MissingDependenciesException

Missing dependencies exception.

Classes

LazyNamespaceMeta

Lazy namespace meta.

LazyNamespace

Lazy namespace.

Functions

require_dependencies(func)

Decorator that triggers dependency checking before invoking func.

Module Contents

logger
require_dependencies(func)

Decorator that triggers dependency checking before invoking func.

class LazyNamespaceMeta

Bases: type

Lazy namespace meta.

class LazyNamespace

Lazy namespace.

Subclasses declare dependencies (a list of import names) and optionally dependency_group (the matching pdstools[<extra>] extras group). Method calls trigger a lazy dependency check that raises MissingDependenciesException with a friendly install hint when a required package is missing.

Attribute access on missing methods (e.g. ns.some_method without calling) also triggers the dependency check, so introspection (hasattr, dir) surfaces missing-dep errors uniformly instead of returning a confusing AttributeError.

dependencies: list[str] | None
dependency_group: str | None
check_dependencies()

Check dependencies.

__getattr__(name: str)
Parameters:

name (str)

__repr__() str
Return type:

str

exception MissingDependenciesException(deps: list[str], namespace: str | None = None, deps_group: str | None = None)

Bases: Exception

Missing dependencies exception.

Parameters:
  • deps (list[str])

  • namespace (str | None)

  • deps_group (str | None)

message
deps
namespace = None
deps_group = None