Skip to content

[WIP] Backport 8.2: Python 3.13 support#3319

Closed
JCGoran wants to merge 20 commits into
release/8.2from
jelic/8.2-py313
Closed

[WIP] Backport 8.2: Python 3.13 support#3319
JCGoran wants to merge 20 commits into
release/8.2from
jelic/8.2-py313

Conversation

@JCGoran

@JCGoran JCGoran commented Jan 24, 2025

Copy link
Copy Markdown
Collaborator

Uses #3317 as baseline. Also backported #3028, #3040, and part of #1969.

@JCGoran JCGoran added the release Release related issues label Jan 24, 2025
Comment on lines +55 to +59
39) numpy_ver="numpy>=2" ;;
310) numpy_ver="numpy>=2" ;;
311) numpy_ver="numpy>=2" ;;
312) numpy_ver="numpy>=2" ;;
313) numpy_ver="numpy>=2" ;;

Copy link
Copy Markdown
Collaborator Author

Choose a reason for hiding this comment

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

This is because numpy 2 is backwards compatible, but numpy 1 is not forwards compatible, so building a wheel with numpy 1.x and testing it with 2.x will fail, but the other way around works.

@nrnhines

Copy link
Copy Markdown
Member

It looks like you're in some sense resurrecting my failed attempt (subsequently reverted) in #3317 to adopt master methods for ci into release/8.2. I'm speculating that my further attempts to manually and minimally just increase the list of pythons in release/8.2 is making good progress even though ci currently rests at 33 failing and 6 successful checks.
The main issues I'm dealing with now are forking coreneuron for release/8.2 into neuronsimulator and applying any needed version consistency updates. Also establishing that numpy and cython generated pyx files are compatible. I.e. by checking that the first line of the generated cpp file, if it exists, , e.g. /* Generated by Cython 3.0.11 */ matches the current cython version in use. (and re-generating if not). Anyway, when those two changes are accomplished, I'll see how the ci stands, and decide whether to continue that path.

@sonarqubecloud

Copy link
Copy Markdown

@azure-pipelines

Copy link
Copy Markdown

✔️ 8ad39c1 -> Azure artifacts URL

nrnhines added a commit that referenced this pull request Mar 24, 2025
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>
@JCGoran

JCGoran commented Apr 11, 2025

Copy link
Copy Markdown
Collaborator Author

Closing in favor of #3352

@JCGoran JCGoran closed this Apr 11, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

release Release related issues

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants