2025-07-21 16:17:10 +00:00

66 lines
1.2 KiB
Nix

{
lib,
awesomeversion,
buildPythonPackage,
click,
crcmod,
fetchFromGitHub,
getmac,
intelhex,
paho-mqtt,
pyserial-asyncio-fast,
pyserial,
pytest-sugar,
pytest-timeout,
pytestCheckHook,
setuptools,
voluptuous,
}:
buildPythonPackage rec {
pname = "pymysensors";
version = "0.26.0";
pyproject = true;
src = fetchFromGitHub {
owner = "theolind";
repo = "pymysensors";
tag = version;
hash = "sha256-iND3MEKEruqCdsqJJExm+SA4Z2e87I45fsI4wbnIPRc=";
};
build-system = [ setuptools ];
dependencies = [
awesomeversion
click
crcmod
getmac
intelhex
pyserial
pyserial-asyncio-fast
voluptuous
];
optional-dependencies = {
mqtt-client = [ paho-mqtt ];
};
nativeCheckInputs = [
pytest-sugar
pytest-timeout
pytestCheckHook
];
pythonImportsCheck = [ "mysensors" ];
meta = with lib; {
description = "Python API for talking to a MySensors gateway";
homepage = "https://github.com/theolind/pymysensors";
changelog = "https://github.com/theolind/pymysensors/releases/tag/${src.tag}";
license = licenses.mit;
maintainers = with maintainers; [ fab ];
mainProgram = "pymysensors";
};
}