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 numpy to 1.26 #34816

Closed
mkoeppe opened this issue Dec 1, 2022 · 11 comments · Fixed by #36123
Closed

Update numpy to 1.26 #34816

mkoeppe opened this issue Dec 1, 2022 · 11 comments · Fixed by #36123

Comments

@mkoeppe
Copy link
Contributor

mkoeppe commented Dec 1, 2022

https://github.com/numpy/numpy/releases

1.26.0.b1 is out, with Python 3.12 support and Cython 3 compatibility.

CC: @antonio-rojas @kiwifb @tornaria

Component: packages: standard

Issue created by migration from https://trac.sagemath.org/ticket/34816

@mkoeppe mkoeppe added this to the sage-9.8 milestone Dec 1, 2022
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 1, 2022

Branch: u/mkoeppe/update_numpy_to_1_24

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 2, 2022

comment:2

There are a bunch of new FutureWarnings:

    FutureWarning: In the future `np.bool` will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.

    FutureWarning: In the future `np.bytes` will be defined as the corresponding NumPy scalar.  (This may have returned Python scalars in past versions.

and also:

sage -t --random-seed=208794765845619979520719224489586219359 src/sage/plot/histogram.py
**********************************************************************
File "src/sage/plot/histogram.py", line 94, in sage.plot.histogram.Histogram.get_minmax_data
Failed example:
    h.get_minmax_data()
Exception raised:
    Traceback (most recent call last):
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.plot.histogram.Histogram.get_minmax_data[9]>", line 1, in <module>
        h.get_minmax_data()
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/plot/histogram.py", line 116, in get_minmax_data
        ydata, xdata = numpy.histogram(self.datalist, **opt)
      File "<__array_function__ internals>", line 198, in histogram
    TypeError: histogram() got an unexpected keyword argument 'normed'

sage -t --random-seed=208794765845619979520719224489586219359 src/sage/plot/plot_field.py
**********************************************************************
File "src/sage/plot/plot_field.py", line 51, in sage.plot.plot_field.PlotField.__init__
Failed example:
    r.yvec_array
Expected:
    masked_array(data=[0.0, 0.70710678118..., 0.70710678118...,
                       0.89442719...],
                 mask=[False, False, False, False],
           fill_value=1e+20)
Got:
    masked_array(data=[0.        , 0.70710678, 0.70710678, 0.89442719],
                 mask=False,
           fill_value=1e+20)

sage -t --random-seed=208794765845619979520719224489586219359 src/sage/misc/persist.pyx
**********************************************************************
File "src/sage/misc/persist.pyx", line 159, in sage.misc.persist.load
Failed example:
    hello
Expected:
    <fortran object>
Got:
    <fortran function hello>

sage -t --random-seed=208794765845619979520719224489586219359 src/sage/plot/complex_plot.pyx
**********************************************************************
File "src/sage/plot/complex_plot.pyx", line 1025, in sage.plot.complex_plot.?
Failed example:
    complex_plot(f, (0, 1), (0, 1), plot_points=300,
                 contoured=True, contour_type='linear', contour_base=1)
Expected:
    Graphics object consisting of 1 graphics primitive
Got:
    doctest:warning
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/bin/sage-runtests", line 154, in <module>
        err = DC.run()
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/control.py", line 1384, in run
        self.run_doctests()
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/control.py", line 1059, in run_doctests
        self.dispatcher.dispatch()
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 2021, in dispatch
        self.parallel_dispatch()
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 1916, in parallel_dispatch
        w.start()  # This might take some time
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 2190, in start
        super().start()
      File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/process.py", line 121, in start
        self._popen = self._Popen(self)
      File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/context.py", line 224, in _Popen
        return _default_context.get_context().Process._Popen(process_obj)
      File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/context.py", line 281, in _Popen
        return Popen(process_obj)
      File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/popen_fork.py", line 19, in __init__
        self._launch(process_obj)
      File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/popen_fork.py", line 71, in _launch
        code = process_obj._bootstrap(parent_sentinel=child_r)
      File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/multiprocessing/process.py", line 314, in _bootstrap
        self.run()
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 2162, in run
        task(self.options, self.outtmpfile, msgpipe, self.result_queue)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 2492, in __call__
        doctests, extras = self._run(runner, options, results)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 2544, in _run
        result = runner.run(test)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 866, in run
        return self._run(test, compileflags, out)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 695, in _run
        self.compile_and_execute(example, compiler, test.globs)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/doctest/forker.py", line 1093, in compile_and_execute
        exec(compiled, globs)
      File "<doctest sage.plot.complex_plot.?[14]>", line 1, in <module>
        complex_plot(f, (Integer(0), Integer(1)), (Integer(0), Integer(1)), plot_points=Integer(300),
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/repl/rich_output/display_manager.py", line 827, in displayhook
        plain_text, rich_output = self._rich_output_formatter(obj, dict())
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/repl/rich_output/display_manager.py", line 645, in _rich_output_formatter
        rich_output = self._call_rich_repr(obj, rich_repr_kwds)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/repl/rich_output/display_manager.py", line 605, in _call_rich_repr
        return obj._rich_repr_(self)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/plot/graphics.py", line 1001, in _rich_repr_
        return display_manager.graphics_from_save(
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/repl/rich_output/display_manager.py", line 733, in graphics_from_save
        save_function(filename, **kwds)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/misc/decorators.py", line 410, in wrapper
        return func(*args, **kwds)
      File "/Users/mkoeppe/s/sage/sage-rebasing/src/sage/plot/graphics.py", line 3358, in save
        figure.savefig(filename, **opts)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/figure.py", line 3046, in savefig
        self.canvas.print_figure(fname, **kwargs)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/backend_bases.py", line 2295, in print_figure
        self.figure.draw(renderer)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/artist.py", line 73, in draw_wrapper
        result = draw(artist, renderer, *args, **kwargs)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/artist.py", line 50, in draw_wrapper
        return draw(artist, renderer)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/figure.py", line 2837, in draw
        mimage._draw_list_compositing_images(
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images
        a.draw(renderer)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/artist.py", line 50, in draw_wrapper
        return draw(artist, renderer)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/axes/_base.py", line 3091, in draw
        mimage._draw_list_compositing_images(
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/image.py", line 132, in _draw_list_compositing_images
        a.draw(renderer)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/artist.py", line 50, in draw_wrapper
        return draw(artist, renderer)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/image.py", line 646, in draw
        im, l, b, trans = self.make_image(
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/image.py", line 956, in make_image
        return self._make_image(self._A, bbox, transformed_bbox, clip,
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/image.py", line 564, in _make_image
        output = self.to_rgba(output, bytes=True, norm=False)
      File "/Users/mkoeppe/s/sage/sage-rebasing/local/var/lib/sage/venv-python3.10/lib/python3.10/site-packages/matplotlib/cm.py", line 440, in to_rgba
        xx = (xx * 255).astype(np.uint8)
      File "/usr/local/Cellar/python@3.10/3.10.8/Frameworks/Python.framework/Versions/3.10/lib/python3.10/warnings.py", line 109, in _showwarnmsg
        sw(msg.message, msg.category, msg.filename, msg.lineno,
    :
    RuntimeWarning: invalid value encountered in cast


New commits:

77b9aabbuild/pkgs/numpy: Update to 1.24.0rc1

@mkoeppe
Copy link
Contributor Author

mkoeppe commented Dec 2, 2022

Commit: 77b9aab

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 13, 2022

Branch pushed to git repo; I updated commit sha1. This was a forced push. New commits:

9e95fc3build/pkgs/numpy: Update to 1.24.0rc1
f8d8b51build/pkgs/numpy: Update to 1.24.0rc2

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 13, 2022

Changed commit from 77b9aab to f8d8b51

@mkoeppe

This comment has been minimized.

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 21, 2022

Branch pushed to git repo; I updated commit sha1. New commits:

23e777ebuild/pkgs/numpy: Update to 1.24.0

@sagetrac-git
Copy link
Mannequin

sagetrac-git mannequin commented Dec 21, 2022

Changed commit from f8d8b51 to 23e777e

@mkoeppe

This comment has been minimized.

@mkoeppe mkoeppe modified the milestones: sage-9.8, sage-9.9 Dec 31, 2022
@tornaria
Copy link
Contributor

tornaria commented Jan 5, 2023

comment:8

The following seems to fix everything for me (numpy 1.24.1 from system)

diff --git a/src/sage/misc/persist.pyx b/src/sage/misc/persist.pyx
index 3ac5f1cc2b0..cb1f327c199 100644
--- a/src/sage/misc/persist.pyx
+++ b/src/sage/misc/persist.pyx
@@ -157,7 +157,7 @@ def load(*filename, compress=True, verbose=True, **kwargs):
         ....:     _ = f.write(code)
         sage: load(t)
         sage: hello
-        <fortran object>
+        <fortran ...>
     """
     import sage.repl.load
     if len(filename) != 1:
diff --git a/src/sage/plot/complex_plot.pyx b/src/sage/plot/complex_plot.pyx
index 6f0aeab87ae..b77c69b2f77 100644
--- a/src/sage/plot/complex_plot.pyx
+++ b/src/sage/plot/complex_plot.pyx
@@ -461,6 +461,8 @@ def complex_to_rgb(z_values, contoured=False, tiled=False,
             rgb[i, j, 2] = b
 
     sig_off()
+    nan_indices = np.isnan(rgb).any(-1)     # Mask for undefined points
+    rgb[nan_indices] = 1                    # Make nan_indices white
     return rgb
 
 
diff --git a/src/sage/plot/histogram.py b/src/sage/plot/histogram.py
index 3bc2b76b58e..388c2d1391d 100644
--- a/src/sage/plot/histogram.py
+++ b/src/sage/plot/histogram.py
@@ -87,13 +87,8 @@ class Histogram(GraphicPrimitive):
 
         TESTS::
 
-            sage: h = histogram([10,3,5], normed=True)[0]
-            doctest:warning...:
-            DeprecationWarning: the 'normed' option is deprecated. Use 'density' instead.
-            See https://trac.sagemath.org/25260 for details.
+            sage: h = histogram([10,3,5], density=True)[0]
             sage: h.get_minmax_data()
-            doctest:warning ...
-            ...VisibleDeprecationWarning: Passing `normed=True` on non-uniform bins has always been broken, and computes neither the probability density function nor the probability mass function. The result is only correct if the bins are uniform, when density=True will produce the same result anyway. The argument will be removed in a future version of numpy.
             {'xmax': 10.0, 'xmin': 3.0, 'ymax': 0.476190476190..., 'ymin': 0}
         """
         import numpy
diff --git a/src/sage/repl/ipython_extension.py b/src/sage/repl/ipython_extension.py
index 798671aab42..cad6a47ca8b 100644
--- a/src/sage/repl/ipython_extension.py
+++ b/src/sage/repl/ipython_extension.py
@@ -405,7 +405,7 @@ class SageMagics(Magics):
             ....: C END FILE FIB1.F
             ....: ''')
             sage: fib
-            <fortran object>
+            <fortran ...>
             sage: from numpy import array
             sage: a = array(range(10), dtype=float)
             sage: fib(a, 10)

@mkoeppe mkoeppe changed the title Update numpy to 1.24 Update numpy to 1.24.x Feb 12, 2023
@mkoeppe
Copy link
Contributor Author

mkoeppe commented Feb 12, 2023

Removed branch from the issue description because it is replaced by PR #35081

vbraun pushed a commit that referenced this issue Feb 24, 2023
    
Taken from #34816.

This is necessary when system numpy is 1.24, and a prerequiste to update
numpy in sagemath.

It's probably safer at this time to merge this and leave the update for
next release.

Testing: void-linux/void-packages#42048

Depends on #35015
    
URL: #34994
Reported by: Gonzalo Tornaría
Reviewer(s): Matthias Köppe, Volker Braun
@mkoeppe mkoeppe modified the milestones: sage-10.0, sage-10.1 Apr 30, 2023
@mkoeppe mkoeppe removed this from the sage-10.1 milestone Aug 7, 2023
@mkoeppe mkoeppe changed the title Update numpy to 1.24.x Update numpy to 1.26 Aug 21, 2023
@mkoeppe mkoeppe added this to the sage-10.2 milestone Aug 21, 2023
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 23, 2023
    
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to
multiply two integers" -->

### 📚 Description

In preparation for important package upgrades, we remove support for
Python v3.8. (Almost) all occurrences of "Python 3.8" are removed from
the codebase. There are still some comments left that essentially say
that in newer versions things can be simplified, but I didn't touch
those and leave them for follow-up PRs.

This will help with:
-  PRs that require Python 3.9 or above, such as
sagemath#34973 and
sagemath#35188.
- Upgrades of Python packages that have dropped support for Python 3.8
because they follow NEP 29 and have already released a new major version
that drops support according to the NEP 29 schedule.
  - NetworkX 3.2 (expected 2023-??; version 3.1 was released 2023-04,
see sagemath#35671)
  - sagemath#34816
  - sagemath#35703
  - See also sagemath#32074.

Test run: https://github.com/tobiasdiez/sage/actions/runs/4586981626

<!-- Describe your changes here in detail. -->
<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [x] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#35404
Reported by: Tobias Diez
Reviewer(s): Dima Pasechnik, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 23, 2023
…-buster` and `fedora-29`

    
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to
multiply two integers" -->

### 📚 Description

<!-- Describe your changes here in detail. -->
<!-- Why is this change required? What problem does it solve? -->
Prerequisite of:
- sagemath#34816
- sagemath#35703
- sagemath#35801

See also:
- sagemath#32074

Instead of fully dropping `debian-buster` (LTS until 2024-06) in the CI,
we replace it by `debian-buster-gcc_spkg` to verify that users on this
platform have the recourse of installing a newer GCC.

We also remove `linuxmint-19.3-gcc_8-python3.8` and change
`fedora-30-python3.8` to `fedora-30` (which builds python from spkg), to
prevent a merge conflict with
sagemath#35404

We also add `debian-trixie` (= current testing).

<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#35810
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 27, 2023
    
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to
multiply two integers" -->

### 📚 Description

In preparation for important package upgrades, we remove support for
Python v3.8. (Almost) all occurrences of "Python 3.8" are removed from
the codebase. There are still some comments left that essentially say
that in newer versions things can be simplified, but I didn't touch
those and leave them for follow-up PRs.

This will help with:
-  PRs that require Python 3.9 or above, such as
sagemath#34973 and
sagemath#35188.
- Upgrades of Python packages that have dropped support for Python 3.8
because they follow NEP 29 and have already released a new major version
that drops support according to the NEP 29 schedule.
  - NetworkX 3.2 (expected 2023-??; version 3.1 was released 2023-04,
see sagemath#35671)
  - sagemath#34816
  - sagemath#35703
  - See also sagemath#32074.

Test run: https://github.com/tobiasdiez/sage/actions/runs/4586981626

<!-- Describe your changes here in detail. -->
<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [x] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#35404
Reported by: Tobias Diez
Reviewer(s): Dima Pasechnik, Matthias Köppe
vbraun pushed a commit to vbraun/sage that referenced this issue Aug 27, 2023
…-buster` and `fedora-29`

    
<!-- Please provide a concise, informative and self-explanatory title.
-->
<!-- Don't put issue numbers in the title. Put it in the Description
below. -->
<!-- For example, instead of "Fixes sagemath#12345", use "Add a new method to
multiply two integers" -->

### 📚 Description

<!-- Describe your changes here in detail. -->
<!-- Why is this change required? What problem does it solve? -->
Prerequisite of:
- sagemath#34816
- sagemath#35703
- sagemath#35801

See also:
- sagemath#32074

Instead of fully dropping `debian-buster` (LTS until 2024-06) in the CI,
we replace it by `debian-buster-gcc_spkg` to verify that users on this
platform have the recourse of installing a newer GCC.

We also remove `linuxmint-19.3-gcc_8-python3.8` and change
`fedora-30-python3.8` to `fedora-30` (which builds python from spkg), to
prevent a merge conflict with
sagemath#35404

We also add `debian-trixie` (= current testing).

<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. It should be `[x]` not `[x
]`. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#35810
Reported by: Matthias Köppe
Reviewer(s): Dima Pasechnik
vbraun pushed a commit to vbraun/sage that referenced this issue Oct 1, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

NumPy 1.26 provides Python 3.12 support and Cython 3 compatibility.

1.26.0 was released 2023-09-16.

As NumPy has changed its build system from setuptools-pinned-to-an-
ancient-version to meson_python, we get rid of our ancient version of
`setuptools`. The SPKGs `setuptools` and `setuptools_wheel` now ship the
same (current) version.

- [x] Check portability run:
https://github.com/mkoeppe/sage/actions/runs/5959239800
- [ ] Check SAGE_FAT_BINARY

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
Resolves sagemath#34816
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies
- Depends on sagemath#36112 (for the `meson_python` upgrades, merged here)
- Depends on sagemath#35404 (merged here as
part of above)
- Depends on sagemath#35810 (merged here as part of above)
- Depends on sagemath#36110 (merged here)
- Depends on sagemath#36263 (merged here)
- Depends on sagemath#36238 (merged here)
- Depends on sagemath#36255 (merged here)
<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36123
Reported by: Matthias Köppe
Reviewer(s):
vbraun pushed a commit that referenced this issue Oct 8, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes #1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

NumPy 1.26 provides Python 3.12 support and Cython 3 compatibility.

1.26.0 was released 2023-09-16.

As NumPy has changed its build system from setuptools-pinned-to-an-
ancient-version to meson_python, we get rid of our ancient version of
`setuptools`. The SPKGs `setuptools` and `setuptools_wheel` now ship the
same (current) version.

- [x] Check portability run:
https://github.com/mkoeppe/sage/actions/runs/5959239800
- [ ] Check SAGE_FAT_BINARY

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes #12345". -->
Resolves #34816
<!-- If your change requires a documentation PR, please link it
appropriately. -->

### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [x] The description explains in detail what this PR is about.
- [x] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies
- Depends on #36112 (for the `meson_python` upgrades, merged here)
- Depends on #35404 (merged here as
part of above)
- Depends on #35810 (merged here as part of above)
- Depends on #36110 (merged here)
- Depends on #36263 (merged here)
- Depends on #36238 (merged here)
- Depends on #36255 (merged here)
<!-- List all open PRs that this PR logically depends on
- #12345: short description why this is a dependency
- #34567: ...
-->

<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: #36123
Reported by: Matthias Köppe
Reviewer(s):
vbraun pushed a commit to vbraun/sage that referenced this issue Oct 19, 2023
    
<!-- ^^^^^
Please provide a concise, informative and self-explanatory title.
Don't put issue numbers in there, do this in the PR body below.
For example, instead of "Fixes sagemath#1234" use "Introduce new method to
calculate 1+1"
-->
<!-- Describe your changes here in detail -->

<!-- Why is this change required? What problem does it solve? -->
<!-- If this PR resolves an open issue, please link to it here. For
example "Fixes sagemath#12345". -->
<!-- If your change requires a documentation PR, please link it
appropriately. -->



### 📝 Checklist

<!-- Put an `x` in all the boxes that apply. -->
<!-- If your change requires a documentation PR, please link it
appropriately -->
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
<!-- Feel free to remove irrelevant items. -->

- [x] The title is concise, informative, and self-explanatory.
- [ ] The description explains in detail what this PR is about.
- [ ] I have linked a relevant issue or discussion.
- [ ] I have created tests covering the changes.
- [ ] I have updated the documentation accordingly.

### ⌛ Dependencies

<!-- List all open PRs that this PR logically depends on
- sagemath#12345: short description why this is a dependency
- sagemath#34567: ...
-->
- Depends on sagemath#34816
- Depends on sagemath#36279
-
<!-- If you're unsure about any of these, don't hesitate to ask. We're
here to help! -->
    
URL: sagemath#36320
Reported by: Matthias Köppe
Reviewer(s): John H. Palmieri, Matthias Köppe
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants