Source code for experimental_lowqa.userfs

"""
Common methods and definitions for project hooks.
"""

# built-in
from multiprocessing import cpu_count
from pathlib import Path
from sys import version_info

# internal
from experimental_lowqa.edit import is_local_bin, local_bin

PYTHON = f"python{version_info.major}.{version_info.minor}"
PREFIX = Path.home().joinpath(".local")
PREFIX_ARGS = f"--prefix={PREFIX}"
MAKE_NPROCS = f"-j{cpu_count()}"

VENV = Path.home().joinpath("venv")
VENV_BIN = VENV.joinpath("bin")

# Full paths to programs that should be used instead of allowing PATH to
# resolve them.
PROGS = {"pip": VENV_BIN.joinpath("pip")}