[tool.poetry] name = "heisskleber" version = "0.4.5" description = "Heisskleber" authors = ["Felix Weiler "] 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"