Files
flucto-heisskleber/pyproject.toml
2024-02-08 10:25:47 +01:00

113 lines
2.6 KiB
TOML

[tool.poetry]
name = "heisskleber"
version = "0.4.5"
description = "Heisskleber"
authors = ["Felix Weiler <felix@flucto.tech>"]
license = "MIT"
readme = "README.md"
homepage = "https://github.com/flucto-gmbh/heisskleber"
repository = "https://github.com/flucto-gmbh/heisskleber"
documentation = "https://heisskleber.readthedocs.io"
[tool.poetry.urls]
Changelog = "https://github.com/flucto-gmbh/heisskleber/releases"
[tool.poetry.dependencies]
python = "^3.9"
paho-mqtt = "^1.6.1"
pyserial = "^3.5"
pyyaml = "^6.0.1"
pyzmq = "^25.1.1"
aiomqtt = "^1.2.1"
[tool.poetry.group.dev.dependencies]
black = ">=21.10b0"
coverage = { extras = ["toml"], version = ">=6.2" }
furo = ">=2021.11.12"
mypy = ">=0.930"
pre-commit = ">=2.16.0"
pre-commit-hooks = ">=4.1.0"
pytest = ">=6.2.5"
pytest-cov = "^4.1.0"
pytest-mock = "^3.11.1"
ruff = "^0.0.292"
pyupgrade = ">=2.29.1"
safety = ">=1.10.3"
sphinx = ">=4.3.2"
sphinx-autobuild = ">=2021.3.14"
sphinx-autodoc-typehints = "^1.24.0"
sphinx-rtd-theme = "^1.3.0"
typeguard = ">=2.13.3"
xdoctest = { extras = ["colors"], version = ">=0.15.10" }
myst-parser = { version = ">=0.16.1" }
pytest-asyncio = "^0.21.1"
termcolor = "^2.4.0"
codecov = "^2.1.13"
[tool.poetry.group.types.dependencies]
pandas-stubs = "^2.1.1.230928"
types-pyyaml = "^6.0.12.12"
types-paho-mqtt = "^1.6.0.7"
[tool.poetry.scripts]
hkcli = "heisskleber.run.cli:main"
zmqbroker = "heisskleber.run.zmqbroker:main"
[tool.coverage.paths]
source = ["heisskleber", "*/site-packages"]
tests = ["tests", "*/tests"]
[tool.coverage.run]
branch = true
source = ["heisskleber", "tests"]
[tool.coverage.report]
show_missing = true
# fail_under = 100
[tool.mypy]
strict = true
warn_unreachable = true
pretty = true
show_column_numbers = true
show_error_context = true
exclude = ["tests/*", "^test_*\\.py"]
[tool.ruff]
ignore-init-module-imports = true
target-version = "py39"
line-length = 120
fix = true
select = [
"YTT", # flake8-2020
"S", # flake8-bandit
"B", # flake8-bugbear
"A", # flake8-builtins
"C4", # flake8-comprehensions
"T10", # flake8-debugger
"SIM", # flake8-simplify
"I", # isort
"C90", # mccabe
"E",
"W", # pycodestyle
"F", # pyflakes
"PGH", # pygrep-hooks
"UP", # pyupgrade
"RUF", # ruff
"TRY", # tryceratops
]
ignore = [
"E501", # LineTooLong
"E731", # DoNotAssignLambda
"A001", #
"PGH003", # Use specific rules when ignoring type issues
]
[tool.ruff.per-file-ignores]
"tests/*" = ["S101", "D"]
"tests/test_import.py" = ["F401"]
[build-system]
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"