def METHOD_NAME(base_branch: str, src_dir: Path) -> list[str]:
    """
    Calculate a list of changed packages based on python 3.10
    Parameters
    ----------
    base_branch: str
        branch against which to compare
    src_dir: Path
        path to the root of the repository
    Returns
    -------
    list[str]
        list of changed packages
    """
    changed_name_re = re.compile(r"\+([\w-]+)")
    try:
        out = subprocess.run(  # nosec
            [
                "git",
                "diff",
                base_branch,
                str(
                    src_dir
                    / "resources"
                    / "constraints"
                    / "constraints_py3.10.txt"
                ),
            ],
            capture_output=True,
            check=True,
        )
    except subprocess.CalledProcessError as e:
        raise ValueError(
            f"git diff failed with return code {e.returncode}"
            " stderr: {e.stderr.decode()!r}"
            " stdout: {e.stdout.decode()!r}"
        ) from e
    return [
        changed_name_re.match(x)[1].lower()
        for x in out.stdout.decode().split("\n")
        if changed_name_re.match(x)
    ]