mirror of
https://github.com/python-kasa/python-kasa.git
synced 2024-12-22 11:13:34 +00:00
117a7ac64a
asyncio.wait_for has some underlying problems that are only fixed in cpython 3.12. Use async_timeout instead until the minimum supported version is 3.11+ and it can be replaced with asyncio.timeout See https://github.com/python/cpython/pull/98518
102 lines
2.4 KiB
TOML
102 lines
2.4 KiB
TOML
[tool.poetry]
|
|
name = "python-kasa"
|
|
version = "0.5.2"
|
|
description = "Python API for TP-Link Kasa Smarthome devices"
|
|
license = "GPL-3.0-or-later"
|
|
authors = ["python-kasa developers"]
|
|
repository = "https://github.com/python-kasa/python-kasa"
|
|
readme = "README.md"
|
|
packages = [
|
|
{ include = "kasa" }
|
|
]
|
|
include = ["CHANGELOG.md"]
|
|
|
|
[tool.poetry.urls]
|
|
"Bug Tracker" = "https://github.com/python-kasa/python-kasa/issues"
|
|
"Documentation" = "https://python-kasa.readthedocs.io"
|
|
|
|
[tool.poetry.scripts]
|
|
kasa = "kasa.cli:cli"
|
|
|
|
[tool.poetry.dependencies]
|
|
python = "^3.8"
|
|
anyio = "*" # see https://github.com/python-trio/asyncclick/issues/18
|
|
asyncclick = ">=8"
|
|
pydantic = "^1"
|
|
|
|
# speed ups
|
|
orjson = { "version" = ">=3.9.1", optional = true }
|
|
kasa-crypt = { "version" = ">=0.2.0", optional = true }
|
|
|
|
# required only for docs
|
|
sphinx = { version = "^4", optional = true }
|
|
sphinx_rtd_theme = { version = "^0", optional = true }
|
|
sphinxcontrib-programoutput = { version = "^0", optional = true }
|
|
myst-parser = { version = "*", optional = true }
|
|
docutils = { version = ">=0.17", optional = true }
|
|
async-timeout = ">=3.0.0"
|
|
|
|
[tool.poetry.dev-dependencies]
|
|
pytest = "*"
|
|
pytest-cov = "*"
|
|
pytest-asyncio = "*"
|
|
pytest-sugar = "*"
|
|
pre-commit = "*"
|
|
voluptuous = "*"
|
|
toml = "*"
|
|
tox = "*"
|
|
pytest-mock = "*"
|
|
codecov = "*"
|
|
xdoctest = "*"
|
|
coverage = {version = "*", extras = ["toml"]}
|
|
|
|
[tool.poetry.extras]
|
|
docs = ["sphinx", "sphinx_rtd_theme", "sphinxcontrib-programoutput", "myst-parser", "docutils"]
|
|
speedups = ["orjson", "kasa-crypt"]
|
|
|
|
|
|
[tool.isort]
|
|
multi_line_output = 3
|
|
include_trailing_comma = true
|
|
force_grid_wrap = 0
|
|
use_parentheses = true
|
|
line_length = 88
|
|
known_first_party = "kasa"
|
|
known_third_party = ["asyncclick", "pytest", "setuptools", "voluptuous"]
|
|
|
|
[tool.coverage.run]
|
|
source = ["kasa"]
|
|
branch = true
|
|
omit = ["kasa/tests/*"]
|
|
|
|
[tool.coverage.report]
|
|
exclude_lines = [
|
|
# ignore abstract methods
|
|
"raise NotImplementedError",
|
|
"def __repr__"
|
|
]
|
|
|
|
[tool.interrogate]
|
|
ignore-init-method = true
|
|
ignore-magic = true
|
|
ignore-private = true
|
|
ignore-semiprivate = true
|
|
fail-under = 100
|
|
exclude = ['kasa/tests/*']
|
|
verbose = 2
|
|
|
|
[tool.pytest.ini_options]
|
|
markers = [
|
|
"requires_dummy: test requires dummy data to pass, skipped on real devices",
|
|
]
|
|
asyncio_mode = "auto"
|
|
|
|
[tool.doc8]
|
|
paths = ["docs"]
|
|
ignore = ["D001"]
|
|
ignore-path-errors = ["docs/source/index.rst;D000"]
|
|
|
|
[build-system]
|
|
requires = ["poetry-core>=1.0.0"]
|
|
build-backend = "poetry.core.masonry.api"
|