from pathlib import Path from typing import Optional from ..entry import Entry from .command import PoetryCommand class PythonEntry(Entry): TYPE: str = "python" def __init__(self, basepath: Path): super().__init__(self.TYPE, basepath) def setup(self): self._logger.info(f"setup:{self}") PoetryCommand.env_use("3.8").run(self._basepath) PoetryCommand.install().run(self._basepath) @classmethod def detect(cls, basepath: Path) -> Optional["PythonEntry"]: if (basepath / "pyproject.toml").exists(): return cls(basepath)