Skip to content

Conversation

@garrettwrong
Copy link
Collaborator

Potential updates to support Python 3.9 and update some of our numerical packages.

We're still dependent on PyFFTW to either make a 3.9 wheel, or fix their packaging so we can pip install from source. It is possible for us to work around that if it becomes essential. I reported the issue to them, and I think their developers are looking into it. They have seen it a few times now... so I suggest we wait before we workaround in our packaging.

Closes #320

@garrettwrong garrettwrong added enhancement New feature or request CI Continuous Integration labels Feb 12, 2021
@garrettwrong garrettwrong self-assigned this Feb 12, 2021
@garrettwrong
Copy link
Collaborator Author

Adding some notes.

Numpy, >=1.20 does not support Python 3.6. This has the tandem effect of limiting scipy versions, and anything that might require these two, and so on.
https://numpy.org/doc/stable/release/1.20.0-notes.html

skimage is removed per #388 . That helps.

pyfftw now has a PR which migrates to new python packaging format, along with some packaging depend changes. I hope that will install the required cython that pip needs to build from source. Eventually they will also make a 3.9 wheel. This leads to the last issue I encountered... there is some potential for compatibility issues between older numpy with newer pyfftw and vice versa. It looks something like below. This was latest pyfftw with numpy 1.19. Goes away with numpy 1.20. Will need to check that out again when they've moved...

  E   ValueError: numpy.ndarray size changed, may indicate binary incompatibility. Expected 88 from C header, got 80 from PyObject

@garrettwrong
Copy link
Collaborator Author

Noting that PyFFTW has recently merged their pyproject.toml patch which should cover some of the issues with 3.9. However this is still waiting on cross platform 3.9 wheels or a new release which includes the previously mentioned patch.

@garrettwrong
Copy link
Collaborator Author

Checking up on this, still waiting on PyFFTW to support 3.9. Maybe our next release (they don't release too often).

The changes/conflicts here are relatively minor, nothing to worry about.

@garrettwrong
Copy link
Collaborator Author

Planning to discuss this today, but I think because this PR is sufficiently conlficted/stale (and is easier to just redo) I will move to close this PR and start a fresh one following some discussion. Today I can split this into three topics, the bulk 3.9 support changes (int, float replacements), package version changes, and the pyfftw which was being discussed by their maintainers yesterday...

@janden
Copy link
Collaborator

janden commented Sep 9, 2021

Makes sense to me.

@garrettwrong garrettwrong mentioned this pull request Sep 9, 2021
@garrettwrong garrettwrong deleted the py39_updates branch January 18, 2022 17:55
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CI Continuous Integration enhancement New feature or request

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants