Skip to content

debug

Debugging utilities.

Environment dataclass

Dataclass to store environment information.

interpreter_name instance-attribute

interpreter_name: str

Python interpreter name.

interpreter_version instance-attribute

interpreter_version: str

Python interpreter version.

packages instance-attribute

packages: list[Package]

Installed packages.

platform instance-attribute

platform: str

Operating System.

variables instance-attribute

variables: list[Variable]

Environment variables.

Package dataclass

Dataclass describing a Python package.

name instance-attribute

name: str

Package name.

version instance-attribute

version: str

Package version.

Variable dataclass

Dataclass describing an environment variable.

name instance-attribute

name: str

Variable name.

value instance-attribute

value: str

Variable value.

get_debug_info

get_debug_info() -> Environment

Get debug/environment information.

Returns:

Source code in src/variantplaner/debug.py
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
def get_debug_info() -> Environment:
    """Get debug/environment information.

    Returns:
        Environment information.
    """
    py_name, py_version = _interpreter_name_version()
    packages = ["variantplaner"]
    variables = [
        "PYTHONPATH",
        *[var for var in os.environ if var.startswith("VARIANTPLANER")],
    ]
    return Environment(
        interpreter_name=py_name,
        interpreter_version=py_version,
        platform=platform.platform(),
        variables=[Variable(var, val) for var in variables if (val := os.getenv(var))],
        packages=[Package(pkg, get_version(pkg)) for pkg in packages],
    )

get_version

get_version(dist: str = 'variantplaner') -> str

Get version of the given distribution.

Parameters:

  • dist (str, default: 'variantplaner' ) –

    A distribution name.

Returns:

  • str

    A version number.

Source code in src/variantplaner/debug.py
59
60
61
62
63
64
65
66
67
68
69
70
71
def get_version(dist: str = "variantplaner") -> str:
    """Get version of the given distribution.

    Parameters:
        dist: A distribution name.

    Returns:
        A version number.
    """
    try:
        return metadata.version(dist)
    except metadata.PackageNotFoundError:
        return "0.0.0"

print_info

print_info() -> None

Print debug/environment information.

Source code in src/variantplaner/debug.py
 95
 96
 97
 98
 99
100
101
102
103
104
105
def print_info() -> None:
    """Print debug/environment information."""
    info = get_debug_info()
    print(f"- __System__: {info.platform}")
    print(f"- __Python__: {info.interpreter_name} {info.interpreter_version}")
    print("- __Environment variables__:")
    for var in info.variables:
        print(f"  - `{var.name}`: `{var.value}`")
    print("- __Installed packages__:")
    for pkg in info.packages:
        print(f"  - `{pkg.name}` v{pkg.version}")