diff --git a/pkgs/development/python-modules/pytest-httpserver/default.nix b/pkgs/development/python-modules/pytest-httpserver/default.nix new file mode 100644 index 00000000000..143d90e2f46 --- /dev/null +++ b/pkgs/development/python-modules/pytest-httpserver/default.nix @@ -0,0 +1,46 @@ +{ lib +, buildPythonPackage +, fetchPypi +, fetchpatch +, pytest-asyncio +, pytest-cov +, pytestCheckHook +, requests +, werkzeug +}: + +buildPythonPackage rec { + pname = "pytest-httpserver"; + version = "0.3.6"; + + src = fetchPypi { + pname = "pytest_httpserver"; + inherit version; + sha256 = "1wdhbzv6x2v4qsqwgsc5660c4lxplh9b61vfj1zqhbhs36y96vl9"; + }; + + patches = [ + (fetchpatch { + name = "remove-pytest-runner.patch"; + url = "https://github.com/csernazs/pytest-httpserver/commit/c9752018bc2f13d141dd52c92df75c19ea388836.patch"; + sha256 = "0b76ywzl2gwddbqqlb662mfv5j42l88l5hffm7jbxzvqbz94mx3k"; + }) + ]; + + propagatedBuildInputs = [ werkzeug ]; + + checkInputs = [ + pytest-cov + pytestCheckHook + requests + ]; + + pythonImportsCheck = [ "pytest_httpserver" ]; + + meta = with lib; { + description = "HTTP server for pytest to test HTTP clients"; + homepage = "https://www.github.com/csernazs/pytest-httpserver"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/development/python-modules/solax/default.nix b/pkgs/development/python-modules/solax/default.nix new file mode 100644 index 00000000000..bce0bc74f91 --- /dev/null +++ b/pkgs/development/python-modules/solax/default.nix @@ -0,0 +1,41 @@ +{ lib +, aiohttp +, buildPythonPackage +, fetchPypi +, pytest-asyncio +, pytest-cov +, pytest-httpserver +, pytestCheckHook +, setuptools-scm +, voluptuous +}: + +buildPythonPackage rec { + pname = "solax"; + version = "0.2.5"; + + src = fetchPypi { + inherit pname version; + sha256 = "0h7q6y2cdkj9dqxw0k7pgz7a7vbpq1qw50pmy9rajphhv2600cbc"; + }; + + nativeBuildInputs = [ setuptools-scm ]; + + propagatedBuildInputs = [ aiohttp voluptuous ]; + + checkInputs = [ + pytest-asyncio + pytest-cov + pytest-httpserver + pytestCheckHook + ]; + + pythonImportsCheck = [ "solax" ]; + + meta = with lib; { + description = "Python wrapper for the Solax Inverter API"; + homepage = "https://github.com/squishykid/solax"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 717ea918453..b6c3a281f2e 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -761,7 +761,7 @@ "solaredge" = ps: with ps; [ stringcase ]; # missing inputs: solaredge "solaredge_local" = ps: with ps; [ ]; # missing inputs: solaredge-local "solarlog" = ps: with ps; [ ]; # missing inputs: sunwatcher - "solax" = ps: with ps; [ ]; # missing inputs: solax + "solax" = ps: with ps; [ solax ]; "soma" = ps: with ps; [ pysoma ]; "somfy" = ps: with ps; [ aiohttp-cors ]; # missing inputs: pymfy "somfy_mylink" = ps: with ps; [ ]; # missing inputs: somfy-mylink-synergy diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 65546feb586..68b10a9547d 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -6101,6 +6101,8 @@ in { pytest-httpbin = callPackage ../development/python-modules/pytest-httpbin { }; + pytest-httpserver = callPackage ../development/python-modules/pytest-httpserver { }; + pytest-instafail = callPackage ../development/python-modules/pytest-instafail { }; pytest-isort = callPackage ../development/python-modules/pytest-isort { }; @@ -7268,6 +7270,8 @@ in { softlayer = callPackage ../development/python-modules/softlayer { }; + solax = callPackage ../development/python-modules/solax { }; + solo-python = disabledIf (!pythonAtLeast "3.6") (callPackage ../development/python-modules/solo-python { }); somajo = callPackage ../development/python-modules/somajo { };