[tool.poetry] name = "python-kasa" version = "0.5.0.dev0" description = "Python API for TP-Link Kasa Smarthome devices" license = "GPL-3.0-or-later" authors = ["Your Name "] repository = "https://github.com/python-kasa/python-kasa" readme = "README.md" packages = [ { include = "kasa" } ] include = ["CHANGELOG.md"] [tool.poetry.scripts] kasa = "kasa.cli:cli" [tool.poetry.dependencies] python = "^3.7" anyio = "*" # see https://github.com/python-trio/asyncclick/issues/18 importlib-metadata = "*" asyncclick = ">=8" pydantic = "^1" # required only for docs sphinx = { version = "^3", optional = true } m2r = { version = "^0", optional = true } mistune = { version = "<2.0.0", optional = true } sphinx_rtd_theme = { version = "^0", optional = true } sphinxcontrib-programoutput = { version = "^0", optional = true } [tool.poetry.dev-dependencies] pytest = ">=6.2.5" pytest-cov = "^2" pytest-asyncio = "^0" pytest-sugar = "*" pre-commit = "*" voluptuous = "*" toml = "*" tox = "*" pytest-mock = "^3" codecov = "^2" xdoctest = "^0" coverage = {version = "^6", extras = ["toml"]} [tool.poetry.extras] docs = ["sphinx", "sphinx_rtd_theme", "m2r", "mistune", "sphinxcontrib-programoutput"] [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", ] [build-system] requires = ["poetry-core>=1.0.0"] build-backend = "poetry.core.masonry.api"