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

MAINT: Compile with Cython 3.0.10 #1303

Merged
merged 3 commits into from
Jul 23, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .github/workflows/run-mayavi-tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ jobs:
strategy:
matrix:
os: [ubuntu-latest, windows-latest, macos-13]
python-version: ['3.8']
python-version: ['3.9']
qt-api: ['pyqt5']
vtk: ['vtk<9.3']
include:
Expand Down
2 changes: 1 addition & 1 deletion pyproject.toml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[build-system]
requires = [
"oldest-supported-numpy",
"numpy>=2.0.0rc2,<3",
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Is this a problem? Should we reduce this requirement, what if someone is using 1.21.6 wants to install mayavi?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is for the build system. So if someone does pip install . or whatever, it should do an isolated build using NumPy 2+. This should be fine for them since wheels compiled with NumPy 2 are backward compatible with NumPy 1.x.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Yes, but since numpy 2.x does not work with 3.8, those on an older Python cannot use Mayavi. Do we want that or is Python 3.8 ancient history?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Even though security support for 3.8 isn't over yet (it ends in 5 months), NumPy made the decision to drop it already. So to me it makes sense for Mayavi to drop it as well.

If it were trivial to support 3.8 I'd say "sure let's keep it", but I'm not sure how hard it would be to fix the errors seen here for example:

https://github.com/enthought/mayavi/actions/runs/9273915257/job/25515059891

  tvtk/src/array_ext.c:3467:13: error: call to undeclared function 'PyArray_MultiIter_ITERS'; ISO C99 and later do not support implicit function declarations [-Wimplicit-function-declaration]

I tried for a little while but it wasn't trivial for me at least.

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the clarification, in any case people could use the previous release of mayavi if they really want to use Python 3.8.

"setuptools",
"vtk",
"wheel"
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -325,7 +325,7 @@ def run(self):
author="Prabhu Ramachandran, et al.",
author_email="[email protected]",
maintainer='ETS Developers',
python_requires='>=3.8',
python_requires='>=3.9',
maintainer_email='[email protected]',
url='http://docs.enthought.com/mayavi/mayavi/',
classifiers=[c.strip() for c in """\
Expand Down
Loading