diff --git a/pkgs/development/python-modules/pysnooz/default.nix b/pkgs/development/python-modules/pysnooz/default.nix new file mode 100644 index 000000000000..31a884a69d83 --- /dev/null +++ b/pkgs/development/python-modules/pysnooz/default.nix @@ -0,0 +1,68 @@ +{ lib +, bleak +, bleak-retry-connector +, bluetooth-sensor-state-data +, buildPythonPackage +, events +, fetchFromGitHub +, freezegun +, home-assistant-bluetooth +, poetry-core +, pytest-asyncio +, pytest-mock +, pytestCheckHook +, pythonOlder +, transitions +}: + +buildPythonPackage rec { + pname = "pysnooz"; + version = "0.8.3"; + format = "pyproject"; + + disabled = pythonOlder "3.9"; + + src = fetchFromGitHub { + owner = "AustinBrunkhorst"; + repo = pname; + rev = "v${version}"; + hash = "sha256-K99sE9vxJo6grkp04DmTKOVqdfpQI0kUzJjSR6gnSew="; + }; + + postPatch = '' + substituteInPlace pyproject.toml \ + --replace 'transitions = "^0.8.11"' 'transitions = ">0.8.11"' \ + --replace " --cov=pysnooz --cov-report=term-missing:skip-covered" "" + ''; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + bleak + bleak-retry-connector + bluetooth-sensor-state-data + events + home-assistant-bluetooth + transitions + ]; + + checkInputs = [ + freezegun + pytest-asyncio + pytest-mock + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pysnooz" + ]; + + meta = with lib; { + description = "Library to control SNOOZ white noise machines"; + homepage = "https://github.com/AustinBrunkhorst/pysnooz"; + license = with licenses; [ mit ]; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index dee082d7483e..ff71ef8786df 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -8572,6 +8572,8 @@ self: super: with self; { pysnooper = callPackage ../development/python-modules/pysnooper { }; + pysnooz = callPackage ../development/python-modules/pysnooz { }; + pysnow = callPackage ../development/python-modules/pysnow { }; pysocks = callPackage ../development/python-modules/pysocks { };