mirror of
https://github.com/esphome/esphome.git
synced 2024-12-29 17:47:51 +01:00
138 lines
3.5 KiB
TOML
138 lines
3.5 KiB
TOML
[build-system]
|
|
requires = ["setuptools==69.2.0", "wheel~=0.43.0"]
|
|
build-backend = "setuptools.build_meta"
|
|
|
|
[project]
|
|
name = "esphome"
|
|
license = {text = "MIT"}
|
|
description = "Make creating custom firmwares for ESP32/ESP8266 super easy."
|
|
readme = "README.md"
|
|
authors = [
|
|
{name = "The ESPHome Authors", email = "esphome@nabucasa.com"}
|
|
]
|
|
keywords = ["home", "automation"]
|
|
classifiers = [
|
|
"Environment :: Console",
|
|
"Intended Audience :: Developers",
|
|
"Intended Audience :: End Users/Desktop",
|
|
"License :: OSI Approved :: MIT License",
|
|
"Programming Language :: C++",
|
|
"Programming Language :: Python :: 3",
|
|
"Topic :: Home Automation",
|
|
]
|
|
requires-python = ">=3.9.0"
|
|
|
|
dynamic = ["dependencies", "optional-dependencies", "version"]
|
|
|
|
[project.urls]
|
|
"Documentation" = "https://esphome.io"
|
|
"Source Code" = "https://github.com/esphome/esphome"
|
|
"Bug Tracker" = "https://github.com/esphome/issues/issues"
|
|
"Feature Request Tracker" = "https://github.com/esphome/feature-requests/issues"
|
|
"Discord" = "https://discord.gg/KhAMKrd"
|
|
"Forum" = "https://community.home-assistant.io/c/esphome"
|
|
"Twitter" = "https://twitter.com/esphome_"
|
|
|
|
[project.scripts]
|
|
esphome = "esphome.__main__:main"
|
|
|
|
[tool.setuptools]
|
|
platforms = ["any"]
|
|
zip-safe = false
|
|
include-package-data = true
|
|
|
|
[tool.setuptools.dynamic]
|
|
dependencies = {file = ["requirements.txt"]}
|
|
optional-dependencies.dev = { file = ["requirements_dev.txt"] }
|
|
optional-dependencies.test = { file = ["requirements_test.txt"] }
|
|
optional-dependencies.displays = { file = ["requirements_optional.txt"] }
|
|
version = {attr = "esphome.const.__version__"}
|
|
|
|
[tool.setuptools.packages.find]
|
|
include = ["esphome*"]
|
|
|
|
[tool.black]
|
|
target-version = ["py39", "py310"]
|
|
exclude = 'generated'
|
|
|
|
[tool.pytest.ini_options]
|
|
testpaths = [
|
|
"tests",
|
|
]
|
|
addopts = [
|
|
"--cov=esphome",
|
|
"--cov-branch",
|
|
]
|
|
|
|
[tool.pylint.MAIN]
|
|
py-version = "3.9"
|
|
ignore = [
|
|
"api_pb2.py",
|
|
]
|
|
persistent = false
|
|
|
|
[tool.pylint.REPORTS]
|
|
score = false
|
|
|
|
[tool.pylint."MESSAGES CONTROL"]
|
|
disable = [
|
|
"format",
|
|
"missing-docstring",
|
|
"fixme",
|
|
"unused-argument",
|
|
"global-statement",
|
|
"too-few-public-methods",
|
|
"too-many-lines",
|
|
"too-many-locals",
|
|
"too-many-ancestors",
|
|
"too-many-branches",
|
|
"too-many-statements",
|
|
"too-many-arguments",
|
|
"too-many-return-statements",
|
|
"too-many-instance-attributes",
|
|
"duplicate-code",
|
|
"invalid-name",
|
|
"cyclic-import",
|
|
"redefined-builtin",
|
|
"undefined-loop-variable",
|
|
"useless-object-inheritance",
|
|
"stop-iteration-return",
|
|
"import-outside-toplevel",
|
|
# Broken
|
|
"unsupported-membership-test",
|
|
"unsubscriptable-object",
|
|
]
|
|
|
|
[tool.pylint.FORMAT]
|
|
expected-line-ending-format = "LF"
|
|
|
|
[tool.ruff]
|
|
required-version = ">=0.5.0"
|
|
|
|
[tool.ruff.lint]
|
|
select = [
|
|
"E", # pycodestyle
|
|
"F", # pyflakes/autoflake
|
|
"I", # isort
|
|
"PL", # pylint
|
|
"UP", # pyupgrade
|
|
]
|
|
|
|
ignore = [
|
|
"E501", # line too long
|
|
"PLR0911", # Too many return statements ({returns} > {max_returns})
|
|
"PLR0912", # Too many branches ({branches} > {max_branches})
|
|
"PLR0913", # Too many arguments to function call ({c_args} > {max_args})
|
|
"PLR0915", # Too many statements ({statements} > {max_statements})
|
|
"PLR2004", # Magic value used in comparison, consider replacing {value} with a constant variable
|
|
"PLW2901", # Outer {outer_kind} variable {name} overwritten by inner {inner_kind} target
|
|
]
|
|
|
|
[tool.ruff.lint.isort]
|
|
force-sort-within-sections = true
|
|
known-first-party = [
|
|
"esphome",
|
|
]
|
|
combine-as-imports = true
|
|
split-on-trailing-comma = false
|