[presets.python] conditions = ["file(pyproject.toml)"] [presets.python.tasks.setup.poetry] conditions = [ "file(pyproject.toml) | get(build-system.build-backend) | equal(poetry.core.masonry.api)", ] variables.python_version = "file(pyproject.toml) | get(tool.poetry.dependencies.python) | search((\\d.\\d))" commands = [ "poetry env use system", "poetry env use {python_version}", "poetry install", ] [presets.python.tasks.build.poetry] conditions = [ "file(pyproject.toml) | get(build-system.build-backend) | equal(poetry.core.masonry.api)", ] commands = ["poetry build"] [presets.python.tasks.publish.poetry] conditions = [ "file(pyproject.toml) | get(build-system.build-backend) | equal(poetry.core.masonry.api)", "file(poetry.toml) | get(repositories)", ] variables.python_repository = "file(poetry.toml) | get(repositories) | key(0)" commands = ["poetry publish -r {python_repository}"] [presets.python.tasks.test.pytest] conditions = ["file(.venv/bin/pytest)"] commands = [".venv/bin/pytest -p no:warnings"] [presets.python.tasks.lint.isort] conditions = ["file(.venv/bin/isort)"] commands = [".venv/bin/isort --profile black --check-only ./"] [presets.python.tasks.format.isort] conditions = ["file(.venv/bin/isort)"] commands = [".venv/bin/isort ./"] [presets.python.tasks.lint.black] conditions = ["file(.venv/bin/black)"] commands = [".venv/bin/black --check --diff ./"] [presets.python.tasks.format.black] conditions = ["file(.venv/bin/black)"] commands = [".venv/bin/black ./"] [presets.python.tasks.clean.venv] conditions = ["file(.venv)"] commands = ["rm -rf .venv"]