Steven B
416d3118bf
Configure mypy to run in virtual environment and fix resulting issues ( #989 )
...
For some time I've noticed that my IDE is reporting mypy errors that the
pre-commit hook is not picking up. This is because [mypy
mirror](https://github.com/pre-commit/mirrors-mypy ) runs in an isolated
pre-commit environment which does not have dependencies installed and it
enables `--ignore-missing-imports` to avoid errors.
This is [advised against by
mypy](https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-library-stubs-or-py-typed-marker )
for obvious reasons:
> We recommend avoiding --ignore-missing-imports if possible: it’s
equivalent to adding a # type: ignore to all unresolved imports in your
codebase.
This PR configures the mypy pre-commit hook to run in the virtual
environment and addresses the additional errors identified as a result.
It also introduces a minimal mypy config into the `pyproject.toml`
[mypy errors identified without the fixes in this
PR](https://github.com/user-attachments/files/15896693/mypyerrors.txt )
2024-06-19 15:07:59 +02:00
Steven B
5b7e59056c
Remove anyio dependency from pyproject.toml ( #990 )
...
This is no longer required as it's correctly configured in [async click
release 8.1.7.1](https://pypi.org/project/asyncclick/8.1.7.1/ ) released
in January.
Fixed in https://github.com/python-trio/asyncclick/pull/27
2024-06-19 13:36:00 +02:00
Steven B
6b46773609
Prepare 0.7.0.dev5 ( #984 )
...
## [0.7.0.dev5](https://github.com/python-kasa/python-kasa/tree/0.7.0.dev5 ) (2024-06-17)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.dev4...0.7.0.dev5 )
**Implemented enhancements:**
- Add timezone to on\_since attributes [\#978](https://github.com/python-kasa/python-kasa/pull/978 ) (@sdb9696)
- Add common energy module and deprecate device emeter attributes [\#976](https://github.com/python-kasa/python-kasa/pull/976 ) (@sdb9696)
- Add type hints to feature set\_value [\#974](https://github.com/python-kasa/python-kasa/pull/974 ) (@sdb9696)
- Handle unknown light effect names and only calculate effect list once [\#973](https://github.com/python-kasa/python-kasa/pull/973 ) (@sdb9696)
- Add time sync command [\#951](https://github.com/python-kasa/python-kasa/pull/951 ) (@rytilahti)
**Fixed bugs:**
- Disallow non-targeted device commands [\#982](https://github.com/python-kasa/python-kasa/pull/982 ) (@rytilahti)
- Add supported check to light transition module [\#971](https://github.com/python-kasa/python-kasa/pull/971 ) (@sdb9696)
**Project maintenance:**
- Add fixture for L920-5\(EU\) 1.0.7 [\#972](https://github.com/python-kasa/python-kasa/pull/972 ) (@rytilahti)
2024-06-17 12:19:04 +01:00
Steven B
57cbd3cb58
Prepare 0.7.0.dev4 ( #969 )
...
## [0.7.0.dev4](https://github.com/python-kasa/python-kasa/tree/0.7.0.dev4 ) (2024-06-10)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.dev3...0.7.0.dev4 )
**Implemented enhancements:**
- Support smart child modules queries [\#967](https://github.com/python-kasa/python-kasa/pull/967 ) (@sdb9696)
- Do not expose child modules on parent devices [\#964](https://github.com/python-kasa/python-kasa/pull/964 ) (@sdb9696)
- Do not add parent only modules to strip sockets [\#963](https://github.com/python-kasa/python-kasa/pull/963 ) (@sdb9696)
**Project maintenance:**
- Better checking of child modules not supported by parent device [\#966](https://github.com/python-kasa/python-kasa/pull/966 ) (@sdb9696)
- Add fixture for p300 1.0.15 [\#915](https://github.com/python-kasa/python-kasa/pull/915 ) (@rytilahti)
2024-06-10 16:59:17 +01:00
Steven B
b094e334ca
Prepare 0.7.0.dev3 ( #962 )
...
## [0.7.0.dev3](https://github.com/python-kasa/python-kasa/tree/0.7.0.dev3 ) (2024-06-07)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.dev2...0.7.0.dev3 )
**Fixed bugs:**
- Fix switching off light effects for iot lights strips [\#961](https://github.com/python-kasa/python-kasa/pull/961 ) (@sdb9696)
- Add state features to iot strip sockets [\#960](https://github.com/python-kasa/python-kasa/pull/960 ) (@sdb9696)
- Ensure http delay logic works during default login attempt [\#959](https://github.com/python-kasa/python-kasa/pull/959 ) (@sdb9696)
- Fix fan speed level when off and derive smart fan module from common fan interface [\#957](https://github.com/python-kasa/python-kasa/pull/957 ) (@sdb9696)
- Require update in cli for wifi commands [\#956](https://github.com/python-kasa/python-kasa/pull/956 ) (@rytilahti)
**Project maintenance:**
- Use freezegun for testing aes http client delays [\#954](https://github.com/python-kasa/python-kasa/pull/954 ) (@sdb9696)
- Update release playbook [\#932](https://github.com/python-kasa/python-kasa/pull/932 ) (@rytilahti)
2024-06-07 13:25:17 +01:00
Steven B
39fc21a124
Use freezegun for testing aes http client delays ( #954 )
2024-06-05 18:13:10 +01:00
Steven B
9deadaa520
Prepare 0.7.0.dev2 ( #952 )
...
## [0.7.0.dev2](https://github.com/python-kasa/python-kasa/tree/0.7.0.dev2 ) (2024-06-05)
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.dev1...0.7.0.dev2 )
**Implemented enhancements:**
- Make device initialisation easier by reducing required imports [\#936](https://github.com/python-kasa/python-kasa/pull/936 ) (@sdb9696)
**Fixed bugs:**
- Do not raise on multi-request errors on child devices [\#949](https://github.com/python-kasa/python-kasa/pull/949 ) (@rytilahti)
- Do not show a zero error code when cli exits from showing help [\#935](https://github.com/python-kasa/python-kasa/pull/935 ) (@rytilahti)
- Initialize autooff features only when data is available [\#933](https://github.com/python-kasa/python-kasa/pull/933 ) (@rytilahti)
- Fix P100 errors on multi-requests [\#930](https://github.com/python-kasa/python-kasa/pull/930 ) (@sdb9696)
**Documentation updates:**
- Update documentation structure and start migrating to markdown [\#934](https://github.com/python-kasa/python-kasa/pull/934 ) (@sdb9696)
**Closed issues:**
- Simplify instance creation API [\#927](https://github.com/python-kasa/python-kasa/issues/927 )
**Merged pull requests:**
- Add P115 fixture [\#950](https://github.com/python-kasa/python-kasa/pull/950 ) (@rytilahti)
- Add some device fixtures [\#948](https://github.com/python-kasa/python-kasa/pull/948 ) (@rytilahti)
- Add fixture for S505D [\#947](https://github.com/python-kasa/python-kasa/pull/947 ) (@rytilahti)
- Fix passing custom port for dump\_devinfo [\#938](https://github.com/python-kasa/python-kasa/pull/938 ) (@rytilahti)
2024-06-05 08:59:01 +01:00
Teemu R
c1e14832ef
Prepare 0.7.0.dev1 ( #931 )
...
[Full
Changelog](https://github.com/python-kasa/python-kasa/compare/0.7.0.dev0...0.7.0.dev1 )
**Implemented enhancements:**
- Fix set\_state for common light modules
[\#929](https://github.com/python-kasa/python-kasa/pull/929 ) (@sdb9696)
- Add state feature for iot devices
[\#924](https://github.com/python-kasa/python-kasa/pull/924 )
(@rytilahti)
2024-05-22 17:37:28 +02:00
Teemu R
5e619af29f
Prepare 0.7.0.dev0 ( #922 )
...
First dev release for 0.7.0: add module support for SMART devices,
support for introspectable device features and refactoring the library
2024-05-19 20:00:57 +02:00
Steven B
1ba5c73279
Fix potential infinite loop if incomplete lists returned ( #920 )
...
Fixes the test framework to handle fixtures with incomplete lists better by checking for completeness and overriding the sum. Also adds a pytest-timeout dev dependency with timeout set to 10 seconds. Finally fixes smartprotocol to prevent an infinite loop if incomplete lists ever happens in the real world.
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-05-19 10:34:52 +01:00
Teemu R
46338ee21d
Use pydantic.v1 namespace on all pydantic versions ( #883 )
...
With https://github.com/pydantic/pydantic/pull/9042 being shipped with
[1.10.15](https://docs.pydantic.dev/latest/changelog/#v11015-2024-04-03 ),
we can clean up the imports a bit until we make decisions how to move
onward with or without pydantic.
---------
Co-authored-by: Steven B. <51370195+sdb9696@users.noreply.github.com>
2024-05-01 15:59:35 +02:00
Steven B
203bd79253
Enable and convert to future annotations ( #838 )
2024-04-17 15:39:24 +02:00
Steven B
da441bc697
Update poetry locks and pre-commit hooks ( #837 )
...
Also updates CI pypy versions to be 3.9 and 3.10 which are the currently
[supported
versions](https://www.pypy.org/posts/2024/01/pypy-v7315-release.html ).
Otherwise latest cryptography doesn't ship with pypy3.8 wheels and is
unable to build on windows.
Also updates the `codecov-action` to v4 which fixed some intermittent
uploading errors.
2024-04-16 20:21:20 +02:00
Steven B
fcad0d2344
Add WallSwitch device type and autogenerate supported devices docs ( #758 )
2024-03-01 18:32:45 +00:00
Steven B
4beff228c9
Enable shell extra for installing ptpython and rich ( #782 )
...
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-02-20 18:40:28 +00:00
Teemu R
458949157a
Add 'shell' command to cli ( #738 )
...
* Add 'shell' command to cli
* Add test
* Add ptpython as optional dep
2024-02-06 14:48:19 +01:00
Teemu R
414489ff18
Prepare 0.6.2.1 ( #736 )
...
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.2...0.6.2.1 )
**Fixed bugs:**
- Avoid crashing on childdevice property accesses [\#732](https://github.com/python-kasa/python-kasa/pull/732 ) (@rytilahti)
**Merged pull requests:**
- Retain last two chars for children device\_id [\#733](https://github.com/python-kasa/python-kasa/pull/733 ) (@rytilahti)
- Add TP15 fixture [\#730](https://github.com/python-kasa/python-kasa/pull/730 ) (@bdraco)
- Add TP25 fixtures [\#729](https://github.com/python-kasa/python-kasa/pull/729 ) (@bdraco)
- Various test code cleanups [\#725](https://github.com/python-kasa/python-kasa/pull/725 ) (@rytilahti)
- Unignore F401 for tests [\#724](https://github.com/python-kasa/python-kasa/pull/724 ) (@rytilahti)
2024-02-02 20:18:46 +01:00
Teemu R
55525fc58b
Unignore F401 for tests ( #724 )
...
* Unignore F401 for tests
* Fix linting
2024-01-30 00:15:58 +01:00
Teemu R
1e26434205
Prepare 0.6.2 ( #728 )
...
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.6.1...0.6.2 )
Release highlights:
* Support for tapo power strips (P300)
* Performance improvements and bug fixes
**Implemented enhancements:**
- Implement alias set for tapodevice [\#721](https://github.com/python-kasa/python-kasa/pull/721 ) (@rytilahti)
- Initial support for tapos with child devices [\#720](https://github.com/python-kasa/python-kasa/pull/720 ) (@rytilahti)
- Avoid rebuilding urls for every request [\#715](https://github.com/python-kasa/python-kasa/pull/715 ) (@bdraco)
- Reduce the number of times creating the cipher in klap [\#712](https://github.com/python-kasa/python-kasa/pull/712 ) (@bdraco)
- Use hashlib for klap [\#711](https://github.com/python-kasa/python-kasa/pull/711 ) (@bdraco)
- Enable batching of multiple requests [\#662](https://github.com/python-kasa/python-kasa/pull/662 ) (@sdb9696)
**Merged pull requests:**
- Update L510E\(US\) fixture with mac prefix [\#722](https://github.com/python-kasa/python-kasa/pull/722 ) (@sdb9696)
- Add P300 fixture [\#717](https://github.com/python-kasa/python-kasa/pull/717 ) (@rytilahti)
- Use hashlib in place of hashes.Hash [\#714](https://github.com/python-kasa/python-kasa/pull/714 ) (@bdraco)
- Switch from TPLinkSmartHomeProtocol to IotProtocol/XorTransport [\#710](https://github.com/python-kasa/python-kasa/pull/710 ) (@sdb9696)
- Add concrete XorTransport class with full implementation [\#646](https://github.com/python-kasa/python-kasa/pull/646 ) (@sdb9696)
2024-01-29 19:58:30 +01:00
Steven B
9c0a831027
Enable batching of multiple requests ( #662 )
...
* Enable batching of multiple requests
* Test for debug enabled outside of loop
* tweaks
* tweaks
* tweaks
* Update kasa/smartprotocol.py
Co-authored-by: Teemu R. <tpr@iki.fi>
* revert
* Update pyproject.toml
* Add batch test and make batch_size configurable
---------
Co-authored-by: J. Nick Koston <nick@koston.org>
Co-authored-by: Teemu R. <tpr@iki.fi>
2024-01-29 11:55:54 +01:00
Teemu R
c01c3c679c
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 09:32:45 +01:00
J. Nick Koston
24c645746e
Refactor aestransport to use a state enum ( #691 )
2024-01-23 22:50:25 -10:00
Teemu R
b784d891ff
Release 0.6.0.1 ( #666 )
...
A patch release to improve the protocol handling.
2024-01-21 01:55:24 +01:00
Teemu R
0647adaba0
Release 0.6.0 ( #653 )
...
This major brings major changes to the library by adding support for devices that require authentication for communications, all of this being possible thanks to the great work by @sdb9696!
This release adds support to a large range of previously unsupported devices, including:
* Newer kasa-branded devices, including Matter-enabled devices like KP125M
* Newer hardware/firmware versions on some models, like EP25, that suddenly changed the used protocol
* Tapo-branded devices like plugs (P110), light bulbs (KL530), LED strips (L900, L920), and wall switches (KS205, KS225)
* UK variant of HS110, which was the first device using the new protocol
If your device that is not currently listed as supported is working, please consider contributing a test fixture file.
Special thanks goes to @SimonWilkinson who created the initial PR for the new communication protocol!
2024-01-19 01:36:57 +01:00
Steven B
642e9a1f5b
Migrate http client to use aiohttp instead of httpx ( #643 )
2024-01-18 07:32:26 -10:00
Steven B
4623434eb4
Fix broken docs due to applehelp dependency ( #641 )
2024-01-18 09:21:52 +01:00
Teemu R
816053fc6e
Release 0.6.0.dev2 ( #633 )
2024-01-11 16:29:15 +01:00
Teemu R
510aea7207
Release 0.6.0.dev1 ( #624 )
2024-01-05 02:34:56 +01:00
Teemu R
1bb930b096
Ship CHANGELOG only in sdist ( #610 )
...
Otherwise, the file would be extracted in the main site-packages which is rather unexpected..
Uninstalling python-kasa-0.6.0.dev0:
Would remove:
/home/tpr/.virtualenvs/default/bin/kasa
/home/tpr/.virtualenvs/default/lib/python3.11/site-packages/CHANGELOG.md
/home/tpr/.virtualenvs/default/lib/python3.11/site-packages/kasa/*
/home/tpr/.virtualenvs/default/lib/python3.11/site-packages/python_kasa-0.6.0.dev0.dist-info/*
Proceed (Y/n)?
2024-01-04 19:14:14 +01:00
Teemu R
047a84b60a
Release 0.6.0.dev0 ( #609 )
2024-01-04 00:28:29 +01:00
sdb9696
30f217b8ab
Add klap protocol ( #509 )
...
* Add support for the new encryption protocol
This adds support for the new TP-Link discovery and encryption
protocols. It is currently incomplete - only devices without
username and password are current supported, and single device
discovery is not implemented.
Discovery should find both old and new devices. When accessing
a device by IP the --klap option can be specified on the command
line to active the new connection protocol.
sdb9696 - This commit also contains 16 later commits from Simon Wilkinson
squashed into the original
* Update klap changes 2023 to fix encryption, deal with kasa credential switching and work with new discovery changes
* Move from aiohttp to httpx
* Changes following review comments
---------
Co-authored-by: Simon Wilkinson <simon@sxw.org.uk>
2023-11-20 14:17:10 +01:00
Teemu R
805e4b8588
Release 0.5.4 ( #536 )
...
The highlights of this maintenance release:
* Support to the alternative discovery protocol and foundational work to support other communication protocols, thanks to @sdb9696.
* Reliability improvements by avoiding overflowing device buffers, thanks to @cobryan05.
* Optimizations for downstream device accesses, thanks to @bdraco.
* Support for both pydantic v1 and v2.
2023-10-30 00:57:29 +01:00
Teemu R
c431dbb832
Use ruff and ruff format ( #534 )
...
Replaces the previously used linting and code formatting tools with ruff.
2023-10-29 23:15:42 +01:00
Teemu R
53021f07fe
Add support for pydantic v2 using v1 shims ( #504 )
2023-08-28 17:48:49 +02:00
sdb9696
ceb42e5583
Update pyproject.toml isort profile, dev group header and poetry.lock ( #487 )
2023-08-03 13:19:31 +02:00
Teemu R
e98475a1b2
Release 0.5.3 ( #485 )
...
This release adds support for defining the device port and introduces dependency on async-timeout which improves timeout handling.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.2...0.5.3 )
2023-07-23 15:49:27 +02:00
J. Nick Koston
117a7ac64a
Replace asyncio.wait_for with async-timeout ( #480 )
...
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
2023-07-21 11:50:54 +02:00
Teemu R
6199521269
Release 0.5.2 ( #475 )
...
Besides some small improvements, this release:
* Adds optional dependency for for `orjson` and `kasa-crypt` to speed-up protocol handling by an order of magnitude.
* Drops Python 3.7 support as it is no longer maintained.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.5.1...0.5.2 )
2023-07-02 16:26:29 +02:00
J. Nick Koston
afd54d11d3
Add optional kasa-crypt dependency for speedups ( #464 )
...
If installed, use the optimized protocol encryption procedures implemented as a C extension by kasa-crypt (https://pypi.org/project/kasa-crypt/
2023-06-30 02:43:01 +02:00
J. Nick Koston
2d42ca301f
Use orjson when already installed or with speedups extra ( #466 )
...
* Use orjson when already installed
* Use orjson when already installed
* fix patch target
* fix patch target
* add speedups extra
* Update README.md
* Update README.md
2023-06-18 01:03:04 +02:00
Teemu R
39310f3f02
Remove importlib-metadata dependency ( #457 )
...
This is no longer needed, as python 3.8 has native importlib.metadata
2023-05-17 20:33:02 +02:00
Teemu R
ce5821a35f
Drop python 3.7 support ( #455 )
...
* Drop python 3.7 support
* CI: drop 3.7 and add 3.11
* Remove skipifs that were required for <3.8
* Use pypy-3.8 for CI, re-enable pypy for windows to see if it works now
* Bump readthedocs to use py3.8
* Remove py3.7 failure comment
2023-05-17 20:03:08 +02:00
Teemu R
6be2f387f0
Prepare 0.5.1 ( #434 )
2023-02-18 22:40:42 +01:00
Teemu R
02c857d472
Some release preparation janitoring ( #432 )
...
* Use myst-parser for readme.md doc injection
* Relax version pins
* Define bug tracker and doc links for pypi
* Update pre-commit hooks
2023-02-18 22:09:35 +01:00
Julian Davis
866c8d6db5
Fix pytest warnings about asyncio ( #397 )
...
Turn on ayncio auto mode for pytest and remove the global async marking flag
2022-11-13 23:34:47 +01:00
Teemu R
51fb908d8b
Prepare 0.5.0 ( #342 )
...
* Prepare 0.5.0
* Add note about how to include release summary to changelog
2022-04-25 00:13:24 +02:00
Teemu R
d848117384
Various documentation updates ( #333 )
...
* Add a note about socket sharing
* Show inherited members for apidocs
* Remove outdated note of emeters not being supported on smartstrips
* Describe emeter and usage modules, add note about NTP for time sync
* Describe lib design and modules
* Bump sphinx version, ignore d001 (line-length) for doc8
* demote energy & usage to 3rd level, promote api for 2nd
2022-04-06 01:13:27 +02:00
Teemu Rytilahti
68038c93df
Bump version to 0.5.0.dev0
2022-04-05 19:27:46 +02:00
Teemu R
3926f3224f
Add module support & query their information during update cycle ( #243 )
...
* Add module support & modularize existing query
This creates a base to expose more features on the supported devices.
At the moment, the most visible change is that each update cycle gets information from all available modules:
* Basic system info
* Cloud (new)
* Countdown (new)
* Antitheft (new)
* Schedule (new)
* Time (existing, implements the time/timezone handling)
* Emeter (existing, partially separated from smartdevice)
* Fix imports
* Fix linting
* Use device host instead of alias in module repr
* Add property to list available modules, print them in cli state report
* usage: fix the get_realtime query
* separate usage from schedule to avoid multi-inheritance
* Fix module querying
* Add is_supported property to modules
2022-04-05 19:27:46 +02:00
Teemu R
7b9e3aae8a
Release 0.4.3 ( #332 )
...
This release fixes an issue where the bulb state on led strips was not restored properly when turned back on.
[Full Changelog](https://github.com/python-kasa/python-kasa/compare/0.4.2...0.4.3 )
**Fixed bugs:**
- Divide by zero when HS300 powerstrip is discovered [\#292](https://github.com/python-kasa/python-kasa/issues/292 )
- Ensure bulb state is restored when turning back on [\#330](https://github.com/python-kasa/python-kasa/pull/330 ) (@bdraco)
**Closed issues:**
- KL420L5 controls [\#327](https://github.com/python-kasa/python-kasa/issues/327 )
**Merged pull requests:**
- Update pre-commit hooks to fix black in CI [\#331](https://github.com/python-kasa/python-kasa/pull/331 ) (@rytilahti)
- Fix test\_deprecated\_type stalling [\#325](https://github.com/python-kasa/python-kasa/pull/325 ) (@bdraco)
2022-04-05 19:02:00 +02:00