diff --git a/pkgs/development/python-modules/volkswagencarnet/default.nix b/pkgs/development/python-modules/volkswagencarnet/default.nix new file mode 100644 index 000000000000..9335402ea3f9 --- /dev/null +++ b/pkgs/development/python-modules/volkswagencarnet/default.nix @@ -0,0 +1,55 @@ +{ + lib, + buildPythonPackage, + fetchFromGitHub, + setuptools-scm, + aiohttp, + beautifulsoup4, + lxml, + pyjwt, + freezegun, + pytest-asyncio, + pytestCheckHook, +}: + +buildPythonPackage rec { + pname = "volkswagencarnet"; + version = "5.0.2"; + pyproject = true; + + src = fetchFromGitHub { + owner = "robinostlund"; + repo = "volkswagencarnet"; + rev = "refs/tags/v${version}"; + hash = "sha256-NpfkhFGxd3VjLjQ8pPpamYgwc5zqWt5CojONe4L1s4s="; + }; + + postPatch = '' + substituteInPlace tests/conftest.py \ + --replace-fail 'pytest_plugins = ["pytest_cov"]' 'pytest_plugins = []' + ''; + + build-system = [ setuptools-scm ]; + + dependencies = [ + aiohttp + beautifulsoup4 + lxml + pyjwt + ]; + + pythonImportsCheck = [ "volkswagencarnet" ]; + + nativeCheckInputs = [ + freezegun + pytest-asyncio + pytestCheckHook + ]; + + meta = { + description = "A python library for volkswagen carnet"; + homepage = "https://github.com/robinostlund/volkswagencarnet"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/servers/home-assistant/custom-components/README.md b/pkgs/servers/home-assistant/custom-components/README.md index 6b942df8b942..238c320ba279 100644 --- a/pkgs/servers/home-assistant/custom-components/README.md +++ b/pkgs/servers/home-assistant/custom-components/README.md @@ -20,7 +20,7 @@ versions into the Python environment. ```nix { lib -, buildHomeAssistantcomponent +, buildHomeAssistantComponent , fetchFromGitHub }: diff --git a/pkgs/servers/home-assistant/custom-components/default.nix b/pkgs/servers/home-assistant/custom-components/default.nix index 3687e3ac7cf0..8d573010cf9a 100644 --- a/pkgs/servers/home-assistant/custom-components/default.nix +++ b/pkgs/servers/home-assistant/custom-components/default.nix @@ -60,6 +60,8 @@ tuya_local = callPackage ./tuya_local {}; + volkswagencarnet = callPackage ./volkswagencarnet { }; + waste_collection_schedule = callPackage ./waste_collection_schedule {}; xiaomi_gateway3 = callPackage ./xiaomi_gateway3 {}; diff --git a/pkgs/servers/home-assistant/custom-components/volkswagencarnet/default.nix b/pkgs/servers/home-assistant/custom-components/volkswagencarnet/default.nix new file mode 100644 index 000000000000..d39c5f3481dc --- /dev/null +++ b/pkgs/servers/home-assistant/custom-components/volkswagencarnet/default.nix @@ -0,0 +1,38 @@ +{ + lib, + buildHomeAssistantComponent, + fetchFromGitHub, + volkswagencarnet, + pytest-homeassistant-custom-component, + pytestCheckHook, +}: + +buildHomeAssistantComponent rec { + owner = "robinostlund"; + domain = "volkswagencarnet"; + version = "5.0.3"; + + src = fetchFromGitHub { + owner = "robinostlund"; + repo = "homeassistant-volkswagencarnet"; + rev = "refs/tags/v${version}"; + hash = "sha256-3wykS2TYjr9hoQSPc1F3m5aDiLW1tzvQfjfjnr4N2Y0="; + }; + + dependencies = [ volkswagencarnet ]; + + nativeCheckInputs = [ + pytest-homeassistant-custom-component + pytestCheckHook + ]; + + # https://github.com/robinostlund/homeassistant-volkswagencarnet/issues/651 + doCheck = false; + + meta = { + description = "Volkswagen Connect component for Home Assistant"; + homepage = "https://github.com/robinostlund/homeassistant-volkswagencarnet"; + license = lib.licenses.gpl3Only; + maintainers = with lib.maintainers; [ dotlambda ]; + }; +} diff --git a/pkgs/top-level/python-packages.nix b/pkgs/top-level/python-packages.nix index 26082cf403c6..ec6c07c0e4ae 100644 --- a/pkgs/top-level/python-packages.nix +++ b/pkgs/top-level/python-packages.nix @@ -17061,6 +17061,8 @@ self: super: with self; { volatile = callPackage ../development/python-modules/volatile { }; + volkswagencarnet = callPackage ../development/python-modules/volkswagencarnet { }; + volkszaehler = callPackage ../development/python-modules/volkszaehler { }; voluptuous = callPackage ../development/python-modules/voluptuous { };