{ lib , aiohttp , anyio , async-timeout , asyncclick , buildPythonPackage , cryptography , fetchFromGitHub , kasa-crypt , orjson , poetry-core , pydantic , pytest-asyncio , pytest-mock , pytestCheckHook , pythonOlder , voluptuous }: buildPythonPackage rec { pname = "python-kasa"; version = "0.6.2.1"; pyproject = true; disabled = pythonOlder "3.8"; src = fetchFromGitHub { owner = "python-kasa"; repo = "python-kasa"; rev = "refs/tags/${version}"; hash = "sha256-iCqJY3qkA3ZVXTCfxvQoaZsaqGui8PwKGAmLXKZgLJs="; }; nativeBuildInputs = [ poetry-core ]; propagatedBuildInputs = [ aiohttp anyio async-timeout asyncclick cryptography pydantic ]; nativeCheckInputs = [ pytest-asyncio pytest-mock pytestCheckHook voluptuous ]; passthru.optional-dependencies = { speedups = [ kasa-crypt orjson ]; }; pytestFlagsArray = [ "--asyncio-mode=auto" ]; disabledTestPaths = [ # Skip the examples tests "kasa/tests/test_readme_examples.py" ]; pythonImportsCheck = [ "kasa" ]; meta = with lib; { description = "Python API for TP-Link Kasa Smarthome products"; mainProgram = "kasa"; homepage = "https://python-kasa.readthedocs.io/"; changelog = "https://github.com/python-kasa/python-kasa/blob/${version}/CHANGELOG.md"; license = licenses.gpl3Plus; maintainers = with maintainers; [ fab ]; }; }