45 lines
1.0 KiB
Nix
45 lines
1.0 KiB
Nix
{
|
|
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 ];
|
|
};
|
|
}
|