From f715d610aef66278a0365ce548ef8ff1e78d1a97 Mon Sep 17 00:00:00 2001 From: Nikolay Korotkiy Date: Tue, 5 Aug 2025 12:40:53 +0400 Subject: [PATCH] python3Packages.python-dali: init at 0.11 --- .../python-modules/python-dali/default.nix | 58 +++++++++++++++++++ pkgs/top-level/python-packages.nix | 2 + 2 files changed, 60 insertions(+) create mode 100644 pkgs/development/python-modules/python-dali/default.nix diff --git a/pkgs/development/python-modules/python-dali/default.nix b/pkgs/development/python-modules/python-dali/default.nix new file mode 100644 index 000000000000..1ac761317224 --- /dev/null +++ b/pkgs/development/python-modules/python-dali/default.nix @@ -0,0 +1,58 @@ +{ + lib, + fetchFromGitHub, + fetchpatch, + buildPythonPackage, + setuptools, + pyusb, + pymodbus, + pyserial-asyncio, + pytestCheckHook, + pytest-asyncio, +}: + +buildPythonPackage rec { + pname = "python-dali"; + version = "0.11"; + pyproject = true; + + src = fetchFromGitHub { + owner = "sde1000"; + repo = "python-dali"; + tag = "v${version}"; + hash = "sha256-F/D0wyMVCUaL2SCdPKvnGS22tSgDnvUh6rs2ToKON2c="; + }; + + patches = [ + # pymodbus 3.x support + (fetchpatch { + url = "https://github.com/sde1000/python-dali/commit/fe85b8fd9a746d16a03de8fd8c643ef4254d1ccd.patch"; + hash = "sha256-bcfr948g7M6m3AQVArcYw9a22jA5eMim+J58iKci55s="; + }) + ]; + + build-system = [ setuptools ]; + + optional-dependencies = { + driver-unipi = [ + pyusb + pymodbus + ]; + driver-serial = [ pyserial-asyncio ]; + }; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ] + ++ lib.flatten (lib.attrValues optional-dependencies); + + pythonImportsCheck = [ "dali" ]; + + meta = { + description = "IEC 62386 (DALI) lighting control library"; + homepage = "https://github.com/sde1000/python-dali"; + license = lib.licenses.lgpl3Plus; + maintainers = with lib.maintainers; [ sikmir ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 8d1b10cd1642..994f933b2d15 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -14481,6 +14481,8 @@ self: super: with self; { python-daemon = callPackage ../development/python-modules/python-daemon { }; + python-dali = callPackage ../development/python-modules/python-dali { }; + python-datemath = callPackage ../development/python-modules/python-datemath { }; python-dateutil = callPackage ../development/python-modules/python-dateutil { };