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

Update pyproject.toml for Python 3.11 support and to fix 32-bit Windows pinnings #6519

Merged
merged 15 commits into from Nov 2, 2022

Conversation

grlee77
Copy link
Contributor

@grlee77 grlee77 commented Sep 16, 2022

Update

This PR has been revised to only make some minor updates to pyproject.toml as the 3.11 testing on CI was since added separately in #6566. The original description is still below

Description

This PR adds a test case with Python "3.11-dev" (currently 3.11.0-rc.2) to the linux and MacOS test matrices. For now, extra pip flags are added to help find nightly 3.11 wheels for SciPy and Matplotlib. NumPy, Cython and PyWavelets have Python 3.11 wheels up on PyPI itself.

Aside from the 3.11-specific changes there are two additional improvements to pyproject.toml here:

  • updated NumPy version pinning for Python 3.10. This would allow us to restore the win32 wheels that are currently skipped on 3.10 in our wheel building script
  • upper version pin on setuptools to protect against future backward-incompatible changes

Checklist

  • Docstrings for all functions
  • Gallery example in ./doc/examples (new features only)
  • Benchmark in ./benchmarks, if your changes aren't covered by an
    existing benchmark
  • Unit tests
  • Clean style in the spirit of PEP8
  • Descriptive commit messages (see below)

For reviewers

  • Check that the PR title is short, concise, and will make sense 1 year
    later.
  • Check that new functions are imported in corresponding __init__.py.
  • Check that new features, API changes, and deprecations are mentioned in
    doc/release/release_dev.rst.
  • There is a bot to help automate backporting a PR to an older branch. For
    example, to backport to v0.19.x after merging, add the following in a PR
    comment: @meeseeksdev backport to v0.19.x
  • To run benchmarks on a PR, add the run-benchmark label. To rerun, the label
    can be removed and then added again. The benchmark output can be checked in
    the "Actions" tab.

@grlee77 grlee77 changed the title Add py3.11 testing Add Python 3.11 tests for linux and MacOS Sep 17, 2022
@lagru lagru added the 🤖 type: Infrastructure CI, packaging, tools and automation label Sep 19, 2022
@lagru lagru mentioned this pull request Sep 20, 2022
@grlee77
Copy link
Contributor Author

grlee77 commented Oct 17, 2022

Thanks @jarrodmillman for adding the Python 3.11 tests in #6566. I think there are still some pyproject.toml changes here that we probably want, so I have renamed the PR accordingly.

  • update NumPy pinnings to fix Windows 32-bit and Python>3.11 behavior
  • add an upper bound to setuptools (just pinned to the current version as it still seems to work for me)

Note that the setuptools pin is only for the version used during the build and is not a restriction on users installing scikit-image.

@grlee77 grlee77 changed the title Add Python 3.11 tests for linux and MacOS Update pyproject.toml for Python 3.11 support and to fix 32-bit Windows pinnings Oct 17, 2022
@grlee77 grlee77 marked this pull request as ready for review October 17, 2022 13:11
@mkcor
Copy link
Member

mkcor commented Oct 31, 2022

@jarrodmillman shouldn't we request your review of this PR, in the perspective of the 0.20 release? ❤️

@jarrodmillman jarrodmillman added this to the 0.20 milestone Nov 2, 2022
@jarrodmillman
Copy link
Contributor

I am going to merge this and rebase PR #6581 on it.

@jarrodmillman jarrodmillman merged commit 6fecb80 into scikit-image:main Nov 2, 2022
@mkcor
Copy link
Member

mkcor commented Nov 2, 2022

Thank you, @jarrodmillman!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
🤖 type: Infrastructure CI, packaging, tools and automation
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

4 participants