diff --git a/pkgs/development/python-modules/bthomehub5-devicelist/default.nix b/pkgs/development/python-modules/bthomehub5-devicelist/default.nix new file mode 100644 index 000000000000..2c4b9562c16b --- /dev/null +++ b/pkgs/development/python-modules/bthomehub5-devicelist/default.nix @@ -0,0 +1,40 @@ +{ + lib, + buildPythonPackage, + fetchPypi, + setuptools, + html-table-parser-python3, + requests, +}: + +buildPythonPackage rec { + pname = "bthomehub5-devicelist"; + version = "0.1.1"; + pyproject = true; + + src = fetchPypi { + inherit pname version; + hash = "sha256-bWMwLbFGdMRcZLIVbOptWMOOFzVBm2KxQ9jwqvAU6zA="; + }; + + pythonRelaxDeps = [ "html-table-parser-python3" ]; + + build-system = [ setuptools ]; + + dependencies = [ + html-table-parser-python3 + requests + ]; + + # No tests in the package + doCheck = false; + + pythonImportsCheck = [ "bthomehub5_devicelist" ]; + + meta = { + description = "Returns a list of devices currently connected to a BT Home Hub 5"; + homepage = "https://github.com/ahobsonsayers/bthomehub5-devicelist"; + license = lib.licenses.bsd2; + maintainers = with lib.maintainers; [ pyrox0 ]; + }; +} diff --git a/pkgs/development/python-modules/html-table-parser-python3/default.nix b/pkgs/development/python-modules/html-table-parser-python3/default.nix new file mode 100644 index 000000000000..c4f3f8fc46aa --- /dev/null +++ b/pkgs/development/python-modules/html-table-parser-python3/default.nix @@ -0,0 +1,33 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + poetry-core, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "html-table-parser-python3"; + version = "0.3.1"; + pyproject = true; + + src = fetchFromGitHub { + owner = "schmijos"; + repo = "html-table-parser-python3"; + rev = "v${version}"; + hash = "sha256-okYl0T12wVld7GVbFQH2hgEVKXSScipJN/vYaiRVdGY="; + }; + + build-system = [ poetry-core ]; + + nativeCheckInputs = [ pytestCheckHook ]; + + pythonImportsCheck = [ "html_table_parser" ]; + + meta = { + description = "Small and simple HTML table parser not requiring any external dependency."; + homepage = "https://github.com/schmijos/html-table-parser-python3"; + license = lib.licenses.agpl3Only; + maintainers = with lib.maintainers; [ pyrox0 ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 428025013e04..1409778d625e 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -556,7 +556,8 @@ "bswitch" = ps: with ps; [ ]; "bt_home_hub_5" = ps: with ps; [ - ]; # missing inputs: bthomehub5-devicelist + bthomehub5-devicelist + ]; "bt_smarthub" = ps: with ps; [ btsmarthub-devicelist ]; diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index fdaa7893edba..2d0631987b05 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -1849,6 +1849,8 @@ self: super: with self; { bthome-ble = callPackage ../development/python-modules/bthome-ble { }; + bthomehub5-devicelist = callPackage ../development/python-modules/bthomehub5-devicelist { }; + bt-proximity = callPackage ../development/python-modules/bt-proximity { }; btrees = callPackage ../development/python-modules/btrees { }; @@ -5642,6 +5644,8 @@ self: super: with self; { html-sanitizer = callPackage ../development/python-modules/html-sanitizer { }; + html-table-parser-python3 = callPackage ../development/python-modules/html-table-parser-python3 { }; + html-tag-names = callPackage ../development/python-modules/html-tag-names { }; html-text = callPackage ../development/python-modules/html-text { };