python-kasa/pyproject.toml

132 lines
3.0 KiB
TOML
Raw Normal View History

[tool.poetry]
name = "python-kasa"
Prepare 0.6.1 (#709) [Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.0.1...0.6.1) Release highlights: * Support for tapo wall switches * Support for unprovisioned devices * Performance and stability improvements **Implemented enhancements:** - Add support for tapo wall switches \(S500D\) [\#704](https://github.com/python-kasa/python-kasa/pull/704) (@bdraco) - Add new cli command 'command' to execute arbitrary commands [\#692](https://github.com/python-kasa/python-kasa/pull/692) (@rytilahti) - Allow raw-command and wifi without update [\#688](https://github.com/python-kasa/python-kasa/pull/688) (@rytilahti) - Generate AES KeyPair lazily [\#687](https://github.com/python-kasa/python-kasa/pull/687) (@sdb9696) - Add reboot and factory\_reset to tapodevice [\#686](https://github.com/python-kasa/python-kasa/pull/686) (@rytilahti) - Try default tapo credentials for klap and aes [\#685](https://github.com/python-kasa/python-kasa/pull/685) (@sdb9696) - Sleep between discovery packets [\#656](https://github.com/python-kasa/python-kasa/pull/656) (@sdb9696) **Fixed bugs:** - Do not crash on missing geolocation [\#701](https://github.com/python-kasa/python-kasa/pull/701) (@rytilahti) - Fix P100 error getting conn closed when trying default login after login failure [\#690](https://github.com/python-kasa/python-kasa/pull/690) (@sdb9696) **Documentation updates:** - Add protocol and transport documentation [\#663](https://github.com/python-kasa/python-kasa/pull/663) (@sdb9696) - Document authenticated provisioning [\#634](https://github.com/python-kasa/python-kasa/pull/634) (@rytilahti) **Closed issues:** - Consider handshake as still valid on ServerDisconnectedError [\#676](https://github.com/python-kasa/python-kasa/issues/676) - AES Transport creates the key even if the device is offline [\#675](https://github.com/python-kasa/python-kasa/issues/675) - how to provision new Tapo plug devices? [\#565](https://github.com/python-kasa/python-kasa/issues/565) - Space out discovery requests [\#229](https://github.com/python-kasa/python-kasa/issues/229) **Merged pull requests:** - Add additional L900-10 fixture [\#707](https://github.com/python-kasa/python-kasa/pull/707) (@bdraco) - Replace rich formatting stripper [\#706](https://github.com/python-kasa/python-kasa/pull/706) (@bdraco) - Add support for the S500 [\#705](https://github.com/python-kasa/python-kasa/pull/705) (@bdraco) - Fix overly greedy \_strip\_rich\_formatting [\#703](https://github.com/python-kasa/python-kasa/pull/703) (@bdraco) - Ensure login token is only sent if aes state is ESTABLISHED [\#702](https://github.com/python-kasa/python-kasa/pull/702) (@bdraco) - Update readme fixture checker and readme [\#699](https://github.com/python-kasa/python-kasa/pull/699) (@rytilahti) - Fix test\_klapprotocol test duration [\#698](https://github.com/python-kasa/python-kasa/pull/698) (@sdb9696) - Renew the handshake session 20 minutes before we think it will expire [\#697](https://github.com/python-kasa/python-kasa/pull/697) (@bdraco) - Add --batch-size hint to timeout errors in dump\_devinfo [\#696](https://github.com/python-kasa/python-kasa/pull/696) (@sdb9696) - Add L930-5 fixture [\#694](https://github.com/python-kasa/python-kasa/pull/694) (@bdraco) - Add fixtures for L510E [\#693](https://github.com/python-kasa/python-kasa/pull/693) (@bdraco) - Refactor aestransport to use a state enum [\#691](https://github.com/python-kasa/python-kasa/pull/691) (@bdraco) - Update transport close/reset behaviour [\#689](https://github.com/python-kasa/python-kasa/pull/689) (@sdb9696) - Check README for supported models [\#684](https://github.com/python-kasa/python-kasa/pull/684) (@rytilahti) - Add P100 test fixture [\#683](https://github.com/python-kasa/python-kasa/pull/683) (@bdraco) - Make dump\_devinfo request batch size configurable [\#681](https://github.com/python-kasa/python-kasa/pull/681) (@sdb9696) - Add updated L920 fixture [\#680](https://github.com/python-kasa/python-kasa/pull/680) (@bdraco) - Update fixtures from test devices [\#679](https://github.com/python-kasa/python-kasa/pull/679) (@bdraco) - Show discovery data for state with verbose [\#678](https://github.com/python-kasa/python-kasa/pull/678) (@rytilahti) - Add L530E\(US\) fixture [\#674](https://github.com/python-kasa/python-kasa/pull/674) (@bdraco) - Add P135 fixture [\#673](https://github.com/python-kasa/python-kasa/pull/673) (@bdraco) - Rename base TPLinkProtocol to BaseProtocol [\#669](https://github.com/python-kasa/python-kasa/pull/669) (@sdb9696) - Add 1003 \(TRANSPORT\_UNKNOWN\_CREDENTIALS\_ERROR\) [\#667](https://github.com/python-kasa/python-kasa/pull/667) (@rytilahti)
2024-01-25 08:32:45 +00:00
version = "0.6.1"
description = "Python API for TP-Link Kasa Smarthome devices"
license = "GPL-3.0-or-later"
2023-02-18 21:40:42 +00:00
authors = ["python-kasa developers"]
repository = "https://github.com/python-kasa/python-kasa"
readme = "README.md"
packages = [
{ include = "kasa" }
]
include = [
{ path= "CHANGELOG.md", format = "sdist" }
]
[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
2022-04-05 16:36:57 +00:00
asyncclick = ">=8"
pydantic = ">=1"
cryptography = ">=1.9"
async-timeout = ">=3.0.0"
aiohttp = ">=3"
# speed ups
orjson = { "version" = ">=3.9.1", optional = true }
kasa-crypt = { "version" = ">=0.2.0", optional = true }
# required only for docs
sphinx = { version = "^5", 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 }
[tool.poetry.group.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.coverage.run]
source = ["kasa"]
branch = true
omit = ["kasa/tests/*"]
[tool.coverage.report]
exclude_lines = [
# ignore debug logging
"if debug_enabled:",
# Don't complain if tests don't hit defensive assertion code:
"raise AssertionError",
"raise NotImplementedError",
# Don't complain about missing debug-only code:
"def __repr__",
# Have to re-enable the standard pragma
"pragma: no cover",
# TYPE_CHECKING and @overload blocks are never executed during pytest run
"if TYPE_CHECKING:",
"@overload"
]
[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]
2021-10-01 22:51:16 +00:00
requires = ["poetry-core>=1.0.0"]
build-backend = "poetry.core.masonry.api"
[tool.ruff]
target-version = "py38"
select = [
"E", # pycodestyle
"D", # pydocstyle
"F", # pyflakes
"UP", # pyupgrade
"B", # flake8-bugbear
"SIM", # flake8-simplify
"I", # isort
"S", # bandit
]
ignore = [
"D105", # Missing docstring in magic method
"D107", # Missing docstring in `__init__`
]
[tool.ruff.pydocstyle]
convention = "pep257"
[tool.ruff.per-file-ignores]
"kasa/tests/*.py" = [
"D100",
"D101",
"D102",
"D103",
"D104",
"F401",
"S101", # allow asserts
"E501", # ignore line-too-longs
]
"docs/source/conf.py" = [
"D100",
"D103",
]