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

Add stream-inflate #712

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Add stream-inflate #712

wants to merge 1 commit into from

Conversation

FL550
Copy link
Contributor

@FL550 FL550 commented Nov 12, 2024

This library is needed for dwd_weather. The wheels are also available on piwheels.

@frenck frenck changed the title feat: add stream-inflate Add stream-inflate Nov 12, 2024
Copy link
Member

@frenck frenck left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Hi there @FL550 👋

Could you clarify / motivate your addition here?

As in, looking at the pypi index, this project seems to be publishing musl Linux wheels already?

https://pypi.org/project/stream-inflate/#files

So I'm a little confused on why the addition here would be needed?

../Frenck

@home-assistant home-assistant bot marked this pull request as draft November 12, 2024 07:31
@home-assistant
Copy link

Please take a look at the requested changes, and use the Ready for review button when you are done, thanks 👍

Learn more about our pull request process.

@FL550
Copy link
Contributor Author

FL550 commented Nov 12, 2024

Hi @frenck

Sure, I need this package as I have to load a large ZIP-file containing weather data from the network and some users had memory issues without streaming. I changed my code about two month ago which has resolved the memory issues some users were facing, however introduced a few errors regarding package installation on, as far as I see, Raspberry Pi.

The dependency chain is dwd_weather -> simple-dwd-weatherforecast -> stream-unzip -> stream-inflate.

The problem, I would like to solve with this PR is, that the library uses a mixed Rust/Python codebase and unfortunately doesn't provide wheels for the RPI itself. The Piwheels project provides these wheels, however as HA uses its own index for wheels, pip tries to compile this package on the target machine which fails due to a missing Rust compiler.

@frenck
Copy link
Member

frenck commented Nov 12, 2024

Sure, I need this package as I have to load a large ZIP-file containing weather data from the network and some users had memory issues without streaming.

I get why a package might be needed. That wasn't my question.

however introduced a few errors regarding package installation on, as far as I see, Raspberry Pi.

What would be the reason for that? As per link above, they publish wheels for it. What makes the difference by publishing it here?

The problem, I would like to solve with this PR is, that the library uses a mixed Rust/Python codebase and unfortunately doesn't provide wheels for the RPI itself.

It does, see link above.

Which wheel exactly is missing?

@FL550
Copy link
Contributor Author

FL550 commented Nov 12, 2024

I get why a package might be needed. That wasn't my question.

Sorry, my bad. I'm not used talking to people who have knowledge in coding.

What would be the reason for that? As per link above, they publish wheels for it. What makes the difference by publishing it here?

The problem, I would like to solve with this PR is, that the library uses a mixed Rust/Python codebase and unfortunately doesn't provide wheels for the RPI itself.

It does, see link above.

Which wheel exactly is missing?

Thanks a lot, you pointed me in a new direction for troubleshooting. I asked the users with issues and report back when I have the answers.

@FL550
Copy link
Contributor Author

FL550 commented Nov 12, 2024

The wheels needed are cp312-cp312-musllinux_1_2_armv7l.whl and cp312-cp312-musllinux_1_2_armv6l.whl

@frenck
Copy link
Member

frenck commented Nov 12, 2024

The wheels needed are cp312-cp312-musllinux_1_2_armv7l.whl and cp312-cp312-musllinux_1_2_armv6l.whl

Aah check 👍

Have you checked with the upstream project if they are willing to add those wheels?
In the end, we always believe it is better if an project releases wheels themselves, as it benefits the bigger Python ecosystem (and not just Home Assistant).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants