def METHOD_NAME(domain, info):
    """
    Determine the URL corresponding to Python object
    Notes
    -----
    From https://github.com/numpy/numpy/blob/v1.15.1/doc/source/conf.py, 7c49cfa
    on Jul 31. License BSD-3. https://github.com/numpy/numpy/blob/v1.15.1/LICENSE.txt
    """
    if domain != "py":
        return None
    modname = info["module"]
    fullname = info["fullname"]
    submod = sys.modules.get(modname)
    if submod is None:
        return None
    obj = submod
    for part in fullname.split("."):
        try:
            obj = getattr(obj, part)
        except Exception:  # NOQA: PERF203
            return None
    # strip decorators, which would resolve to the source of the decorator
    # possibly an upstream bug in getsourcefile, bpo-1764286
    try:
        unwrap = inspect.unwrap
    except AttributeError:
        pass
    else:
        obj = unwrap(obj)
    try:
        fn = inspect.getsourcefile(obj)
    except Exception:
        fn = None
    if not fn:
        return None
    try:
        source, lineno = inspect.getsourcelines(obj)
    except Exception:
        lineno = None
    linespec = "#L%d-L%d" % (lineno, lineno + len(source) - 1) if lineno else ""
    fn = relpath(fn, start=pathlib.Path(tmuxp.__file__).parent)
    if "dev" in about["__version__"]:
        return "{}/blob/master/{}/{}/{}{}".format(
            about["__github__"],
            "src",
            about["__package_name__"],
            fn,
            linespec,
        )
    else:
        return "{}/blob/v{}/{}/{}/{}{}".format(
            about["__github__"],
            about["__version__"],
            "src",
            about["__package_name__"],
            fn,
            linespec,
        )