Skip to content

Python 3.15 wheels #579

Open
Open

Description

@warrenseine

Python 3.15.0 was released on October 9, and numexpr doesn't have cp315 wheels on PyPI yet, so installing it on 3.15 means building from the sdist.

It looks like the wheel workflow still pins pypa/cibuildwheel@v3.1.3. cibuildwheel has built CPython 3.15 wheels by default since 4.2.0, so a bump there plus a release might be all it takes 🤞🏻.

Would you consider a release with 3.15 wheels? Thanks for maintaining numexpr!

Activity

  1. jinzomotsu commented on Oct 12, 2026

    @jinzomotsu

    Tested the unmodified NumExpr 2.14.2 sdist locally on CPython 3.15.0, macOS 27.2 arm64 (Apple clang 21.0.0), NumPy 2.5.2 and pytest 9.1.1, standard GIL build, VML unavailable.

    Source build succeeded, and the installed upstream test suite reports 6042 passed, 8 warnings. The warnings are PytestUnknownMarkWarning for thread_unsafe when running from outside the source tree.

    Reproduction in a fresh environment (Python 3.15 already installed):

    uv venv --python python3.15 .venv-numexpr315
    uv pip install --python .venv-numexpr315/bin/python --no-binary numexpr numexpr==2.14.2 numpy==2.5.2 pytest==9.1.1
    env -u NUMEXPR_MAX_THREADS -u NUMEXPR_NUM_THREADS -u OMP_NUM_THREADS .venv-numexpr315/bin/python -m pytest --pyargs numexpr -q

    An initial run with all three thread environment variables forced to 1 had 6039 passes and 3 threading-configuration failures; those tests expect to control the environment themselves. Removing those overrides gave the full pass above, with no source changes.

    This is additional evidence for the macOS arm64 / regular CPython 3.15 build. It does not validate free-threaded Python, wheel portability to older macOS versions, VML, or performance. No compatibility patch was needed for this local build.

    Downstream check: this source build also allowed PyMBAR 4.0.3 to install in the same Python 3.15 environment (NumPy 2.5.2, SciPy 1.18.1, JAX/JAXlib 0.11.1). Its BAR/EXP/utils test subset reports 21 passed and 8 expected failures. A fixed three-state MBAR fixture gave identical free-energy differences, uncertainties, overlap matrix and effective sample counts on Python 3.12 and 3.15. This is a limited downstream smoke test, not the full PyMBAR suite or a performance claim.

  2. FrancescAlted commented on Oct 13, 2026

    @FrancescAlted
    Contributor
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions