aiidateam / aiida-core

The official repository for the AiiDA code
https://aiida-core.readthedocs.io
Other
437 stars 193 forks source link

Support for Python 3.13 #6600

Open agoscinski opened 3 weeks ago

agoscinski commented 3 weeks ago

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[bot] commented 3 weeks ago

Codecov Report

All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 77.87%. Comparing base (ef60b66) to head (fc050bf). Report is 127 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #6600 +/- ## ========================================== + Coverage 77.51% 77.87% +0.37% ========================================== Files 560 567 +7 Lines 41444 42120 +676 ========================================== + Hits 32120 32796 +676 Misses 9324 9324 ```

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.