-
-
Notifications
You must be signed in to change notification settings - Fork 29
Update Python version requirements to 3.12 and above, and add support for 3.14 #233
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
base: main
Are you sure you want to change the base?
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 |
Following https://scientific-python.org/specs/spec-0000/.