diff --git a/pkgs/development/python-modules/anova-wifi/default.nix b/pkgs/development/python-modules/anova-wifi/default.nix new file mode 100644 index 000000000000..b6f885daf619 --- /dev/null +++ b/pkgs/development/python-modules/anova-wifi/default.nix @@ -0,0 +1,59 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pythonOlder +, poetry-core +, aiohttp +, sensor-state-data +, pytestCheckHook +, pytest-asyncio +}: + +buildPythonPackage rec { + pname = "anova-wifi"; + version = "0.10.3"; + pyproject = true; + + disabled = pythonOlder "3.10"; + + src = fetchFromGitHub { + owner = "Lash-L"; + repo = "anova_wifi"; + rev = "refs/tags/v${version}"; + hash = "sha256-tCmvp29KSCkc+g0w0odcB7vGjtDx6evac7XsHEF0syM="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace "--cov=anova_wifi --cov-report=term-missing:skip-covered" "" + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + aiohttp + sensor-state-data + ]; + + nativeCheckInputs = [ + pytestCheckHook + pytest-asyncio + ]; + + disabledTests = [ + # Makes network calls + "test_async_data_1" + ]; + + pythonImportsCheck = [ "anova_wifi" ]; + + meta = with lib; { + description = "A Python package for reading anova sous vide api data"; + homepage = "https://github.com/Lash-L/anova_wifi"; + changelog = "https://github.com/Lash-L/anova_wifi/releases/tag/v${version}"; + maintainers = with maintainers; [ jamiemagee ]; + license = licenses.mit; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 35ca0d3fd5fe..4bc7c58c1928 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -554,6 +554,8 @@ self: super: with self; { anonip = callPackage ../development/python-modules/anonip { }; + anova-wifi = callPackage ../development/python-modules/anova-wifi { }; + ansi2html = callPackage ../development/python-modules/ansi2html { }; ansi2image = callPackage ../development/python-modules/ansi2image { };