diff --git a/pkgs/development/python-modules/aioesphomeapi/default.nix b/pkgs/development/python-modules/aioesphomeapi/default.nix index ca577acc2834..cf9a5140dea6 100644 --- a/pkgs/development/python-modules/aioesphomeapi/default.nix +++ b/pkgs/development/python-modules/aioesphomeapi/default.nix @@ -22,7 +22,7 @@ buildPythonPackage rec { pname = "aioesphomeapi"; - version = "18.2.1"; + version = "18.2.4"; pyproject = true; disabled = pythonOlder "3.9"; @@ -31,7 +31,7 @@ buildPythonPackage rec { owner = "esphome"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-PW3/V4PTm+UxTsfSSvOEX+FGcuF4m+mDOz6Z/AzB2qk="; + hash = "sha256-m82UfhcmAFBDfSVmia6nhBB2qyQjSZJbXtzD/sGeqk4="; }; nativeBuildInputs = [ diff --git a/pkgs/development/python-modules/bluetooth-data-tools/default.nix b/pkgs/development/python-modules/bluetooth-data-tools/default.nix index 8df2ee06a991..faec6cb3650e 100644 --- a/pkgs/development/python-modules/bluetooth-data-tools/default.nix +++ b/pkgs/development/python-modules/bluetooth-data-tools/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "bluetooth-data-tools"; - version = "1.13.0"; + version = "1.14.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "Bluetooth-Devices"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-qvr4CYOMgyTEFONpe6KA176H56+w6RHThAyUthIzszE="; + hash = "sha256-eO17EuZ9K6tLAyEGmTaxw1Cxfz3XPPwNCcIwZ2/uHug="; }; # The project can build both an optimized cython version and an unoptimized diff --git a/pkgs/development/python-modules/home-assistant-bluetooth/default.nix b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix index a0833b20798e..c5cd3d2e4f3c 100644 --- a/pkgs/development/python-modules/home-assistant-bluetooth/default.nix +++ b/pkgs/development/python-modules/home-assistant-bluetooth/default.nix @@ -11,7 +11,7 @@ buildPythonPackage rec { pname = "home-assistant-bluetooth"; - version = "1.10.3"; + version = "1.10.4"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -20,7 +20,7 @@ buildPythonPackage rec { owner = "home-assistant-libs"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-77RrqmoCftPc48fFtuuFo0KqGX3n+6aDx2RFkwGCNzQ="; + hash = "sha256-7gkesxQI6QBxyQpHlSSh1w6MDeid0dSdXn+jnxvafD0="; }; postPatch = '' diff --git a/pkgs/development/python-modules/pyatmo/default.nix b/pkgs/development/python-modules/pyatmo/default.nix index 92ccf8e071b8..5c37066ae9d1 100644 --- a/pkgs/development/python-modules/pyatmo/default.nix +++ b/pkgs/development/python-modules/pyatmo/default.nix @@ -16,7 +16,7 @@ buildPythonPackage rec { pname = "pyatmo"; - version = "7.5.0"; + version = "7.6.0"; format = "pyproject"; disabled = pythonOlder "3.8"; @@ -25,7 +25,7 @@ buildPythonPackage rec { owner = "jabesq"; repo = "pyatmo"; rev = "refs/tags/v${version}"; - hash = "sha256-GucatimZTg0Fggrz4bG1x6YSa3wE/uLGB4ufil/km3w="; + hash = "sha256-rAmSxayXljOJchiMtSOgnotzQmapK2n86HwNi9HJX68="; }; SETUPTOOLS_SCM_PRETEND_VERSION = version; diff --git a/pkgs/development/python-modules/tailscale/default.nix b/pkgs/development/python-modules/tailscale/default.nix index 806da0dc3e41..c146c7fd9bd8 100644 --- a/pkgs/development/python-modules/tailscale/default.nix +++ b/pkgs/development/python-modules/tailscale/default.nix @@ -3,8 +3,9 @@ , aresponses , buildPythonPackage , fetchFromGitHub +, mashumaro +, orjson , poetry-core -, pydantic , pytest-asyncio , pytestCheckHook , pythonOlder @@ -13,22 +14,22 @@ buildPythonPackage rec { pname = "tailscale"; - version = "0.3.0"; + version = "0.6.0"; format = "pyproject"; - disabled = pythonOlder "3.8"; + disabled = pythonOlder "3.11"; src = fetchFromGitHub { owner = "frenck"; repo = "python-tailscale"; rev = "refs/tags/v${version}"; - hash = "sha256-gGDsVGsCBZi/pxD0cyH3+xrvHVBC+wJCcl/NGqsTqiE="; + hash = "sha256-wO6yMMU5fxk8GQ0e4ZCse2atlR4wrzulZOFXkVKAsmU="; }; postPatch = '' # Upstream doesn't set a version for the pyproject.toml substituteInPlace pyproject.toml \ - --replace "0.0.0" "${version}" \ + --replace 'version = "0.0.0"' 'version = "${version}"' \ --replace "--cov" "" ''; @@ -38,7 +39,8 @@ buildPythonPackage rec { propagatedBuildInputs = [ aiohttp - pydantic + mashumaro + orjson yarl ]; diff --git a/pkgs/development/python-modules/ulid-transform/default.nix b/pkgs/development/python-modules/ulid-transform/default.nix index 77c4b099687d..95b765bd3e60 100644 --- a/pkgs/development/python-modules/ulid-transform/default.nix +++ b/pkgs/development/python-modules/ulid-transform/default.nix @@ -10,7 +10,7 @@ buildPythonPackage rec { pname = "ulid-transform"; - version = "0.8.1"; + version = "0.9.0"; format = "pyproject"; disabled = pythonOlder "3.9"; @@ -19,7 +19,7 @@ buildPythonPackage rec { owner = "bdraco"; repo = pname; rev = "refs/tags/v${version}"; - hash = "sha256-isngr9CZ2YYuq+5s3p4HXrTU20vPqZGZ1r8mBoVkxiI="; + hash = "sha256-r9uxPXpmQSsL1rX4d9TH87olFbZugdGdNG++Ygjie1I="; }; nativeBuildInputs = [ diff --git a/pkgs/servers/home-assistant/component-packages.nix b/pkgs/servers/home-assistant/component-packages.nix index 271ed97c857a..7b856c0b2535 100644 --- a/pkgs/servers/home-assistant/component-packages.nix +++ b/pkgs/servers/home-assistant/component-packages.nix @@ -2,12 +2,13 @@ # Do not edit! { - version = "2023.11.1"; + version = "2023.11.2"; components = { "3_day_blinds" = ps: with ps; [ ]; "abode" = ps: with ps; [ jaraco-abode + jaraco-functools ]; "accuweather" = ps: with ps; [ accuweather diff --git a/pkgs/servers/home-assistant/default.nix b/pkgs/servers/home-assistant/default.nix index 3fb3e244928c..c0adb6bb4bac 100644 --- a/pkgs/servers/home-assistant/default.nix +++ b/pkgs/servers/home-assistant/default.nix @@ -3,7 +3,6 @@ , callPackage , fetchFromGitHub , fetchPypi -, fetchpatch , python311 , substituteAll , ffmpeg-headless @@ -183,6 +182,15 @@ let }; }); + psutil = super.psutil.overridePythonAttrs (oldAttrs: rec { + version = "5.9.6"; + src = fetchPypi { + pname = "psutil"; + inherit version; + hash = "sha256-5Lkt3NfdTN0/kAGA6h4QSTLHvOI0+4iXbio7KWRBIlo="; + }; + }); + py-synologydsm-api = super.py-synologydsm-api.overridePythonAttrs (oldAttrs: rec { version = "2.1.4"; src = fetchFromGitHub { @@ -300,17 +308,6 @@ let doCheck = false; }); - # Pinned due to API changes in 0.3.0 - tailscale = super.tailscale.overridePythonAttrs (oldAttrs: rec { - version = "0.2.0"; - src = fetchFromGitHub { - owner = "frenck"; - repo = "python-tailscale"; - rev = "refs/tags/v${version}"; - hash = "sha256-/tS9ZMUWsj42n3MYPZJYJELzX3h02AIHeRZmD2SuwWE="; - }; - }); - # Pinned due to API changes ~1.0 vultr = super.vultr.overridePythonAttrs (oldAttrs: rec { version = "0.1.2"; @@ -356,7 +353,7 @@ let extraBuildInputs = extraPackages python.pkgs; # Don't forget to run parse-requirements.py after updating - hassVersion = "2023.11.1"; + hassVersion = "2023.11.2"; in python.pkgs.buildPythonApplication rec { pname = "homeassistant"; @@ -372,7 +369,7 @@ in python.pkgs.buildPythonApplication rec { # Primary source is the pypi sdist, because it contains translations src = fetchPypi { inherit pname version; - hash = "sha256-4OIvY6blun++7JDY+B0Cjrr4yNgnjTd8G55SWkhS3Cs="; + hash = "sha256-cnneRq0hIyvgKo0du/52ze0IVs8TgTPNQM3T1kyy03s="; }; # Secondary source is git for tests @@ -380,7 +377,7 @@ in python.pkgs.buildPythonApplication rec { owner = "home-assistant"; repo = "core"; rev = "refs/tags/${version}"; - hash = "sha256-Z/CV1sGdJsdc4OxUZulC0boHaMP7WpajbY8Y6R9Q//I="; + hash = "sha256-OljfYmlXSJVoWWsd4jcSF4nI/FXHqRA8e4LN5AaPVv8="; }; nativeBuildInputs = with python.pkgs; [ @@ -400,13 +397,6 @@ in python.pkgs.buildPythonApplication rec { src = ./patches/ffmpeg-path.patch; ffmpeg = "${lib.getBin ffmpeg-headless}/bin/ffmpeg"; }) - (fetchpatch { - # freeze time in litterrobot tests - # https://github.com/home-assistant/core/pull/103444 - name = "home-assistant-litterrobot-freeze-test-time.patch"; - url = "https://github.com/home-assistant/core/commit/806205952ff863e2cf1875be406ea0254be5f13a.patch"; - hash = "sha256-OVbmJWy275nYWrif9awAGIYlgZqrRPcYBhB0Vil8rmk="; - }) ]; postPatch = let @@ -526,6 +516,8 @@ in python.pkgs.buildPythonApplication rec { "--deselect=tests/helpers/test_entity_registry.py::test_get_or_create_updates_data" # AssertionError: assert 2 == 1 "--deselect=tests/helpers/test_entity_values.py::test_override_single_value" + # AssertionError: assert 'WARNING' not in '2023-11-10 ...nt abc[L]>\n'" + "--deselect=tests/helpers/test_script.py::test_multiple_runs_repeat_choose" # tests are located in tests/ "tests" ]; diff --git a/pkgs/servers/home-assistant/frontend.nix b/pkgs/servers/home-assistant/frontend.nix index ae2ef5624409..1c7bc02172b2 100644 --- a/pkgs/servers/home-assistant/frontend.nix +++ b/pkgs/servers/home-assistant/frontend.nix @@ -4,7 +4,7 @@ buildPythonPackage rec { # the frontend version corresponding to a specific home-assistant version can be found here # https://github.com/home-assistant/home-assistant/blob/master/homeassistant/components/frontend/manifest.json pname = "home-assistant-frontend"; - version = "20231030.1"; + version = "20231030.2"; format = "wheel"; src = fetchPypi { @@ -12,7 +12,7 @@ buildPythonPackage rec { pname = "home_assistant_frontend"; dist = "py3"; python = "py3"; - hash = "sha256-S363j7HnOxLqCBaml1Kb9xfY0AaqBIgj09NutByn6Xo="; + hash = "sha256-qzodzqWpAXZjwBJkiCyBi5zzfpEqqtauJn2PKZ5UtJ0="; }; # there is nothing to strip in this package diff --git a/pkgs/servers/home-assistant/parse-requirements.py b/pkgs/servers/home-assistant/parse-requirements.py index 1df4d98fb45d..bb5e70994320 100755 --- a/pkgs/servers/home-assistant/parse-requirements.py +++ b/pkgs/servers/home-assistant/parse-requirements.py @@ -56,6 +56,15 @@ EXTRA_COMPONENT_DEPS = { ], } +# Sometimes we have unstable versions for libraries that are not +# well-maintained. This allows us to mark our weird version as newer +# than a certain wanted version +OUR_VERSION_IS_NEWER_THAN = { + "blinkstick": "1.2.0", + "gps3": "0.33.3", + "pybluez": "0.22", +} + def run_sync(cmd: List[str]) -> None: @@ -226,7 +235,12 @@ def main() -> None: Version.parse(our_version) except InvalidVersion: print(f"Attribute {attr_name} has invalid version specifier {our_version}", file=sys.stderr) - attr_outdated = True + + # allow specifying that our unstable version is newer than some version + if newer_than_version := OUR_VERSION_IS_NEWER_THAN.get(attr_name): + attr_outdated = Version.parse(newer_than_version) < Version.parse(required_version) + else: + attr_outdated = True else: attr_outdated = Version.parse(our_version) < Version.parse(required_version) finally: diff --git a/pkgs/servers/home-assistant/stubs.nix b/pkgs/servers/home-assistant/stubs.nix index d4c009fa258a..b3652e734f19 100644 --- a/pkgs/servers/home-assistant/stubs.nix +++ b/pkgs/servers/home-assistant/stubs.nix @@ -8,7 +8,7 @@ buildPythonPackage rec { pname = "homeassistant-stubs"; - version = "2023.11.1"; + version = "2023.11.2"; format = "pyproject"; disabled = python.version != home-assistant.python.version; @@ -17,7 +17,7 @@ buildPythonPackage rec { owner = "KapJI"; repo = "homeassistant-stubs"; rev = "refs/tags/${version}"; - hash = "sha256-eLmWOMKLzhZ7M/gdUHhlDZ3T+N4h5aHxMwOI8ZUepps="; + hash = "sha256-stVfFXb5QfC+wZUSk53+jt/hb8kO1gCcgeOnHHpNlWE="; }; nativeBuildInputs = [