wyze-sdk icon indicating copy to clipboard operation
wyze-sdk copied to clipboard

Use more relaxed version of blackboxprotobuf

Open romedtino opened this issue 2 years ago • 1 comments

Since wyze-sdk has a dependency on blackboxprotobuf, the version of protobuf it uses is very strict (3.10.0). There are other components as part of Home Assistant that require a completely different version. This is problematic on Home Assistant since it kind of dumps all different versions of its dependencies in the same shared directory and you get a bit of a race condition on which protobuf version actually gets installed. At least this is what I'm seeing. (See https://github.com/romedtino/simple-wyze-vac/issues/8 for a bit more background).

I figured out a workaround for it by instead being dependent on https://github.com/chandlernine/blackboxprotobuf/tree/relax_requirements which has a more relaxed requirements for protobuf. This was just a change in your setup.py/Pipfile as seen here in my fork - here and here

While it's not directly a problem for wyze-sdk, I figure might as well ask if you're willing to change it since I think (so far from my testing) it doesn't affect the performance and it fixes the issue I was seeing when using wyze-sdk in Home Assistant.

What do you think? If there's another way to solve this I'm all for that too :)

romedtino avatar May 04 '22 19:05 romedtino

Oh man, this is a gnarly, entangled mess. So the version of blackboxprotobuf that's available on pypi is actually a fork of the original library.

There's been literally no development on that fork for 2+ years except for recently accepting a patch that fixes a typo in the code.

Even on the most recent fork, there's been no development to even pull in that recent fix on the original fork.

I'm going to spend a little time seeing if there's a better/more actively developed protobuf library available for python. If nothing looks promising, I'll use your suggested patch(es).

shauntarves avatar May 05 '22 17:05 shauntarves