Update Python version requirements to 3.12 and above#233
Update Python version requirements to 3.12 and above#233dimpase merged 7 commits intosagemath:mainfrom
Conversation
|
maybe you should remove macos-13 from ci. Because macos-13 runners will be Deprecated in this November |
|
And there are two versions of python 3.14. one version is no gil, python3.14t, I think we can add this |
|
Thanks. Before going forward with this PR, 3.14 actually needs to be released. |
|
Currently hitting #232. @user202729 this looks like a fun issue made for you? 🦊 |
Fixes
```
FAILED: [code=1] src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/meson-generated_src_cysignals_signals.pyx.c.o
cc -Isrc/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p -Isrc/cysignals -I../src/cysignals -Isrc -I../src -I/opt/_internal/cpython-3.14.0rc2-nogil/include/python3.14t -fvisibility=hidden -fdiagnostics-color=always -DNDEBUG -D_FILE_OFFSET_BITS=64 -Wall -Winvalid-pch -Wextra -O3 -DCYTHON_CLINE_IN_TRACEBACK=0 -U_FORTIFY_SOURCE -fPIC -pthread -MD -MQ src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/meson-generated_src_cysignals_signals.pyx.c.o -MF src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/meson-generated_src_cysignals_signals.pyx.c.o.d -o src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/meson-generated_src_cysignals_signals.pyx.c.o -c src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/src/cysignals/signals.pyx.c
src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/src/cysignals/signals.pyx.c: In function ‘__pyx_f_9cysignals_7signals_verify_exc_value’:
src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/src/cysignals/signals.pyx.c:4699:32: error: ‘PyObject’ {aka ‘struct _object’} has no member named ‘ob_refcnt’
4699 | __pyx_t_1 = (cysigs.exc_value->ob_refcnt == 1);
| ^~
src/cysignals/signals.cpython-314t-x86_64-linux-gnu.so.p/src/cysignals/signals.pyx.c:4996:33: error: ‘PyObject’ {aka ‘struct _object’} has no member named ‘ob_refcnt’
4996 | __pyx_t_10 = (cysigs.exc_value->ob_refcnt == 1);
| ^~
```
1b7b1bb to
e8172b4
Compare
|
or I can just not upgrade to Python 3.14 and not encounter the issue 🙈 more seriously, cysignals does use a lot of implementation-defined behavior, but it is somewhat surprising to see internal change to e.g. Python object struct or such breaking its behavior. speaking of the most recent commit, if sagemath/sage#40734 gets in then |
Or… you could upgrade and live on the wild side 😄 Anyway, I was referring more to the fact that you successfully looked at and fixed similar bugs before - so I thought you might like to look at this one as well.
Good to know. I'm sadly not familiar enough with the code to properly review sagemath/sage#40734, so you might try to ping a few people that worked on it/similar code before. Once |
|
@dimpase could you have a look at this PR as well (and then afterwards push a new release)? Thanks! |
|
do we wait for another 2 weeks for 3.11 to officially become too old? |
|
I don't think anyone will kill us by dropping it two weeks to early (especially since the idea behind spec 0 is that a project should support the last 3 python versions - which are now 3.12 - 3.14). |
Following https://scientific-python.org/specs/spec-0000/.