Skip to content

Release 0.8.0#1062

Merged
lfarv merged 8 commits intomasterfrom
release-0.8
Mar 23, 2026
Merged

Release 0.8.0#1062
lfarv merged 8 commits intomasterfrom
release-0.8

Conversation

@lfarv
Copy link
Copy Markdown
Contributor

@lfarv lfarv commented Mar 18, 2026

It's now time for a new release.

I think it's the opportunity to set the "new" matching as the default from now on. This branch sets this. The tests and example notebooks are modified to take this into account.

The "old" matching is still available by importing its classes from the at.deprecated module. The access to the new matching through the at.future module is still possible.

The draft of the release notes is here

@lfarv lfarv added the Python For python AT code label Mar 18, 2026
@lfarv
Copy link
Copy Markdown
Contributor Author

lfarv commented Mar 19, 2026

GitHub Actions are updated to their last version.

Wheels are now built for free-threaded python version 3.14 (3.14t). AT has not been tested on free-threaded python, it has to be checked…

The Matlab tests on windows are skipped until we find a solution. The problem is likely coming from a library conflict. Running python in-process or out-of-process does not make any difference.

@lfarv
Copy link
Copy Markdown
Contributor Author

lfarv commented Mar 19, 2026

Ready for review !

@lfarv
Copy link
Copy Markdown
Contributor Author

lfarv commented Mar 19, 2026

Free-threaded builds are skipped: we have to make the C modules thread-safe, which is not the case

Copy link
Copy Markdown
Contributor

@oscarxblanco oscarxblanco left a comment

Choose a reason for hiding this comment

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

Thank you @lfarv !

@oscarxblanco
Copy link
Copy Markdown
Contributor

Wheels are now built for free-threaded python version 3.14 (3.14t). AT has not been tested on free-threaded python, it has to be checked…

Right, how could it be tested ?

@lfarv
Copy link
Copy Markdown
Contributor Author

lfarv commented Mar 19, 2026

Right, how could it be tested ?

I tried installing AT on python 3.14t. The first result is that when the C extension is imported, I get a warning saying that the extension does not mention if it is compatible with free threading, so python will by default enable the GIL… Then the tests are mostly successful, but not completely.

So the first action is to modify the C extension initialisation to use multi-phase initialisation, and tell there if we need the GIL or not.

Second, we have to check if atpass is thread-safe. Roughly, we have the check the use of static global variables. A delicate task.

Since a number of dependencies are not yet ready for free threading (matplotlib for instance), we have time to think about it. And why not think about using tools like Cython (or other) to interface our C code rather that doing it ourselves…

@lfarv
Copy link
Copy Markdown
Contributor Author

lfarv commented Mar 23, 2026

@swhite2401 : is this OK for you (new matching) ?

Copy link
Copy Markdown
Contributor

@swhite2401 swhite2401 left a comment

Choose a reason for hiding this comment

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

Yes all good for me!

@lfarv lfarv merged commit 0a91047 into master Mar 23, 2026
27 checks passed
@lfarv lfarv deleted the release-0.8 branch March 23, 2026 12:39
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Python For python AT code

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants