cmusphinx / pocketsphinx

A small speech recognizer
Other
3.93k stars 717 forks source link

No Python 3.7 or 3.9 wheels #310

Closed Crozzers closed 2 years ago

Crozzers commented 2 years ago

Hi there!

I noticed on the 5.0.0 release that there were wheels for Python 3.6, 3.8, 3.10 and PyPy 3.8 and 3.10 but no wheels for Python/PyPy 3.7 and 3.9. Is this intentional?

Looking through the build_wheels.yml github actions log it says the following:

cibuildwheel version 2.8.1

Build options:
  platform: 'linux'
  architectures: {<Architecture.i686: 'i686'>, <Architecture.x86_64: 'x86_64'>}
  build_selector: {'build_config': 'pp38* cp36-manylinux_* cp38-manylinux_* cp310-*', 'skip_config': '*musl* *_i686 *-win32 pp*win*', 'requires_python': None, 'prerelease_pythons': False}

I'm not familiar with how cibuildwheel works but is it perchance linked to the pyproject.toml file? I noticed that it contains a very similar build config:

build = [
      "pp38*",
      "cp36-manylinux_*",
      "cp38-manylinux_*",
      "cp310-*"
]
# PyPy 3.8 will choke on CPython 3.8 build leftovers...
before-build = "rm -rf _skbuild"
# PyPy builds are broken on Windows, and skip 32-bit and musl
skip = ["*musl*", "*_i686", "*-win32", "pp*win*"]

This build config seems rather lacking as it misses Python 3.6-3.9 on Windows as well.

Perhaps something like the following would provide a more complete wheel selection?

build = [
      "pp37*",
      "pp38*",
      "cp36-*",
      "cp37-*",
      "cp38-*",
      "cp310-*"
]
dhdaines commented 2 years ago

Hi! Yes, it is in the pyproject.toml. I mainly limited it to keep the CI load reasonable in development, but yes, it needs a different action to build for different versions on release. I'll build some soon.

The choice of 3.8 and 3.10 was due to them being the versions in Ubuntu LTS releases.

Crozzers commented 2 years ago

Ah ok that makes sense. Thank you.