Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Python 3.11 support #727

Merged
merged 16 commits into from
Aug 16, 2023
Merged

Python 3.11 support #727

merged 16 commits into from
Aug 16, 2023

Conversation

juhoinkinen
Copy link
Member

@juhoinkinen juhoinkinen commented Aug 15, 2023

Allow installing Annif on Python 3.11, and run unit tests on it in the CI/CD pipeline.

Omikuji dependency does not work Python 3.11, see #703 (comment). Other dependencies seem to work (i.e. the unit tests pass).

tomli is now a (direct) dependency only on Python <3.11, on Python 3.11 tomllib of standard library is used instead (PEP 690). However, also on Python 3.11 tomli is still installed as it is a dependency of black, coverage, pytest and schemathesis.

Closes #703, includes merge of the branch of #726.

@juhoinkinen juhoinkinen added this to the 1.0 milestone Aug 15, 2023
@juhoinkinen juhoinkinen linked an issue Aug 15, 2023 that may be closed by this pull request
@codecov
Copy link

codecov bot commented Aug 15, 2023

Codecov Report

Patch coverage: 100.00% and no project coverage change.

Comparison is base (320af2b) 99.67% compared to head (f928844) 99.67%.
Report is 18 commits behind head on main.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #727   +/-   ##
=======================================
  Coverage   99.67%   99.67%           
=======================================
  Files          89       89           
  Lines        6380     6400   +20     
=======================================
+ Hits         6359     6379   +20     
  Misses         21       21           
Files Changed Coverage Δ
annif/backend/dummy.py 100.00% <ø> (ø)
annif/backend/ensemble.py 100.00% <ø> (ø)
annif/backend/nn_ensemble.py 100.00% <ø> (ø)
annif/backend/omikuji.py 97.46% <ø> (-0.13%) ⬇️
annif/backend/svc.py 100.00% <ø> (ø)
annif/backend/yake.py 98.18% <ø> (-0.07%) ⬇️
tests/test_backend_stwfsa.py 100.00% <ø> (ø)
annif/__init__.py 100.00% <100.00%> (ø)
annif/backend/backend.py 100.00% <100.00%> (ø)
annif/backend/mllm.py 100.00% <100.00%> (ø)
... and 5 more

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

@osma
Copy link
Member

osma commented Aug 16, 2023

If the unit tests pass on Python 3.11 (except Omikuji, but that is not even installed for 3.11), then I don't see why we should mark the CI tests as experimental. It would be a different situation if some core tests were failing on 3.11 and we couldn't fix them right now.

@juhoinkinen juhoinkinen marked this pull request as ready for review August 16, 2023 06:23
@sonarcloud
Copy link

sonarcloud bot commented Aug 16, 2023

Kudos, SonarCloud Quality Gate passed!    Quality Gate passed

Bug A 0 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 0 Code Smells

No Coverage information No Coverage information
0.0% 0.0% Duplication

@osma
Copy link
Member

osma commented Aug 16, 2023

The Python 3.11 parts of this PR look good to me, but since this includes all the commits from PR #726, we need to make sure those are good as well before merging this. I noticed a potential problem with TF/Keras, see #726 (comment)

@juhoinkinen juhoinkinen merged commit b2b5222 into main Aug 16, 2023
15 checks passed
@juhoinkinen juhoinkinen deleted the issue703-python-3.11-support branch August 16, 2023 10:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Python 3.11 support
2 participants