Files
nix-config/packages/python/python-roborock/default.nix
2025-12-26 11:45:05 -06:00

67 lines
1.4 KiB
Nix

{
lib,
stdenv,
fetchFromGitHub,
python3Packages,
...
}:
python3Packages.buildPythonPackage rec {
pname = "python-roborock";
version = "3.21.1";
pyproject = true;
disabled = python3Packages.pythonOlder "3.11";
src = fetchFromGitHub {
owner = "humbertogontijo";
repo = "python-roborock";
tag = "v${version}";
hash = "sha256-8z8qK77F8SWxV+/GGW+B30LJdfRdja1nnFwXX0bvRao=";
};
pythonRelaxDeps = [ "pycryptodome" ];
build-system = with python3Packages; [
poetry-core
hatchling
];
dependencies =
with python3Packages;
[
aiohttp
aiomqtt
async-timeout
click
click-shell
construct
dacite
paho-mqtt
pycryptodome
pyrate-limiter
vacuum-map-parser-roborock
pyshark
]
++ lib.optionals stdenv.hostPlatform.isDarwin [ pycryptodomex ];
nativeCheckInputs = with python3Packages; [
aioresponses
freezegun
pytest-asyncio
pytestCheckHook
syrupy
];
pythonImportsCheck = [ "roborock" ];
meta = with lib; {
description = "Python library & console tool for controlling Roborock vacuum";
homepage = "https://github.com/humbertogontijo/python-roborock";
changelog = "https://github.com/humbertogontijo/python-roborock/blob/${src.tag}/CHANGELOG.md";
license = licenses.gpl3Only;
maintainers = with maintainers; [ fab ];
mainProgram = "roborock";
};
}