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

Requirements for specific version of pyserial and pyserial-asyncio dependencies? #44213

Closed
Hedda opened this issue Dec 14, 2020 · 7 comments
Closed

Comments

@Hedda
Copy link
Contributor

Hedda commented Dec 14, 2020

The problem

Not an actual problem today, however, wondering if it has been discussed if Home Assistant core should really pin specific versions of pyserial and pyserial-asyncio as dependencies, currently particularly in effect for ZHA, Serial, and acer_projector integrations?

homeassistant/components/acer_projector/manifest.json
homeassistant/components/serial/manifest.json
homeassistant/components/zha/manifest.json
requirements_all.txt
requirements_test_all.txt

Might it be a good idea to change from == to >= in order to only set requirements for minimum versions of pyserial and pyserial-asyncio dependencies instead of pinning to specific versions of them?

"pyserial>=3.5"
"pyserial-asyncio>=0.5"

Backstory; Noticed this when PR #44089 by @Adminiuga was merged as it bumped to to newer pinned versions of these, from pyserial 3.4 to 3.5 version and pyserial-asyncio 0.4 to 0.5 version, as a requirement in Home Assistant core.

Environment

  • Home Assistant Core release with the issue: NA
  • Last working Home Assistant Core release (if known): NA
  • Operating environment (OS/Container/Supervised/Core): NA
  • Integration causing this issue: NA
  • Link to integration documentation on our website: NA

Problem-relevant configuration.yaml

NA

Traceback/Error logs

NA

Additional information

@puddly and @Adminiuga are discussion this question in zigpy/zigpy-znp#50 for upstream zigpy which ZHA depends on.

@probot-home-assistant
Copy link

zha documentation
zha source
(message by IssueLinks)

@probot-home-assistant
Copy link

Hey there @dmulcahey, @Adminiuga, mind taking a look at this issue as its been labeled with an integration (zha) you are listed as a codeowner for? Thanks!
(message by CodeOwnersMention)

@Hedda
Copy link
Contributor Author

Hedda commented Dec 14, 2020

FYI, apparently, the bug reported in pyserial/pyserial-asyncio#69 for pyserial-asyncio 0.5 version breaks it from working in Windows.

Slightly off-topic but maybe consider downgrading back to pyserial-asyncio 0.4 or include pyserial/pyserial-asyncio#70 bug-fix?

@probot-home-assistant
Copy link

Hey there @fabaff, mind taking a look at this issue as its been labeled with an integration (serial) you are listed as a codeowner for? Thanks!
(message by CodeOwnersMention)

@Adminiuga
Copy link
Contributor

HA requires all integrations to pin specific versions, so no to >=

@fabaff
Copy link
Member

fabaff commented Dec 14, 2020

Well, technically it is not a "requirement" of Home Assistant. It was a decision to ensure that integrations keeps working even if upstream projects introduce breaking changes. For me the pinning is/was one of the QA elements we have. If I update a dependency then I run the integration. Thus, I'm able to say that to a certain level the integration works with the configuration we provide in the documentation and the release we are pinning.

@Hedda
Copy link
Contributor Author

Hedda commented Dec 14, 2020

OK, thanks for the answers. Closing this.

@Hedda Hedda closed this as completed Dec 14, 2020
@github-actions github-actions bot locked and limited conversation to collaborators Jan 13, 2021
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Projects
None yet
Development

No branches or pull requests

4 participants