Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Nest Integration failing #119223

Closed
bmf7777 opened this issue Jun 9, 2024 · 30 comments · Fixed by #121782
Closed

Nest Integration failing #119223

bmf7777 opened this issue Jun 9, 2024 · 30 comments · Fixed by #121782
Assignees

Comments

@bmf7777
Copy link

bmf7777 commented Jun 9, 2024

The problem

The Nest integration is failing with 2024.6.1 or 6.2

What version of Home Assistant Core has the issue?

core-2024.6.1

What was the last working version of Home Assistant Core?

core-2024.5.x

What type of installation are you running?

Home Assistant Core

Integration causing the issue

https://www.home-assistant.io/integrations/nest/

Link to integration documentation on our website

No response

Diagnostics information

Logger: homeassistant.setup
Source: setup.py:320
First occurred: 10:21:39 AM (1 occurrences)
Last logged: 10:21:39 AM

Setup failed for 'nest': Unable to import component: Exception importing homeassistant.components.nest
Traceback (most recent call last):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 1052, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/util/loop.py", line 131, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/components/nest/init.py", line 12, in
from google_nest_sdm.camera_traits import CameraClipPreviewTrait
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/google_nest_sdm/camera_traits.py", line 17, in
from .event import (
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/google_nest_sdm/event.py", line 369, in
class EventMessage(DataClassDictMixin):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/mixins/dict.py", line 24, in init_subclass
compile_mixin_unpacker(cls, **builder_params["unpacker"])
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/mixin.py", line 49, in compile_mixin_unpacker
builder.add_unpack_method()
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 557, in add_unpack_method
self._add_unpack_method_lines(method_name)
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 462, in _add_unpack_method_lines
).build(
^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 1276, in build
unpacked_value = UnpackerRegistry.get(
^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/common.py", line 238, in get
expr = packer(spec)
^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 711, in unpack_special_typing_primitive
uv = UnpackerRegistry.get(spec.copy(type=arg))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/common.py", line 238, in get
expr = packer(spec)
^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 553, in unpack_type_with_overridden_deserialization
deserialization_method = get_overridden_deserialization_method(spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 539, in get_overridden_deserialization_method
_unpack_with_annotated_serialization_strategy(
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 506, in _unpack_with_annotated_serialization_strategy
value_type = spec.builder.evaluate_forward_ref(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 339, in evaluate_forward_ref
return evaluate_forward_ref(typ, globalns, self.dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/helpers.py", line 769, in evaluate_forward_ref
return typ._evaluate(
^^^^^^^^^^^^^^
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 992, in async_get_component
comp = await self.hass.async_add_import_executor_job(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/concurrent/futures/thread.py", line 58, in run
result = self.fn(*self.args, **self.kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 1063, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing homeassistant.components.nest

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 1052, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/util/loop.py", line 131, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/components/nest/init.py", line 12, in
from google_nest_sdm.camera_traits import CameraClipPreviewTrait
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/google_nest_sdm/camera_traits.py", line 17, in
from .event import (
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/google_nest_sdm/event.py", line 369, in
class EventMessage(DataClassDictMixin):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/mixins/dict.py", line 24, in init_subclass
compile_mixin_unpacker(cls, **builder_params["unpacker"])
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/mixin.py", line 49, in compile_mixin_unpacker
builder.add_unpack_method()
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 557, in add_unpack_method
self._add_unpack_method_lines(method_name)
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 462, in _add_unpack_method_lines
).build(
^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 1276, in build
unpacked_value = UnpackerRegistry.get(
^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/common.py", line 238, in get
expr = packer(spec)
^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 711, in unpack_special_typing_primitive
uv = UnpackerRegistry.get(spec.copy(type=arg))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/common.py", line 238, in get
expr = packer(spec)
^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 553, in unpack_type_with_overridden_deserialization
deserialization_method = get_overridden_deserialization_method(spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 539, in get_overridden_deserialization_method
_unpack_with_annotated_serialization_strategy(
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 506, in _unpack_with_annotated_serialization_strategy
value_type = spec.builder.evaluate_forward_ref(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 339, in evaluate_forward_ref
return evaluate_forward_ref(typ, globalns, self.dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/helpers.py", line 769, in evaluate_forward_ref
return typ._evaluate(
^^^^^^^^^^^^^^
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/setup.py", line 320, in _async_setup_component
component = await integration.async_get_component()
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 1012, in async_get_component
self._component_future.result()
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 1004, in async_get_component
comp = self._get_component()
^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 1063, in _get_component
raise ImportError(f"Exception importing {self.pkg_path}") from err
ImportError: Exception importing homeassistant.components.nest

Example YAML snippet

N/A

Anything in the logs that might be useful for us?

No response

Additional information

No response

@home-assistant
Copy link

home-assistant bot commented Jun 9, 2024

Hey there @allenporter, mind taking a look at this issue as it has been labeled with an integration (nest) you are listed as a code owner for? Thanks!

Code owner commands

Code owners of nest can trigger bot actions by commenting:

  • @home-assistant close Closes the issue.
  • @home-assistant rename Awesome new title Renames the issue.
  • @home-assistant reopen Reopen the issue.
  • @home-assistant unassign nest Removes the current integration label and assignees on the issue, add the integration domain after the command.
  • @home-assistant add-label needs-more-information Add a label (needs-more-information, problem in dependency, problem in custom component) to the issue.
  • @home-assistant remove-label needs-more-information Remove a label (needs-more-information, problem in dependency, problem in custom component) on the issue.

(message by CodeOwnersMention)


nest documentation
nest source
(message by IssueLinks)

@allenporter
Copy link
Contributor

Hi, thank you for the report.
Can you include the diagnostics information from https://www.home-assistant.io/docs/configuration/troubleshooting/#download-diagnostics ? This will download a json file you can attach to this issue. Thank you!

@bmf7777
Copy link
Author

bmf7777 commented Jun 10, 2024 via email

@bmf7777
Copy link
Author

bmf7777 commented Jun 10, 2024

here's the trace back from loader ...

Logger: homeassistant.loader
Source: loader.py:1052
First occurred: June 9, 2024 at 10:21:35 AM (2 occurrences)
Last logged: June 9, 2024 at 10:21:39 AM

Unexpected exception importing component homeassistant.components.nest
Traceback (most recent call last):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/loader.py", line 1052, in _get_component
ComponentProtocol, importlib.import_module(self.pkg_path)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/util/loop.py", line 131, in protected_loop_func
return func(*args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^
File "/usr/lib/python3.12/importlib/init.py", line 90, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "", line 1387, in _gcd_import
File "", line 1360, in _find_and_load
File "", line 1331, in _find_and_load_unlocked
File "", line 935, in _load_unlocked
File "", line 995, in exec_module
File "", line 488, in _call_with_frames_removed
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/homeassistant/components/nest/init.py", line 12, in
from google_nest_sdm.camera_traits import CameraClipPreviewTrait
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/google_nest_sdm/camera_traits.py", line 17, in
from .event import (
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/google_nest_sdm/event.py", line 369, in
class EventMessage(DataClassDictMixin):
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/mixins/dict.py", line 24, in init_subclass
compile_mixin_unpacker(cls, **builder_params["unpacker"])
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/mixin.py", line 49, in compile_mixin_unpacker
builder.add_unpack_method()
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 557, in add_unpack_method
self._add_unpack_method_lines(method_name)
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 462, in _add_unpack_method_lines
).build(
^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 1276, in build
unpacked_value = UnpackerRegistry.get(
^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/common.py", line 238, in get
expr = packer(spec)
^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 711, in unpack_special_typing_primitive
uv = UnpackerRegistry.get(spec.copy(type=arg))
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/common.py", line 238, in get
expr = packer(spec)
^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 553, in unpack_type_with_overridden_deserialization
deserialization_method = get_overridden_deserialization_method(spec)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 539, in get_overridden_deserialization_method
_unpack_with_annotated_serialization_strategy(
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/types/unpack.py", line 506, in _unpack_with_annotated_serialization_strategy
value_type = spec.builder.evaluate_forward_ref(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/code/builder.py", line 339, in evaluate_forward_ref
return evaluate_forward_ref(typ, globalns, self.dict)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/srv/homeassistant_3.12/lib/python3.12/site-packages/mashumaro/core/meta/helpers.py", line 769, in evaluate_forward_ref
return typ._evaluate(
^^^^^^^^^^^^^^
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'

@allenporter
Copy link
Contributor

allenporter commented Jun 10, 2024

OK I was trying to determine what was going on with the python environment here, or custom components. Makes sense the integration can't be loaded, so we can't get diagnostics.

From what I can tell looking at other projects on github, it looks like this may happen with a newer version of python than is supported by home assistant. (example discussion)

@jretz
Copy link

jretz commented Jun 11, 2024

This is consistent with an issue that homeassistant's pinned version of pydantic (1.10.12) has with Python 3.12.4: pydantic/pydantic#9607. Pydantic Version 1.10.16 was released a couple of hours ago addressing this.

@bmf7777
Copy link
Author

bmf7777 commented Jun 11, 2024 via email

@allenporter
Copy link
Contributor

Pydantic isn't in the stack trace above. Does it really address it?

@jretz
Copy link

jretz commented Jun 12, 2024

Oh, sorry - I conflated too many coincidences. I came here from a similar stack trace involving HACS that did contain Pydantic (the issue you linked above, @allenporter). This issue appears to be the same root cause, but it is triggered by Mashumaro instead of Pydantic (Python 3.12.4 changed a call signature in an internal utility that is called by both Pydantic and Mashumaro). A quick search of the Mashumaro project did not turn up an issue, so I created Fatal1ty/mashumaro#226.

@bmf7777
Copy link
Author

bmf7777 commented Jun 12, 2024 via email

@jretz
Copy link

jretz commented Jun 12, 2024

i upgraded to 1.10.16, however, same error ...

It is Mashumaro rather than Pydantic that's the issue affecting Nest, but it's the same root cause (see the comment you replied to). Mashumaro has not yet made a release to fix this. Homeassistant-core releases are staying pinned at Python 3.12.3 until these projects are fixed and incorporated: #119454. A workaround is to downgrade to Python 3.12.3 until things are fixed.

@Nardol
Copy link
Contributor

Nardol commented Jun 22, 2024

A version which fix the issue has been released but it looks like Home Assistant core 2024.6.4 still does not make it installed.
An idea of the moment when the stable version of Home Assistant will allow to update to Python 3.12.4?
The dev branch has the right version installed, or should we upgrade Mashumaro manually in the virtual environment where HA core is running?

@bmf7777
Copy link
Author

bmf7777 commented Jun 28, 2024

I've upgraded to the latest version of Mashumaro and nest integration works fine ...

@ctenersight
Copy link

Which docker container version has this fixed in it? I use homeassistant/home-assistant:stable but the Nest integration has been broken for a while. This is your own container, you should be able to have it fixed.

@jretz
Copy link

jretz commented Jul 3, 2024

@ctenersight, I don't believe the stable docker container ever had this specific issue. This issue affects users with a homeassistant core installation, rather than a docker installation, who updated to Python 3.12.4 after its release on June 6 (any such installation is irrelevant if using a docker installation as the docker container has its own version of Python). If you don't see recursive_guard in your logs, this is not the issue you are experiencing.

@allenporter
Copy link
Contributor

@ctenersight file a new issue and fill out the template and happy to take a look, not aware of any known breakages in docker container

@allenporter
Copy link
Contributor

Upstream mashumaro v3.13.1 appears to have the fix for this. Anything further we need to track here?

@jretz
Copy link

jretz commented Jul 3, 2024

I haven't used Nest for a couple of years, I came here through the similar issues with HACS. So I can't verify that things are working (relative to this issue). But I'm confident that the new mashumaro fixes this - I manually patched it and pydantic in my venv to fix HACS and other extensions with the same issues and everything has been good.

Also, the Nest integration was never the root cause, only a symptom of the root cause that's being tracked elsewhere. So I think it's fine to close this.

@brianjmurrell
Copy link

Also, the Nest integration was never the root cause, only a symptom of the root cause that's being tracked elsewhere. So I think it's fine to close this.

Please be sure to leave a link to the issue being tracked elsewhere if you do close this here. Thanks!

@allenporter
Copy link
Contributor

The fix for this is likely to pin something in package_constraints.txt for mashumaro

@jretz
Copy link

jretz commented Jul 10, 2024

@allenporter, I don't understand hass dependency specification / resolution at all. But, unlike pydantic (which has triggered the same issue for other integrations), I can't find anything here in hass core that calls for the installation of mashumaro.

My best guess is that it's pulled in for the nest integration by python-google-nest-sdm/setup.cfg. If that's accurate, that's probably the place to update the pin to >=3.13.1? Then do a release of that and pin to that new version (>=4.0.6?) in this integration's manifest.json?

I'm way out of my depth here (long-time Python dev, but not a hass dev at all), so this could all be wrong.

@allenporter
Copy link
Contributor

Fixed in #121782 and tagged for the next patch release either 2024.7.3 (looks like its pending, but i didn't check if it was cut already), or if it doesn't make that cut then 2024.7.4

@K0enH
Copy link

K0enH commented Jul 22, 2024

can anybody confirm if this should be fixed with 2024.7.3 as I still observe same issue with 2024.7.3 version

@allenporter
Copy link
Contributor

@K0enH your environment may be stuck on an older version -- perhaps from a custom component or home assistant isn't able to fix. You should ensure you have mashumaro>=3.13.1

@brianjmurrell
Copy link

brianjmurrell commented Jul 23, 2024

I've updated to 2024.7.3 also and I can confirm that I still only appear to have mashumaro==3.12 installed.

So was something in 2024.7.3 supposed to specifically bump this to be mashumaro>=3.13.1? Otherwise how would it get bumped up from it's current 3.12?

I'm seeing here that mashumaro [required: >=3.12, installed: 3.12] is a dependency of google-nest-sdm==4.0.5:

google-nest-sdm==4.0.5
…
├── mashumaro [required: >=3.12, installed: 3.12]
…

@K0enH
Copy link

K0enH commented Jul 23, 2024

I just retried an update and validated the logs:
Requirement already satisfied: homeassistant in /srv/homeassistant/lib/python3.12/site-packages (2024.7.3)
Requirement already satisfied: aiodns==3.2.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (3.2.0)
Requirement already satisfied: aiohttp==3.9.5 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (3.9.5)
Requirement already satisfied: aiohttp-cors==0.7.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.7.0)
Requirement already satisfied: aiohttp-fast-url-dispatcher==0.3.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.3.0)
Requirement already satisfied: aiohttp-fast-zlib==0.1.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.1.1)
Requirement already satisfied: aiozoneinfo==0.2.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.2.1)
Requirement already satisfied: astral==2.2 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (2.2)
Requirement already satisfied: async-interrupt==1.1.2 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (1.1.2)
Requirement already satisfied: attrs==23.2.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (23.2.0)
Requirement already satisfied: atomicwrites-homeassistant==1.4.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (1.4.1)
Requirement already satisfied: awesomeversion==24.2.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (24.2.0)
Requirement already satisfied: bcrypt==4.1.2 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (4.1.2)
Requirement already satisfied: certifi>=2021.5.30 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (2024.2.2)
Requirement already satisfied: ciso8601==2.3.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (2.3.1)
Requirement already satisfied: fnv-hash-fast==0.5.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.5.0)
Requirement already satisfied: hass-nabucasa==0.81.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.81.1)
Requirement already satisfied: httpx==0.27.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.27.0)
Requirement already satisfied: home-assistant-bluetooth==1.12.2 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (1.12.2)
Requirement already satisfied: ifaddr==0.2.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.2.0)
Requirement already satisfied: Jinja2==3.1.4 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (3.1.4)
Requirement already satisfied: lru-dict==1.3.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (1.3.0)
Requirement already satisfied: PyJWT==2.8.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (2.8.0)
Requirement already satisfied: cryptography==42.0.8 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (42.0.8)
Requirement already satisfied: Pillow==10.3.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (10.3.0)
Requirement already satisfied: pyOpenSSL==24.1.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (24.1.0)
Requirement already satisfied: orjson==3.9.15 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (3.9.15)
Requirement already satisfied: packaging>=23.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (23.2)
Requirement already satisfied: pip>=21.3.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (24.1.2)
Requirement already satisfied: psutil-home-assistant==0.0.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.0.1)
Requirement already satisfied: python-slugify==8.0.4 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (8.0.4)
Requirement already satisfied: PyYAML==6.0.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (6.0.1)
Requirement already satisfied: requests==2.32.3 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (2.32.3)
Requirement already satisfied: SQLAlchemy==2.0.31 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (2.0.31)
Requirement already satisfied: typing-extensions<5.0,>=4.12.2 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (4.12.2)
Requirement already satisfied: ulid-transform==0.9.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.9.0)
Requirement already satisfied: urllib3<2,>=1.26.5 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (1.26.18)
Requirement already satisfied: voluptuous==0.13.1 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.13.1)
Requirement already satisfied: voluptuous-serialize==2.6.0 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (2.6.0)
Requirement already satisfied: voluptuous-openapi==0.0.4 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (0.0.4)
Requirement already satisfied: yarl==1.9.4 in /srv/homeassistant/lib/python3.12/site-packages (from homeassistant) (1.9.4)
Requirement already satisfied: pycares>=4.0.0 in /srv/homeassistant/lib/python3.12/site-packages (from aiodns==3.2.0->homeassistant) (4.4.0)
Requirement already satisfied: aiosignal>=1.1.2 in /srv/homeassistant/lib/python3.12/site-packages (from aiohttp==3.9.5->homeassistant) (1.3.1)
Requirement already satisfied: frozenlist>=1.1.1 in /srv/homeassistant/lib/python3.12/site-packages (from aiohttp==3.9.5->homeassistant) (1.4.1)
Requirement already satisfied: multidict<7.0,>=4.5 in /srv/homeassistant/lib/python3.12/site-packages (from aiohttp==3.9.5->homeassistant) (6.0.5)
Requirement already satisfied: tzdata>=2024.1 in /srv/homeassistant/lib/python3.12/site-packages (from aiozoneinfo==0.2.1->homeassistant) (2024.1)
Requirement already satisfied: pytz in /srv/homeassistant/lib/python3.12/site-packages (from astral==2.2->homeassistant) (2024.1)
Requirement already satisfied: cffi>=1.12 in /srv/homeassistant/lib/python3.12/site-packages (from cryptography==42.0.8->homeassistant) (1.16.0)
Requirement already satisfied: fnvhash<0.2.0,>=0.1.0 in /srv/homeassistant/lib/python3.12/site-packages (from fnv-hash-fast==0.5.0->homeassistant) (0.1.0)
Requirement already satisfied: acme==2.10.0 in /srv/homeassistant/lib/python3.12/site-packages (from hass-nabucasa==0.81.1->homeassistant) (2.10.0)
Requirement already satisfied: pycognito==2024.5.1 in /srv/homeassistant/lib/python3.12/site-packages (from hass-nabucasa==0.81.1->homeassistant) (2024.5.1)
Requirement already satisfied: snitun==0.39.1 in /srv/homeassistant/lib/python3.12/site-packages (from hass-nabucasa==0.81.1->homeassistant) (0.39.1)
Requirement already satisfied: habluetooth>=3.0 in /srv/homeassistant/lib/python3.12/site-packages (from home-assistant-bluetooth==1.12.2->homeassistant) (3.1.3)
Requirement already satisfied: anyio in /srv/homeassistant/lib/python3.12/site-packages (from httpx==0.27.0->homeassistant) (4.3.0)
Requirement already satisfied: httpcore==1.* in /srv/homeassistant/lib/python3.12/site-packages (from httpx==0.27.0->homeassistant) (1.0.4)
Requirement already satisfied: idna in /srv/homeassistant/lib/python3.12/site-packages (from httpx==0.27.0->homeassistant) (3.6)
Requirement already satisfied: sniffio in /srv/homeassistant/lib/python3.12/site-packages (from httpx==0.27.0->homeassistant) (1.3.0)
Requirement already satisfied: MarkupSafe>=2.0 in /srv/homeassistant/lib/python3.12/site-packages (from Jinja2==3.1.4->homeassistant) (2.1.5)
Requirement already satisfied: psutil in /srv/homeassistant/lib/python3.12/site-packages (from psutil-home-assistant==0.0.1->homeassistant) (5.9.8)
Requirement already satisfied: text-unidecode>=1.3 in /srv/homeassistant/lib/python3.12/site-packages (from python-slugify==8.0.4->homeassistant) (1.3)
Requirement already satisfied: charset-normalizer<4,>=2 in /srv/homeassistant/lib/python3.12/site-packages (from requests==2.32.3->homeassistant) (3.2.0)
Requirement already satisfied: greenlet!=0.4.17 in /srv/homeassistant/lib/python3.12/site-packages (from SQLAlchemy==2.0.31->homeassistant) (3.0.3)
Requirement already satisfied: josepy>=1.13.0 in /srv/homeassistant/lib/python3.12/site-packages (from acme==2.10.0->hass-nabucasa==0.81.1->homeassistant) (1.14.0)
Requirement already satisfied: pyrfc3339 in /srv/homeassistant/lib/python3.12/site-packages (from acme==2.10.0->hass-nabucasa==0.81.1->homeassistant) (1.1)
Requirement already satisfied: setuptools>=41.6.0 in /srv/homeassistant/lib/python3.12/site-packages (from acme==2.10.0->hass-nabucasa==0.81.1->homeassistant) (69.1.0)
Requirement already satisfied: h11<0.15,>=0.13 in /srv/homeassistant/lib/python3.12/site-packages (from httpcore==1.*->httpx==0.27.0->homeassistant) (0.14.0)
Requirement already satisfied: boto3>=1.10.49 in /srv/homeassistant/lib/python3.12/site-packages (from pycognito==2024.5.1->hass-nabucasa==0.81.1->homeassistant) (1.34.41)
Requirement already satisfied: envs>=1.3 in /srv/homeassistant/lib/python3.12/site-packages (from pycognito==2024.5.1->hass-nabucasa==0.81.1->homeassistant) (1.4)
Requirement already satisfied: async-timeout>=3.0.1 in /srv/homeassistant/lib/python3.12/site-packages (from snitun==0.39.1->hass-nabucasa==0.81.1->homeassistant) (4.0.3)
Requirement already satisfied: pycparser in /srv/homeassistant/lib/python3.12/site-packages (from cffi>=1.12->cryptography==42.0.8->homeassistant) (2.21)
Requirement already satisfied: bleak>=0.21.1 in /srv/homeassistant/lib/python3.12/site-packages (from habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (0.22.2)
Requirement already satisfied: bleak-retry-connector>=3.3.0 in /srv/homeassistant/lib/python3.12/site-packages (from habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (3.5.0)
Requirement already satisfied: bluetooth-adapters>=0.16.1 in /srv/homeassistant/lib/python3.12/site-packages (from habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (0.19.3)
Requirement already satisfied: bluetooth-auto-recovery>=1.2.3 in /srv/homeassistant/lib/python3.12/site-packages (from habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (1.4.2)
Requirement already satisfied: bluetooth-data-tools>=1.16.0 in /srv/homeassistant/lib/python3.12/site-packages (from habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (1.19.3)
Requirement already satisfied: dbus-fast<3,>=1.83.0 in /srv/homeassistant/lib/python3.12/site-packages (from bleak>=0.21.1->habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (2.22.1)
Requirement already satisfied: aiooui>=0.1.1 in /srv/homeassistant/lib/python3.12/site-packages (from bluetooth-adapters>=0.16.1->habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (0.1.5)
Requirement already satisfied: uart-devices>=0.1.0 in /srv/homeassistant/lib/python3.12/site-packages (from bluetooth-adapters>=0.16.1->habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (0.1.0)
Requirement already satisfied: usb-devices>=0.4.5 in /srv/homeassistant/lib/python3.12/site-packages (from bluetooth-adapters>=0.16.1->habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (0.4.5)
Requirement already satisfied: PyRIC>=0.1.6.3 in /srv/homeassistant/lib/python3.12/site-packages (from bluetooth-auto-recovery>=1.2.3->habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (0.1.6.3)
Requirement already satisfied: btsocket>=0.2.0 in /srv/homeassistant/lib/python3.12/site-packages (from bluetooth-auto-recovery>=1.2.3->habluetooth>=3.0->home-assistant-bluetooth==1.12.2->homeassistant) (0.2.0)
Requirement already satisfied: botocore<1.35.0,>=1.34.41 in /srv/homeassistant/lib/python3.12/site-packages (from boto3>=1.10.49->pycognito==2024.5.1->hass-nabucasa==0.81.1->homeassistant) (1.34.41)
Requirement already satisfied: jmespath<2.0.0,>=0.7.1 in /srv/homeassistant/lib/python3.12/site-packages (from boto3>=1.10.49->pycognito==2024.5.1->hass-nabucasa==0.81.1->homeassistant) (1.0.1)
Requirement already satisfied: s3transfer<0.11.0,>=0.10.0 in /srv/homeassistant/lib/python3.12/site-packages (from boto3>=1.10.49->pycognito==2024.5.1->hass-nabucasa==0.81.1->homeassistant) (0.10.0)
Requirement already satisfied: python-dateutil<3.0.0,>=2.1 in /srv/homeassistant/lib/python3.12/site-packages (from botocore<1.35.0,>=1.34.41->boto3>=1.10.49->pycognito==2024.5.1->hass-nabucasa==0.81.1->homeassistant) (2.8.2)
Requirement already satisfied: six>=1.5 in /srv/homeassistant/lib/python3.12/site-packages (from python-dateutil<3.0.0,>=2.1->botocore<1.35.0,>=1.34.41->boto3>=1.10.49->pycognito==2024.5.1->hass-nabucasa==0.81.1->homeassistant) (1.16.0)

based on this I also dont see any validation on mashumaro dependency.

@K0enH
Copy link

K0enH commented Jul 23, 2024

pip3 freeze - local > requirements.txt gives
mashumaro==3.12

@allenporter
Copy link
Contributor

I should have been more clear: you need to upgrade to mashumaro>=3.13.1 yourself as home assistant may not be able to fix it. This is what i meant by "you should ensure you have mashumaro>=3.13.1".

This pin is set in

CONSTRAINT_FILE = "package_constraints.txt"
which is used for processing requirements but it may not be able to upgrade existing installs.

This is down side of using core since you manage you own python environment.

@brianjmurrell
Copy link

On my machine, this dependency is in ~homeassistant/.homeassistant/deps/lib/python3.12/site-packages/. I didn't set that location up nor do I manage it in any way. HA is managing that. Surely HA must be able to apply updates to constraints in that tree in it's (i.e. 2024.7.3->2024.7.3) updating process can't it?

@K0enH
Copy link

K0enH commented Jul 23, 2024

in my setup with core the mentioned folder is emtpy, however I managed to get it back working by navigating to the environment and than run pip install mashumaro --upgrade

afterward restarted home assistant and all back to normal again

On my machine, this dependency is in ~homeassistant/.homeassistant/deps/lib/python3.12/site-packages/. I didn't set that location up nor do I manage it in any way. HA is managing that. Surely HA must be able to apply updates to constraints in that tree in it's (i.e. 2024.7.3->2024.7.3) updating process can't it?

@github-actions github-actions bot locked and limited conversation to collaborators Aug 22, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

Successfully merging a pull request may close this issue.

7 participants