{ lib, namespace, pkgs, python3Packages, ... }: let inherit (lib.trivial) importJSON; inherit (lib.${namespace}) selectVariant mkAllSources; versionSpec = importJSON ./version.json; selected = selectVariant versionSpec null null; sources = mkAllSources pkgs selected; src-meta = selected.sources.pyvesync; version = selected.variables.version; in python3Packages.buildPythonPackage { pname = "pyvesync"; inherit version; pyproject = true; disabled = python3Packages.pythonOlder "3.11"; src = sources.pyvesync; build-system = with python3Packages; [ setuptools ]; dependencies = with python3Packages; [ aiohttp mashumaro python-dateutil ]; # pythonImportsCheck = [ "pyvesync" ]; meta = with lib; { description = "Python library to manage Etekcity Devices and Levoit Air Purifier"; homepage = "https://github.com/webdjoe/pyvesync"; changelog = "https://github.com/webdjoe/pyvesync/releases/tag/${src-meta.tag}"; license = with licenses; [ mit ]; maintainers = with maintainers; [ fab ]; }; }