Files
home-automation/pyproject.toml

74 lines
1.5 KiB
TOML

[tool.poetry]
name = "home-automation"
version = "0.1.0"
description = "Home automation monorepo"
authors = ["Your Name <you@example.com>"]
readme = "README.md"
packages = [
{ include = "apps" },
{ include = "packages" }
]
[tool.poetry.dependencies]
python = "^3.11"
pydantic = "^2.12.3"
fastapi = "^0.120.3"
uvicorn = {extras = ["standard"], version = "^0.38.0"}
asyncio-mqtt = "^0.16.2"
pyyaml = "^6.0.3"
aiomqtt = "^2.4.0"
jinja2 = "^3.1.6"
apscheduler = "^3.11.0"
redis = "^7.0.1"
paho-mqtt = "^2.1.0"
httpx = "^0.28.1"
beautifulsoup4 = "^4.14.2"
[tool.poetry.group.dev.dependencies]
ruff = "^0.6.0"
black = "^24.0.0"
mypy = "^1.11.0"
[build-system]
requires = ["poetry-core"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
line-length = 100
target-version = "py311"
[tool.ruff.lint]
select = [
"E", # pycodestyle errors
"W", # pycodestyle warnings
"F", # pyflakes
"I", # isort
"N", # pep8-naming
"UP", # pyupgrade
"B", # flake8-bugbear
"C4", # flake8-comprehensions
"SIM", # flake8-simplify
]
ignore = []
[tool.ruff.lint.per-file-ignores]
"__init__.py" = ["F401"]
[tool.black]
line-length = 100
target-version = ["py311"]
include = '\.pyi?$'
[tool.mypy]
python_version = "3.11"
warn_return_any = true
warn_unused_configs = true
disallow_untyped_defs = true
disallow_incomplete_defs = true
check_untyped_defs = true
no_implicit_optional = true
warn_redundant_casts = true
warn_unused_ignores = true
warn_no_return = true
strict_equality = true