release/8.2 can use Python 3.13#3317
Conversation
| matrix: | ||
| parameters: | ||
| NRN_PYTHON_VERSION: ["37", "38", "39", "310", "311"] | ||
| NRN_PYTHON_VERSION_MINOR: ["9", "10", "11", "12", "13"] |
There was a problem hiding this comment.
What's our policy on supporting deprecated Python versions? I think we shouldn't drop support for a patch release, maybe for a minor one it'd be justified, but for a patch it seems a bit much since one could argue dropping support for a Python version is a breaking change.
On the other hand, I don't know if any of the CI providers we are currently using actually have support for 3.7 and 3.8; if they don't, we would kind of be forced to either 1) drop support for them as well, or 2) build any missing releases manually. Here's to hoping that they are still supported in all relevant CIs so we can avoid either of the options above 😅
There was a problem hiding this comment.
I probably have taken the wrong path to adding python3.13 to 8.2. I.e. attempting a complete switch to master way of dealing with github actions and ci. The 3.13 build problems with respect to NEURON source files are pretty well in hand. Perhaps on top of that, minimal additions to existing 8.2 ci,etc. are in order which merely add 313 to the list of additional pythons (surprise that 312 is missing above!). I was just perplexed by the cython/numpy version issue.
|
|
From my testing in #3319, I think we must backport at least these changes to make things work:
The CI is still broken on #3319, with a weird error on the code coverage one (missing symbols for some reason), and Numpy complaints on the Windows one (since we're using dynamic Python, and 3.8 and below don't support numpy 2). |
f108d59 to
c624c94
Compare
d83088e to
26ff143
Compare
26ff143 to
689d92e
Compare
|
At starting point, jelic/8.2-py313 #3319 had only two CI failures. Almost the entirety of this PR is to get 8.2 to pass CI. In addition it supports Python3.13. Bug fixes adopted from the master are #3239 Launching nrniv -python with Python 3.13.0 does not allow use of gui. #3259 On h.quit() terminal settings are same as when neuron.hoc was imported. #3243 save stdin terminal settings on import hoc and restore on h.quit() #3276 Python 3.13.1 broke [s for s in sl] where sl is a SectionList. Manual partial cherry-pick. Other PR attempts at fixing CI failures that can be closed when this PR is merged, are #3329 #3325 #3319 #3317 Many of the CI fixes are backports from #3028 #3040 #3303 #3105 #3278 bldnrnmacpkgcmake.sh was updated. It isolates a change (avoid breaking CI) with -DNRN_MAC_PKG=ON --------- Co-authored-by: Goran Jelic-Cizmek <goran.jelic-cizmek@epfl.ch>
|
Obsoleted by #3352 |



Closes #3316