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 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69
|
[project]
name = "incus-incant"
version = "0.3"
description = "Incant — an Incus frontend for declarative development environments"
readme = "README.md"
authors = [
{ name = "Lucas Nussbaum", email = "lucas@debian.org" }
]
requires-python = ">=3.11,<4.0"
license = { file = "LICENSE" }
keywords = ["incus", "containers", "dev-environment", "cli"]
dependencies = [
"click>=8.1.3,<9.0.0",
"jinja2>=3.1.2,<4.0.0",
"pyyaml>=6.0,<7.0",
"mako>=1.1.3,<2.0.0",
]
[[tool.poetry.packages]]
include = "incant"
[project.scripts]
incant = "incant.cli:cli"
[tool.poetry.group.dev.dependencies]
pylint = "^3.3.4"
pytest-cov = "^6.2.1"
mypy = "^1.17.1"
bandit = "^1.8.6"
isort = "^6.0.1"
radon = "^6.0.1"
ruff = "^0.12.9"
flake8 = "^7.1.0"
flake8-pyproject = "^1.2.3"
types-pyyaml = "^6.0.12.20250809"
typos = "^1.35.5"
[tool.black]
line-length = 110
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.pytest.ini_options]
addopts = "--cov=incant --cov-fail-under=15"
[tool.ruff]
# Match line length with black for compatibility.
line-length = 110
[tool.ruff.lint]
# Enable a selection of rules from flake8 (E, F, W), isort (I), bugbear (B), and pylint (PL)
select = ["E", "F", "W", "I", "B", "PL"]
[tool.flake8]
max-line-length = 110
[tool.pylint.main]
fail-under = 8
ignore-paths = ["tests/"]
disable = "missing-docstring" # From .pylintrc
max-branches = 13 # From .pylintrc
[tool.pylint.format]
max-line-length = 110
[tool.mypy]
ignore_missing_imports = true
|