-
-
Notifications
You must be signed in to change notification settings - Fork 29.9k
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
Block typing from being installed #37707
Conversation
Good to merge after builds pass 👍 |
@frenck I have updated our requirements files to explicitly reference our constraint files. I have updated the GitHub workflow file accordingly. Could you review? |
As per Discord chat, this won't work with our current wheels. Besides, it seems that building a fresh environment using this causes issues:
|
Wheel builder updated in home-assistant/wheels#116 Yes, this PR will not pass until we get pyHS100 dropped. |
* update the shipped README to include the location of the follow up project * remove typing from dependencies, fixes home-assistant/core#37707
I just pushed out the very last pyhs100 release 0.3.5.1, containing only the removal of typing dep and adding a notice to the readme saying the package has been deprecated, hope that helps :-) |
Ugh, I realized that I have been checking which thing relies on |
Shout out to @scop which I see has already been working on getting |
7fcae86
to
8ce97c1
Compare
I've pulled some unrelated changes from this PR and kept it to bare minimum so it's easier to rebase and keep up to date. |
FWIW the only breakage resulting from installing a version of typing (and/or enum34) into site-packages I'm aware of is pip shooting itself into the foot because it ends up stuffing site-packages before stdlib into sys.path for its self-invocations, see discussion at pypa/pip#8214. So in that sense unless there's more to this I'm not aware of, the "This overrides a built-in Python package" comment attached to this change is somewhat misleading and kind of points the finger at the wrong direction. Just FTR as I happened to dig into the typing issue some more a few days back. Back then I also experimented with similar constraints changes and managed to trigger unwanted uninstallability side effects, but hope this change doesn't introduce them. Will report back if I happen to notice any. |
Thanks, clarified the breaking change. I still think that we should make sure we don't have any dependency that allows pip to shoot themselves in the foot. |
Sure, preventing that is a fine stopgap fix. |
* add miflora again, reverts part of github.com//pull/37707 * edit CODEOWNERS
* add miflora again, reverts part of github.com//pull/37707 * edit CODEOWNERS
Last we heard from the author of If I forked |
Honestly, the only thing preventing me from updating is the thought of losing hdmi_cec. Please fix this asap. |
Breaking change
Integrations
hdmi_cec
andmiflora
have been disabled because they depend on Python packagetyping
which breaks the Python package installer.Proposed change
Typing breaks any Python installation it is installed in after 3.5. We should block all dependencies that require it instead of uninstalling it all the time.
This PR can be installed after:
typing
dep for py3.5+ basnijholt/miflora#145Type of change
Example entry for
configuration.yaml
:# Example configuration.yaml
Additional information
Checklist
black --fast homeassistant tests
)If user exposed functionality or configuration variables are added/changed:
If the code communicates with devices, web services, or third-party tools:
Updated and included derived files by running:
python3 -m script.hassfest
.requirements_all.txt
.Updated by running
python3 -m script.gen_requirements_all
..coveragerc
.The integration reached or maintains the following Integration Quality Scale: