Skip to content

Support for Python 3.13#6600

Merged
agoscinski merged 5 commits into
aiidateam:mainfrom
agoscinski:py313-support
Apr 30, 2025
Merged

Support for Python 3.13#6600
agoscinski merged 5 commits into
aiidateam:mainfrom
agoscinski:py313-support

Conversation

@agoscinski
Copy link
Copy Markdown
Collaborator

This is a draft for supporting python 3.13. Need to further debug dependencies

So far circus needs to be updated. Since the HEAD of the master branch seems to have fixed most issues on python 3.13, I wanted to test it and published a 0.19.0 version on test pypi from my fork https://github.com/agoscinski/circus

So far numpy needed an update to at least 1.26.2, versions before limited the python version to 3.12 (I am actually not sure how the requirements.txt got to 2.26.1 from the 1.21 in the pyproject.toml).

pandas does not offer binaries for python 3.13 until most recent version 2.2.3, and compiling it during installation fails.

Current issue, that need a bit investigation. I just did not have more time to look into it

Collecting pillow==10.1.0 (from -r requirements/requirements-py-3.13.txt (line 120))                                                                                   
  Downloading Pillow-10.1.0.tar.gz (50.8 MB)                                                                                                                           
     ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 50.8/50.8 MB 3.9 MB/s eta 0:00:00                                                                                        
  Installing build dependencies ... done                                                                                                                               
  Getting requirements to build wheel ... error                                                                                                                        
  error: subprocess-exited-with-error                                                                                                                                  
                                                                                                                                                                       
  × Getting requirements to build wheel did not run successfully.                                                                                                      
  │ exit code: 1                                                                                                                                                       
  ╰─> [21 lines of output]                                                                                                                                             
      Traceback (most recent call last):                                                                                                                               
        File "/opt/anaconda3/envs/py313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 353, in <module>                    
          main()                                                                   
          ~~~~^^                                                                                                                                                       
        File "/opt/anaconda3/envs/py313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 335, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])                                                                                                        
                                   ~~~~^^^^^^^^^^^^^^^^^^^^^^^^
        File "/opt/anaconda3/envs/py313/lib/python3.13/site-packages/pip/_vendor/pyproject_hooks/_in_process/_in_process.py", line 118, in get_requires_for_build_wheel
          return hook(config_settings)                                             
        File "/tmp/pip-build-env-rqcalicw/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 333, in get_requires_for_build_wheel
          return self._get_build_requires(config_settings, requirements=[])
                 ~~~~~~~~~~~~~~~~~~~~~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
        File "/tmp/pip-build-env-rqcalicw/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 303, in _get_build_requires
          self.run_setup()                                                         
          ~~~~~~~~~~~~~~^^                                                         
        File "/tmp/pip-build-env-rqcalicw/overlay/lib/python3.13/site-packages/setuptools/build_meta.py", line 319, in run_setup
          exec(code, locals())
          ~~~~^^^^^^^^^^^^^^^^                                                     
        File "<string>", line 30, in <module>         
        File "<string>", line 27, in get_version                                   
      KeyError: '__version__'                                                      
      [end of output]                
   
  note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error                                                

@codecov
Copy link
Copy Markdown

codecov Bot commented Nov 4, 2024

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 78.29%. Comparing base (cfd2052) to head (1576553).
⚠️ Report is 61 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #6600      +/-   ##
==========================================
+ Coverage   78.29%   78.29%   +0.01%     
==========================================
  Files         566      566              
  Lines       42764    42766       +2     
==========================================
+ Hits        33479    33481       +2     
  Misses       9285     9285              

☔ 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.

agoscinski added a commit to agoscinski/aiida-core that referenced this pull request Nov 4, 2024
Recstrict Python version ito strictly below 3.13 until we have resolved
the dependency issues in PR aiidateam#6600.
@agoscinski agoscinski force-pushed the py313-support branch 2 times, most recently from d4e76c3 to 3d72b40 Compare December 3, 2024 11:29
@agoscinski
Copy link
Copy Markdown
Collaborator Author

Some tests fail because I still circus from testpypi and I haven't added extra-requires at these places. In the end we want to publish the package so the important test that fails is ci-code for py313 that fails because of

FAILED tests/transports/test_ssh.py::test_proxy_command - paramiko.ssh_exception.SSHException: Error reading SSH protocol bannerfiledescriptor out of range in select()
FAILED tests/transports/test_ssh.py::test_gotocomputer - paramiko.ssh_exception.SSHException: Error reading SSH protocol bannerfiledescriptor out of range in select()

Need to figure this out

@agoscinski agoscinski force-pushed the py313-support branch 4 times, most recently from 25a87f5 to 0efcfb6 Compare January 24, 2025 16:50
@agoscinski agoscinski force-pushed the py313-support branch 2 times, most recently from f317e84 to d4f34d6 Compare January 29, 2025 20:07
@agoscinski agoscinski self-assigned this Feb 19, 2025
@agoscinski agoscinski force-pushed the py313-support branch 3 times, most recently from 1e1138f to ef7418e Compare April 25, 2025 09:56
@agoscinski agoscinski marked this pull request as ready for review April 28, 2025 07:34
@agoscinski agoscinski requested a review from unkcpz as a code owner April 28, 2025 07:34
Copy link
Copy Markdown
Member

@unkcpz unkcpz left a comment

Choose a reason for hiding this comment

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

Thanks!

@agoscinski agoscinski merged commit eb34b06 into aiidateam:main Apr 30, 2025
24 checks passed
@agoscinski agoscinski deleted the py313-support branch April 30, 2025 04:34
agoscinski added a commit that referenced this pull request Apr 30, 2025
This change has been forgotten to add in PR #6600 (eb34b0)
agoscinski added a commit that referenced this pull request Apr 30, 2025
This change has been forgotten to add in PR #6600 (eb34b0)
agoscinski added a commit that referenced this pull request Apr 30, 2025
…di and presto jobs in `ci-code` workflow (#6843)

This change was forgotten and not included in PR #6600 (eb34b0)
GeigerJ2 pushed a commit to GeigerJ2/aiida-core that referenced this pull request May 1, 2025
…di and presto jobs in `ci-code` workflow (aiidateam#6843)

This change was forgotten and not included in PR aiidateam#6600 (eb34b0)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

2 participants