rhasspy / webrtc-noise-gain

Tiny wrapper around webrtc-audio-processing for noise suppression/auto gain only
MIT License
15 stars 18 forks source link

Wheel package for python 3.12 not built #20

Open astrandb opened 5 months ago

astrandb commented 5 months ago

I am having problems starting devcontainers for Home Assistant. Startup fails many times due to very long (>3 minutes) load/build time of webrtc-noice-gain. I can get around this "crash" by doing pip install webrtc-noice-gain==1.2.3. It can still take a couple of minutes to complete this command, but it doesn't timeout. I can then restart HA in the devcontainer in more predictable way.

bantu commented 5 months ago

You're probably seeing the issue reported at #16. This comment helped me: https://github.com/rhasspy/webrtc-noise-gain/issues/16#issuecomment-2057409911

oyvindwe commented 2 months ago

I have a similar problem on macOS (my Home Assistant dev environment), which fails to build 1.2.4. If I downgrade to 1.2.3 I get a precompiled wheel.

oyvindwe commented 2 months ago

Ah, I see the wheel has changed from cp311-cp311-macosx_10_9_universal2.whl to cp312-cp312-macosx_14_0_arm64.whl, which i a bummer since I'm stuck on macOS 12.7.5.

Is it possible to add more wheels?

synesthesiam commented 2 months ago

I don't have a Mac, so I'm only able to build with what Github offers (unless you know a way to build a universal where with Github actions).

oyvindwe commented 2 months ago

This should be possible by setting up a matrix with all the OS and Python versions that you want to build a wheel for.

There are some example configurations here: https://docs.github.com/en/actions/automating-builds-and-tests/building-and-testing-python

oyvindwe commented 2 months ago

I have submitted PR #25 to build more wheels, but there is something funky with the test action - it defines a matrix arch: [aarch64, armhf, armv7, amd64, i386], but it's not used in the action except to generate the job name. All the linux jobs build wheels for cp310-cp310-linux_x86_64 - see e.g. https://github.com/rhasspy/webrtc-noise-gain/actions/runs/9828382455

After cleaning up and adding Python 3.12, I've got GitHub to build wheels for:

I have not been able to figure out if GitHub can build for the other Linux architectures (aarch64, armhf, and armv7).

Do we want to still build Python 3.11 images?

Note that actions/create-release in the "Create release" job soon needs to be replaced as well.