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

feat(package-managers/python)!: Support Python 3.11 #7598

Merged
merged 2 commits into from
Sep 29, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@ project:
- name: "install"
dependencies:
- id: "PyPI::graphviz:0.19.1"
- id: "PyPI::jinja2:3.0.1"
- id: "PyPI::jinja2:3.0.3"
dependencies:
- id: "PyPI::markupsafe:2.0.1"
packages:
Expand Down Expand Up @@ -56,8 +56,8 @@ packages:
url: "https://github.com/xflr6/graphviz.git"
revision: ""
path: ""
- id: "PyPI::jinja2:3.0.1"
purl: "pkg:pypi/[email protected].1"
- id: "PyPI::jinja2:3.0.3"
purl: "pkg:pypi/[email protected].3"
authors:
- "Armin Ronacher <[email protected]>"
declared_licenses:
Expand All @@ -70,14 +70,14 @@ packages:
description: "A very fast and expressive template engine."
homepage_url: "https://palletsprojects.com/p/jinja/"
binary_artifact:
url: "https://files.pythonhosted.org/packages/80/21/ae597efc7ed8caaa43fb35062288baaf99a7d43ff0cf66452ddf47604ee6/Jinja2-3.0.1-py3-none-any.whl"
url: "https://files.pythonhosted.org/packages/20/9a/e5d9ec41927401e41aea8af6d16e78b5e612bca4699d417f646a9610a076/Jinja2-3.0.3-py3-none-any.whl"
hash:
value: "1f06f2da51e7b56b8f238affdd6b4e2c61e39598a378cc49345bc1bd42a978a4"
value: "077ce6014f7b40d03b47d1f1ca4b0fc8328a692bd284016f806ed0eaca390ad8"
algorithm: "SHA-256"
source_artifact:
url: "https://files.pythonhosted.org/packages/39/11/8076571afd97303dfeb6e466f27187ca4970918d4b36d5326725514d3ed3/Jinja2-3.0.1.tar.gz"
url: "https://files.pythonhosted.org/packages/91/a5/429efc6246119e1e3fbf562c00187d04e83e54619249eb732bb423efa6c6/Jinja2-3.0.3.tar.gz"
hash:
value: "703f484b47a6af502e743c9122595cc812b0271f661722403114f71a79d0f5a4"
value: "611bb273cd68f3b993fabdc4064fc858c5b47a973cb5aa7999ec1ba405c87cd7"
algorithm: "SHA-256"
vcs:
type: ""
Expand All @@ -103,10 +103,10 @@ packages:
description: "Safely add untrusted strings to HTML/XML markup."
homepage_url: "https://palletsprojects.com/p/markupsafe/"
binary_artifact:
url: "https://files.pythonhosted.org/packages/53/e8/601efa63c4058311a8bda7984a2fe554b9da574044967d7aee253661ee46/MarkupSafe-2.0.1-cp310-cp310-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_12_x86_64.manylinux2010_x86_64.whl"
url: ""
Copy link
Member

Choose a reason for hiding this comment

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

This diff is unexpected to me even after reading the commit message again.

Copy link
Member Author

@fviernau fviernau Sep 28, 2023

Choose a reason for hiding this comment

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

Why exactly is it unexpected to you? ...and what do you suggest?

Maybe as a note: If I adjust test to pass explicitly python version 3.10 as option, then there is not diff here.

Copy link
Member

@sschuberth sschuberth Sep 28, 2023

Choose a reason for hiding this comment

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

I would have expected either no change to the artifact's metadata at all, or a change that reflects the 3.10 -> 3.11 version upgrade, e.g. by pointing to a new artifact that does not contain "cp310" but "cp311" as part of its URL. Anyway, I do not understand why this being empty should be correct. I suggest explaining in the commit message why there is no according Python 3.11 artifact.

Copy link
Member Author

Choose a reason for hiding this comment

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

I haven't figured this out myself yet. Would you be ok, if we pinned the test to version 3.10 for now and leave this open for future investigation?

Copy link
Member Author

Choose a reason for hiding this comment

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

I've investigated a bit further and updated the commit message with additional info.

Copy link
Member Author

@fviernau fviernau Sep 28, 2023

Choose a reason for hiding this comment

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

If I upgrade python on docker to 3.11, then the test diff seems to be empty.
So, this is the way to go then, @sschuberth ?

Note: I believe meanwhile, that there is a general problem with the approach of combining poetry export with python-inspector, in case the python version passed to python-inspector differs from the Python version installed. Trying this out now by making a separate PR for updating python, to see if it breaks the poetry fun test.

Copy link
Member

Choose a reason for hiding this comment

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

BTW, https://pypi.org/project/MarkupSafe/2.0.1/#files shows that there's indeed no pre-built binary distribution for Python 3.11, so it's probably fine for the binary artifact to become empty, as the source artifact is still there.

As a side note, https://pypi.org/project/MarkupSafe/2.1.2/#files starts to have 3.11 binary artifacts, so if the project would upgrade to MarkupSafe 2.1.2, this should not become empty anymore.

Copy link
Member Author

@fviernau fviernau Sep 29, 2023

Choose a reason for hiding this comment

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

BTW, https://pypi.org/project/MarkupSafe/2.0.1/#files shows that there's indeed no pre-built binary distribution for Python 3.11, so it's probably fine for the binary artifact to become empty, as the source artifact is still there.

This is almost exactly what the (updated) commit message now says.

Copy link
Member Author

Choose a reason for hiding this comment

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

If I upgrade python on docker to 3.11, then the test diff seems to be empty.
So, this is the way to go then, @sschuberth ?

This turned out to be wrong. A mistake during debugging.

hash:
value: "168cd0a3642de83558a5153c8bd34f175a9a6e7f6dc6384b9655d2697312a646"
algorithm: "SHA-256"
value: ""
algorithm: ""
source_artifact:
url: "https://files.pythonhosted.org/packages/bf/10/ff66fea6d1788c458663a84d88787bae15d45daa16f6b3ef33322a51fc7e/MarkupSafe-2.0.1.tar.gz"
hash:
Expand Down
Loading