diff --git a/pkgs/development/python-modules/open-meteo/default.nix b/pkgs/development/python-modules/open-meteo/default.nix new file mode 100644 index 000000000000..6a7d5cfeb6e0 --- /dev/null +++ b/pkgs/development/python-modules/open-meteo/default.nix @@ -0,0 +1,60 @@ +{ lib +, aiohttp +, aresponses +, buildPythonPackage +, fetchFromGitHub +, poetry-core +, pydantic +, pytest-asyncio +, pytestCheckHook +, pythonOlder +}: + +buildPythonPackage rec { + pname = "open-meteo"; + version = "0.2.0"; + format = "pyproject"; + + disabled = pythonOlder "3.8"; + + src = fetchFromGitHub { + owner = "frenck"; + repo = "python-open-meteo"; + rev = "v${version}"; + sha256 = "tuAuY43HRz8zFTOhsm4TxSppP4CYTGPqQndDMxW3URs="; + }; + + nativeBuildInputs = [ + poetry-core + ]; + + propagatedBuildInputs = [ + aiohttp + aresponses + pydantic + ]; + + checkInputs = [ + pytest-asyncio + pytestCheckHook + ]; + + postPatch = '' + # Upstream doesn't set a version for the pyproject.toml + substituteInPlace pyproject.toml \ + --replace "0.0.0" "${version}" \ + --replace "--cov" "" \ + --replace 'aiohttp = "^3.8.1"' 'aiohttp = "^3.8.0"' + ''; + + pythonImportsCheck = [ + "open_meteo" + ]; + + meta = with lib; { + description = "Python client for the Open-Meteo API"; + homepage = "https://github.com/frenck/python-open-meteo"; + license = licenses.mit; + maintainers = with maintainers; [ fab ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 7bf6e52459c7..6fa682290567 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -5359,6 +5359,8 @@ in { open-garage = callPackage ../development/python-modules/open-garage { }; + open-meteo = callPackage ../development/python-modules/open-meteo { }; + openant = callPackage ../development/python-modules/openant { }; openapi-schema-validator = callPackage ../development/python-modules/openapi-schema-validator { };