diff --git a/pkgs/development/python-modules/enocean-async/default.nix b/pkgs/development/python-modules/enocean-async/default.nix new file mode 100644 index 000000000000..a92f9dd4d86f --- /dev/null +++ b/pkgs/development/python-modules/enocean-async/default.nix @@ -0,0 +1,51 @@ +{ + buildPythonPackage, + fetchFromGitHub, + fetchpatch, + lib, + pyserial-asyncio-fast, + pytest-asyncio, + pytestCheckHook, + pythonOlder, + setuptools, +}: + +buildPythonPackage (finalAttrs: { + pname = "enocean-async"; + version = "0.4.2"; + pyproject = true; + + disabled = pythonOlder "3.14"; + + src = fetchFromGitHub { + owner = "henningkerstan"; + repo = "enocean-async"; + tag = "v${finalAttrs.version}"; + hash = "sha256-VBBZwNPBgJ9rXUaAVtRzgdebeDtfJCt7R1zOu3Eom80="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + pyserial-asyncio-fast + ]; + + pythonImportsCheck = [ "enocean_async" ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + disabledTestPaths = [ + # tests have broken imports, fixed in 0.12.4 + "tests/test_eep.py" + ]; + + meta = { + changelog = "https://github.com/henningkerstan/enocean-async/blob/${finalAttrs.src.tag}/CHANGELOG.md"; + description = "Async implementation of the EnOcean Serial Protocol Version 3"; + license = lib.licenses.asl20; + maintainers = [ lib.maintainers.dotlambda ]; + }; +}) diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index d104d96fd7b2..8d357716a026 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5014,6 +5014,8 @@ self: super: with self; { enocean = callPackage ../development/python-modules/enocean { }; + enocean-async = callPackage ../development/python-modules/enocean-async { }; + enochecker-core = callPackage ../development/python-modules/enochecker-core { }; enrich = callPackage ../development/python-modules/enrich { };