frequenz-floss / setuptools-betterproto

A modern setuptools plugin to generate Python files from proto files using betterproto
https://frequenz-floss.github.io/setuptools-betterproto/
MIT License
0 stars 2 forks source link

Add Python 3.10 support (#15) #16

Closed jmlemetayer closed 3 weeks ago

jmlemetayer commented 3 weeks ago

All tests are passing but I have to workaround the installation of the repo-config package like this:

python -m pip install --ignore-requires-python "frequenz-repo-config[extra-lint-examples] == 0.9.2"

python -m pip install -e .[dev]

pytest
llucax commented 3 weeks ago

I would also put in the release notes the extra install steps you used to install in Python 3.10.

llucax commented 3 weeks ago

Please also note some tests are failing. You can easily test using nox once you did the pip install -e .[dev].

jmlemetayer commented 3 weeks ago

PR updated with release note entries.

jmlemetayer commented 3 weeks ago

PR updated, trying to fix the mypy issue by using if sys.version_info >= (3, 11) instead of try.

jmlemetayer commented 3 weeks ago

Sorry, I just noticed the tomli dependency doesn't have an upper bound. I'll merge after that, thanks!

At first, I try to use the "compatible release" specifier by habit (~=), which does the same as >= 1.2.3, < 2, but the CI does not seems to support it.

And I forgot to replace it the right way :wink:

llucax commented 3 weeks ago

I thought that was not supported directly by pip. And yeah, we do a very naive parsing of the versions to test with both the current maximum resolvable dependencies but also with the minimum dependencies we say we support. We should use some proper parser that also resolves the ~= if it is supported by pip.

llucax commented 3 weeks ago

Oh, there is one last catch. We require commits to be cryptographically signed. We know is a bit annoying but it is just to be on the safe side legally, so that the signing the DCO can be verified more strongly.

jmlemetayer commented 3 weeks ago

Oh, there is one last catch. We require commits to be cryptographically signed. We know is a bit annoying but it is just to be on the safe side legally, so that the signing the DCO can be verified more strongly.

Done ! :key:

llucax commented 3 weeks ago

Release v0.3.0 is in the queue (should be out in a few minutes)! :tada: