diff --git a/pkgs/development/python-modules/beewi-smartclim/default.nix b/pkgs/development/python-modules/beewi-smartclim/default.nix new file mode 100644 index 000000000000..083894116408 --- /dev/null +++ b/pkgs/development/python-modules/beewi-smartclim/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + btlewrap, + bluepy, +}: + +buildPythonPackage rec { + pname = "beewi-smartclim"; + version = "0.0.10"; + pyproject = true; + + src = fetchFromGitHub { + owner = "alemuro"; + repo = "beewi_smartclim"; + tag = version; + hash = "sha256-xdr545Q4DFhup2BCMZZ1WYWgt97qT6oipIHWcsp90+A="; + }; + + build-system = [ setuptools ]; + + dependencies = [ + btlewrap + bluepy + ]; + + # No tests available + doCheck = false; + + pythonImportsCheck = [ "beewi_smartclim" ]; + + meta = { + description = "Library to read data from BeeWi SmartClim sensor using Bluetooth LE"; + homepage = "https://github.com/alemuro/beewi_smartclim"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/development/python-modules/btlewrap/default.nix b/pkgs/development/python-modules/btlewrap/default.nix new file mode 100644 index 000000000000..b0d91e996dfe --- /dev/null +++ b/pkgs/development/python-modules/btlewrap/default.nix @@ -0,0 +1,47 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools, + bluepy, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "btlewrap"; + version = "0.1.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "ChristianKuehnel"; + repo = "btlewrap"; + tag = "v${version}"; + hash = "sha256-cjPj+Uw/L9kq/BbxlnOCJtaBcnf9VOJKN2NJ3cmKe6U="; + }; + + build-system = [ setuptools ]; + + optional-dependencies = { + bluepy = [ bluepy ]; + }; + + nativeCheckInputs = [ pytestCheckHook ]; + + disabledTestPaths = [ + # Require optional dependencies or hardware + "test/unit_tests/test_bluepy.py" + "test/unit_tests/test_pygatt.py" + "test/integration_tests/" + "test/unit_tests/test_available_backends.py" + ]; + + pythonImportsCheck = [ "btlewrap" ]; + + meta = { + description = "Wrapper around different bluetooth low energy backends"; + homepage = "https://github.com/ChristianKuehnel/btlewrap"; + changelog = "https://github.com/ChristianKuehnel/btlewrap/releases/tag/v${version}"; + license = lib.licenses.mit; + maintainers = [ lib.maintainers.jamiemagee ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index d5891431b83f..216472d10876 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -562,7 +562,8 @@ ]; "beewi_smartclim" = ps: with ps; [ - ]; # missing inputs: beewi-smartclim + beewi-smartclim + ]; "bge" = ps: with ps; [ ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index e98772bf19db..3ab625e0ebb8 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1803,6 +1803,8 @@ self: super: with self; { beetcamp = callPackage ../development/python-modules/beetcamp { }; + beewi-smartclim = callPackage ../development/python-modules/beewi-smartclim { }; + before-after = callPackage ../development/python-modules/before-after { }; behave = callPackage ../development/python-modules/behave { }; @@ -2168,6 +2170,8 @@ self: super: with self; { bthomehub5-devicelist = callPackage ../development/python-modules/bthomehub5-devicelist { }; + btlewrap = callPackage ../development/python-modules/btlewrap { }; + btrees = callPackage ../development/python-modules/btrees { }; btrfs = callPackage ../development/python-modules/btrfs { };