Skip to content

WIP: Support python 3.14 - #7074

Closed
danielhollas wants to merge 6 commits into
aiidateam:mainfrom
danielhollas:support-python-3.14
Closed

WIP: Support python 3.14#7074
danielhollas wants to merge 6 commits into
aiidateam:mainfrom
danielhollas:support-python-3.14

Conversation

@danielhollas

Copy link
Copy Markdown
Collaborator

WIP but seems to work! The biggest obstackle is the change in behaviour in asyncio.get_event_loop which now throws a RuntimeError if there's no loop. This requires fixes in both aiida-core and plumpy. The corresponding plumpy PR is aiidateam/plumpy#329.

Otherwise things seems to just work.

Comment thread environment.yml
- alembic~=1.8
- archive-path~=0.4.2
- asyncssh~=2.19.0
- asyncssh~=2.21.0

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 bump is needed as 2.20.0 version had some Python 3.14 fixes

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.

Comment thread environment.yml
- archive-path~=0.4.2
- asyncssh~=2.19.0
- asyncssh~=2.21.0
- circus~=0.19.0

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.

Opened a PR with tests for 3.14
circus-tent/circus#1233

Comment thread environment.yml
- asyncssh~=2.21.0
- circus~=0.19.0
- click-spinner~=0.1.8
- click<8.3,>=8.1.0

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.

btw: get-annotations dependency can be dropped once we drop support for Python 3.9

https://pypi.org/project/get-annotations/

Comment thread environment.yml
- jinja2~=3.0
- kiwipy[rmq]~=0.8.4
- kiwipy[rmq]>=0.8.4
- importlib-metadata~=6.0

@danielhollas danielhollas Nov 5, 2025

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.

btw: importlib-metadata can be dropped once we drop 3.9 in favour of stdlib importlib.metadata, see comment in: aiida/plugins/entry_point.py

Comment thread environment.yml
@@ -38,3 +38,4 @@ dependencies:
- upf_to_json~=0.9.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.

tabulate seems to work with 3.14
astanin/python-tabulate#372

Comment thread environment.yml
@@ -38,3 +38,4 @@ dependencies:
- upf_to_json~=0.9.2
- wrapt~=1.11

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.

Wrapt just had a 2.0 release: https://wrapt.readthedocs.io/en/latest/changes.html#version-2-0-0

Looking at the changelog it seems that it should be safe to upgrade (we're only using wrapt.decorator).
We could also choose to support both 1.x and 2.x, as there might be aiida plugins that depend on wrapt as well.

Possibly the biggest reason to update is that the package is now typed. :-)

@codecov

codecov Bot commented Jan 13, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 25.00000% with 21 lines in your changes missing coverage. Please review.
✅ Project coverage is 29.98%. Comparing base (b3cf7b4) to head (0eee0ea).
⚠️ Report is 135 commits behind head on main.

Files with missing lines Patch % Lines
src/aiida/engine/utils.py 20.00% 8 Missing ⚠️
src/aiida/engine/processes/futures.py 0.00% 6 Missing ⚠️
src/aiida/engine/transports.py 33.34% 4 Missing ⚠️
src/aiida/engine/runners.py 50.00% 3 Missing ⚠️

❗ There is a different number of reports uploaded between BASE (b3cf7b4) and HEAD (0eee0ea). Click for more details.

HEAD has 1 upload less than BASE
Flag BASE (b3cf7b4) HEAD (0eee0ea)
2 1
Additional details and impacted files
@@             Coverage Diff             @@
##             main    #7074       +/-   ##
===========================================
- Coverage   79.60%   29.98%   -49.61%     
===========================================
  Files         565      565               
  Lines       43577    43551       -26     
===========================================
- Hits        34684    13055    -21629     
- Misses       8893    30496    +21603     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@danielhollas

Copy link
Copy Markdown
Collaborator Author

Superceded by #7240

@danielhollas
danielhollas deleted the support-python-3.14 branch February 27, 2026 23:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant