linkml / linkml-runtime

Runtime support for linkml generated models
https://linkml.io/linkml/
Creative Commons Zero v1.0 Universal
22 stars 21 forks source link

Add support for Python 3.12 #286

Closed Silvanoc closed 4 months ago

Silvanoc commented 8 months ago

Add test to validate that "greenlet" is on a version that makes the project runnable on Python v3.12.

Update the Poetry locking file to install such a version. Should someone try to downgrade "greenlet" to a version that cannot run on Python 3.12, the test will fail.

codecov[bot] commented 8 months ago

Codecov Report

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

Comparison is base (51d2fce) 62.80% compared to head (80425ed) 62.89%. Report is 5 commits behind head on main.

Additional details and impacted files ```diff @@ Coverage Diff @@ ## main #286 +/- ## ========================================== + Coverage 62.80% 62.89% +0.09% ========================================== Files 61 62 +1 Lines 8506 8528 +22 Branches 2239 2436 +197 ========================================== + Hits 5342 5364 +22 - Misses 2553 2554 +1 + Partials 611 610 -1 ```

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

Silvanoc commented 8 months ago

Hopefully the same approach used for linkml fixes it here too.

Silvanoc commented 5 months ago

PR linkml/prefixmaps#66 will fix the conflict between having support for both Python 3.8 and 3.12 simultaneously due to dependencies in that package. Therefore marking this PR as draft until a version of prefixmaps with the fix has been released, since we will then need to readapt this patch.

Silvanoc commented 4 months ago

PR linkml/prefixmaps#66 will fix the conflict between having support for both Python 3.8 and 3.12 simultaneously due to dependencies in that package. Therefore marking this PR as draft until a version of prefixmaps with the fix has been released, since we will then need to readapt this patch.

@pkalita-lbl as expected, your fix in prefixmaps has enabled adding support for Python 3.12 without sacrifycing support for Python 3.8. Tests cover both versions and succeed. Now it should be ready for merging.

Silvanoc commented 4 months ago

The issue being fixed by commit 90650c00f1b5e5d55810acebfadbac7fd927e2c7 (and being tested thanks to commit 65e043770f38126cbb053973ac7ede963c417f4e) has been detected and described in https://github.com/linkml/linkml/pull/1704.

It appeared in fact with Python 3.11, but tests were not being run against that Python version, the issue remained undiscovered. With the activation of tests agains Python 3.12 in linkml the issue has been uncovered by an existing test there.

Please notice that regression tests have been added with commit 65e043770f38126cbb053973ac7ede963c417f4e before adding the fix, and are therefore failing. The addition of the fix with commit 90650c00f1b5e5d55810acebfadbac7fd927e2c7 has fixed the tests. See screenshot:

image
Silvanoc commented 4 months ago

AFAIK I'm no maintainer in this project, but the "Merge pull request" button is active.

Now I wonder if I'm expected to merge after having gotten the approval from a maintainer or rather wait for another maintainer to merge it 🤔

I would assume that the approval of a maintainer overrides the open conversations (equivalent to resolving all conversations). Is it so?

Silvanoc commented 4 months ago

I don't fully know the "etiquette" in this project WRT open conversations. In other projects is the opener of a conversation responsible for clicking "Resolve conversation" once satisfied with the replies. How should I handle them here? Close them myself, when I consider I've already clarified all open points?

cmungall commented 4 months ago

We don't have this SOP formally defined. Is there a good template we can follow? If so we can document here https://linkml.io/linkml/contributing/contributing.html

For now, use your best judgment (and we should figure how to make it such that you can resolve comments you yourself made)

On Wed, Feb 21, 2024 at 11:32 AM Silvano Cirujano Cuesta < @.***> wrote:

I don't fully know the "etiquette" in this project WRT open conversations. In other projects is the opener of a conversation responsible for clicking "Resolve conversation" once satisfied with the replies. How should I handle them here? Close them myself, when I consider I've already clarified all open points?

— Reply to this email directly, view it on GitHub https://github.com/linkml/linkml-runtime/pull/286#issuecomment-1957759686, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAMMOJNLPBJCHGRHG6HS23YUZDTDAVCNFSM6AAAAAA7EC7WIWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTSNJXG42TSNRYGY . You are receiving this because you commented.Message ID: @.***>