diff --git a/pkgs/development/python-modules/pyweatherflowudp/default.nix b/pkgs/development/python-modules/pyweatherflowudp/default.nix new file mode 100644 index 000000000000..9519831c6d2a --- /dev/null +++ b/pkgs/development/python-modules/pyweatherflowudp/default.nix @@ -0,0 +1,62 @@ +{ lib +, buildPythonPackage +, fetchFromGitHub +, pint +, poetry-core +, psychrolib +, pytest-asyncio +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "pyweatherflowudp"; + version = "1.4.4"; + pyproject = true; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "briis"; + repo = "pyweatherflowudp"; + rev = "refs/tags/v${version}"; + hash = "sha256-5WdkT4U/+uO9UUIxumrxCKZnK9MdQcvfaO9UfpmpxJE="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + pint + psychrolib + ]; + + nativeCheckInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + pythonImportsCheck = [ + "pyweatherflowudp" + ]; + + disabledTests = [ + # Tests require network access + "test_flow_control" + "test_listen_and_stop" + "test_repetitive_listen_and_stop" + "test_process_message" + "test_listener_connection_errors" + "test_invalid_messages" + ]; + + meta = with lib; { + description = "Library to receive UDP Packets from Weatherflow Weatherstations"; + homepage = "https://github.com/briis/pyweatherflowudp"; + changelog = "https://github.com/briis/pyweatherflowudp/blob/${version}/CHANGELOG.md"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} + diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 4bdd307c48fb..6774b967c725 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -10913,6 +10913,8 @@ self: super: with self; { pyweatherflowrest = callPackage ../development/python-modules/pyweatherflowrest { }; + pyweatherflowudp = callPackage ../development/python-modules/pyweatherflowudp { }; + pywebpush = callPackage ../development/python-modules/pywebpush { }; pywebview = callPackage ../development/python-modules/pywebview { };