Team Ai
Datasetpublic

codekingpro/portable-devtools

sourceHugging Faceupdated 5mo agoView on Hugging Face
1likes15kdownloads
_framework_compat.py55 linesDownload Raw Back to command
1"""2Backward compatibility for homebrew builds on macOS.3"""4 5import functools6import os7import subprocess8import sys9import sysconfig10 11 12@functools.lru_cache13def enabled():14    """15    Only enabled for Python 3.9 framework homebrew builds16    except ensurepip and venv.17    """18    PY39 = (3, 9) < sys.version_info < (3, 10)19    framework = sys.platform == 'darwin' and sys._framework20    homebrew = "Cellar" in sysconfig.get_config_var('projectbase')21    venv = sys.prefix != sys.base_prefix22    ensurepip = os.environ.get("ENSUREPIP_OPTIONS")23    return PY39 and framework and homebrew and not venv and not ensurepip24 25 26schemes = dict(27    osx_framework_library=dict(28        stdlib='{installed_base}/{platlibdir}/python{py_version_short}',29        platstdlib='{platbase}/{platlibdir}/python{py_version_short}',30        purelib='{homebrew_prefix}/lib/python{py_version_short}/site-packages',31        platlib='{homebrew_prefix}/{platlibdir}/python{py_version_short}/site-packages',32        include='{installed_base}/include/python{py_version_short}{abiflags}',33        platinclude='{installed_platbase}/include/python{py_version_short}{abiflags}',34        scripts='{homebrew_prefix}/bin',35        data='{homebrew_prefix}',36    )37)38 39 40@functools.lru_cache41def vars():42    if not enabled():43        return {}44    homebrew_prefix = subprocess.check_output(['brew', '--prefix'], text=True).strip()45    return locals()46 47 48def scheme(name):49    """50    Override the selected scheme for posix_prefix.51    """52    if not enabled() or not name.endswith('_prefix'):53        return name54    return 'osx_framework_library'55 
codekingpro/portable-devtools · Team Ai