1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31
|
from pathlib import Path
import sys
def install(packages):
import subprocess as subp
subp.check_call(
["python", "-m", "pip", "install", "--upgrade", "--prefer-binary"] + packages
)
packages = [
"tomli",
"pip",
"wheel",
]
install(packages)
import tomli # noqa
with open(Path(__file__).parent.parent / "pyproject.toml", "rb") as f:
d = tomli.load(f)
for arg in sys.argv[1:]:
if arg == "build":
install(d["build-system"]["requires"])
else:
packages = d["project"]["optional-dependencies"][arg]
install(packages)
|