wads.agents.dependency_resolver

Dependency Resolver Agent

Automatically analyzes import errors, missing dependencies, and suggests fixes. Can scan local code, analyze error messages, and propose dependency additions.

Functions

analyze_dependencies(project_path[, ...])

Analyze project dependencies and identify issues.

extract_imports_from_file(file_path)

Extract all import statements from a Python file.

get_installed_packages()

Get list of installed packages using pip.

main()

CLI entry point for dependency resolver.

parse_error_message(error_msg)

Parse error messages to extract missing dependencies.

print_report(report)

Print formatted dependency report.

read_project_dependencies(pyproject_path)

Read declared dependencies from pyproject.toml.

resolve_package_name(import_name)

Resolve import name to package name.

scan_project_imports(project_path[, ...])

Scan all Python files in a project for imports.

Classes

DependencyIssue(package_name, import_statement)

Represents a missing or problematic dependency.

DependencyReport(missing_packages, ...)

Result of dependency analysis.

class wads.agents.dependency_resolver.DependencyIssue(package_name, import_statement, file_path=None, line_number=None, suggested_package=None, error_message=None, is_installed=False)[source]

Bases: object

Represents a missing or problematic dependency.

class wads.agents.dependency_resolver.DependencyReport(missing_packages, unused_packages, version_conflicts, recommendations)[source]

Bases: object

Result of dependency analysis.

wads.agents.dependency_resolver.analyze_dependencies(project_path, error_logs=None, check_unused=True)[source]

Analyze project dependencies and identify issues.

Parameters:
  • project_path (str | Path) – Path to project directory

  • error_logs (Optional[str]) – Optional error logs to parse

  • check_unused (bool) – Whether to check for unused dependencies

Return type:

DependencyReport

Returns:

DependencyReport with analysis results

wads.agents.dependency_resolver.extract_imports_from_file(file_path)[source]

Extract all import statements from a Python file.

Parameters:

file_path (Path) – Path to Python file

Return type:

Set[str]

Returns:

Set of imported module names

wads.agents.dependency_resolver.get_installed_packages()[source]

Get list of installed packages using pip.

Return type:

Set[str]

Returns:

Set of installed package names (lowercase)

wads.agents.dependency_resolver.main()[source]

CLI entry point for dependency resolver.

wads.agents.dependency_resolver.parse_error_message(error_msg)[source]

Parse error messages to extract missing dependencies.

Parameters:

error_msg (str) – Error message from Python/pytest

Return type:

List[DependencyIssue]

Returns:

List of DependencyIssue objects

wads.agents.dependency_resolver.print_report(report)[source]

Print formatted dependency report.

wads.agents.dependency_resolver.read_project_dependencies(pyproject_path)[source]

Read declared dependencies from pyproject.toml.

Parameters:

pyproject_path (Path) – Path to pyproject.toml

Return type:

Tuple[Set[str], Set[str]]

Returns:

Tuple of (main_dependencies, dev_dependencies)

wads.agents.dependency_resolver.resolve_package_name(import_name)[source]

Resolve import name to package name.

Parameters:

import_name (str) – Name used in import statement

Return type:

str

Returns:

Likely package name for pip install

wads.agents.dependency_resolver.scan_project_imports(project_path, exclude_patterns=None)[source]

Scan all Python files in a project for imports.

Parameters:
  • project_path (Path) – Root path of project

  • exclude_patterns (List[str]) – Patterns to exclude (e.g., ‘tests’, ‘venv’)

Return type:

Dict[str, Set[str]]

Returns:

Dict mapping file paths to sets of imported modules