summary refs log tree commit diff
diff options
context:
space:
mode:
-rw-r--r--pkgs/development/python-modules/pysqueezebox/default.nix27
-rw-r--r--pkgs/development/python-modules/yeelight/default.nix20
-rw-r--r--pkgs/servers/home-assistant/component-packages.nix4
-rw-r--r--pkgs/top-level/python-packages.nix4
4 files changed, 53 insertions, 2 deletions
diff --git a/pkgs/development/python-modules/pysqueezebox/default.nix b/pkgs/development/python-modules/pysqueezebox/default.nix
new file mode 100644
index 00000000000..33149e99e92
--- /dev/null
+++ b/pkgs/development/python-modules/pysqueezebox/default.nix
@@ -0,0 +1,27 @@
+{ stdenv, fetchPypi, buildPythonPackage, pythonOlder, aiohttp }:
+
+buildPythonPackage rec {
+  pname = "pysqueezebox";
+  version = "0.4.0";
+  disabled = pythonOlder "3.6";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "02d73e98314a63a38c314d40942a0b098fb59d2f08ac39b2627cfa73f785cf0d";
+  };
+
+  propagatedBuildInputs = [
+    aiohttp
+  ];
+
+  # No tests in the Pypi distribution
+  doCheck = false;
+  pythonImportsCheck = [ "pysqueezebox" ];
+
+  meta = with stdenv.lib; {
+    description = "Asynchronous library to control Logitech Media Server";
+    homepage = "https://github.com/rajlaud/pysqueezebox";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nyanloutre ];
+  };
+}
diff --git a/pkgs/development/python-modules/yeelight/default.nix b/pkgs/development/python-modules/yeelight/default.nix
new file mode 100644
index 00000000000..4cc7056da19
--- /dev/null
+++ b/pkgs/development/python-modules/yeelight/default.nix
@@ -0,0 +1,20 @@
+{ stdenv, fetchPypi, buildPythonPackage, future, enum-compat }:
+
+buildPythonPackage rec {
+  pname = "yeelight";
+  version = "0.5.3";
+
+  src = fetchPypi {
+    inherit pname version;
+    sha256 = "8d49846f0cede1e312cbcd1d0e44c42073910bbcadb31b87ce2a7d24dea3af38";
+  };
+
+  propagatedBuildInputs = [ future enum-compat ];
+
+  meta = with stdenv.lib; {
+    description = "A Python library for controlling YeeLight RGB bulbs";
+    homepage = "https://gitlab.com/stavros/python-yeelight/";
+    license = licenses.asl20;
+    maintainers = with maintainers; [ nyanloutre ];
+  };
+}
diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix
index 4a6989989ae..3342c488c93 100644
--- a/pkgs/servers/home-assistant/component-packages.nix
+++ b/pkgs/servers/home-assistant/component-packages.nix
@@ -755,7 +755,7 @@
     "spotcrime" = ps: with ps; [ ]; # missing inputs: spotcrime
     "spotify" = ps: with ps; [ aiohttp-cors spotipy ];
     "sql" = ps: with ps; [ sqlalchemy ];
-    "squeezebox" = ps: with ps; [ ]; # missing inputs: pysqueezebox
+    "squeezebox" = ps: with ps; [ pysqueezebox ];
     "ssdp" = ps: with ps; [ aiohttp-cors defusedxml netdisco zeroconf ];
     "starline" = ps: with ps; [ ]; # missing inputs: starline
     "starlingbank" = ps: with ps; [ ]; # missing inputs: starlingbank
@@ -931,7 +931,7 @@
     "yamaha_musiccast" = ps: with ps; [ ]; # missing inputs: pymusiccast
     "yandex_transport" = ps: with ps; [ ]; # missing inputs: aioymaps
     "yandextts" = ps: with ps; [ ];
-    "yeelight" = ps: with ps; [ aiohttp-cors netdisco zeroconf ]; # missing inputs: yeelight
+    "yeelight" = ps: with ps; [ aiohttp-cors netdisco yeelight zeroconf ];
     "yeelightsunflower" = ps: with ps; [ ]; # missing inputs: yeelightsunflower
     "yessssms" = ps: with ps; [ ]; # missing inputs: YesssSMS
     "yi" = ps: with ps; [ aioftp ha-ffmpeg ];
diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix
index d2717c8a75c..e17ccce7f27 100644
--- a/pkgs/top-level/python-packages.nix
+++ b/pkgs/top-level/python-packages.nix
@@ -5360,6 +5360,8 @@ in {
 
   pysqlite = callPackage ../development/python-modules/pysqlite { };
 
+  pysqueezebox = callPackage ../development/python-modules/pysqueezebox { };
+
   pysrim = callPackage ../development/python-modules/pysrim { };
 
   pysrt = callPackage ../development/python-modules/pysrt { };
@@ -7545,6 +7547,8 @@ in {
 
   ydiff = callPackage ../development/python-modules/ydiff { };
 
+  yeelight = callPackage ../development/python-modules/yeelight { };
+
   yenc = callPackage ../development/python-modules/yenc { };
 
   yfinance = callPackage ../development/python-modules/yfinance { };