ahvn.utils.deps moduleΒΆ

Dependency management utilities for AgentHeaven.

This module is deprecated. Please use ahvn.utils.basic.deps_utils instead.

class ahvn.utils.deps.DependencyManager[source]ΒΆ

Bases: object

Clean dependency management system.

Return type:

DependencyManager

static __new__(cls)[source]ΒΆ

Singleton pattern.

Return type:

DependencyManager

__init__()[source]ΒΆ

Initialize the manager.

add(dep_info)[source]ΒΆ

Add a dependency.

Return type:

None

Parameters:

dep_info (DependencyInfo)

check(name)[source]ΒΆ

Check if a dependency is available.

Return type:

bool

Parameters:

name (str)

require(name, feature='')[source]ΒΆ

Require a dependency, raising error if missing.

Return type:

None

Parameters:
list(filter_optional=None)[source]ΒΆ

List all dependencies.

Return type:

List[str]

Parameters:

filter_optional (bool | None)

missing()[source]ΒΆ

Get list of missing dependencies.

Return type:

List[str]

info(name)[source]ΒΆ

Get dependency information.

Return type:

Dict[str, Any]

Parameters:

name (str)

clear_cache()[source]ΒΆ

Clear dependency cache.

Return type:

None

load(module_name, package=None, error_msg=None)[source]ΒΆ

Import an optional dependency, raising a clear error if missing.

Parameters:
  • module_name (str) – The python module name to import (e.g. β€œpandas”)

  • package (Optional[str]) – The pip package name (e.g. β€œpandas”). Defaults to module_name.

  • error_msg (Optional[str]) – Custom error message. If None, generates a standard one.

Return type:

ModuleType

Returns:

The imported module.

Raises:

OptionalDependencyError – If the module cannot be imported.

exception ahvn.utils.deps.DependencyError[source]ΒΆ

Bases: Exception

Dependency-related error.

exception ahvn.utils.deps.OptionalDependencyError[source]ΒΆ

Bases: DependencyError, ImportError

Optional dependency not available.

class ahvn.utils.deps.DependencyInfo(name, packages, install, description, optional=True, required_for=None)[source]ΒΆ

Bases: object

Information about a dependency.

Parameters:
name: strΒΆ
packages: List[str]ΒΆ
install: strΒΆ
description: strΒΆ
optional: bool = TrueΒΆ
required_for: List[str] | None = NoneΒΆ
__post_init__()[source]ΒΆ

Initialize default values.

__init__(name, packages, install, description, optional=True, required_for=None)ΒΆ
Parameters:
Return type:

None

ahvn.utils.deps.get_default_dependencies()[source]ΒΆ

Get all default dependency definitions.

Return type:

dict