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

patch invoke<2.0.0 to require python<3.11 #576

Merged
merged 1 commit into from
Oct 20, 2023

Conversation

AaronOpfer
Copy link
Contributor

@AaronOpfer AaronOpfer commented Oct 19, 2023

pyinvoke (conda package invoke) did not support Python 3.11 until version 2.0.0. Patch the repodata to prevent this invalid scenario.

invoke versions older than 1.3.0 are not affected as their recipes target very narrow versions of Python. Regardless, I added a tighten_depends just to make it crystal clear that everything is covered.

================================================================================
================================================================================
linux-armv7l
================================================================================
================================================================================
win-32
================================================================================
================================================================================
osx-arm64
================================================================================
================================================================================
linux-ppc64le
================================================================================
================================================================================
linux-aarch64
================================================================================
================================================================================
noarch
noarch::invoke-1.4.0-py_0.tar.bz2
noarch::invoke-1.4.1-py_0.tar.bz2
noarch::invoke-1.3.0-py_1.tar.bz2
noarch::invoke-1.5.0-pyhd3deb0d_0.tar.bz2
-    "python"
+    "python <= 3.11.0a0"
noarch::invoke-1.6.0-pyhd8ed1ab_0.tar.bz2
noarch::invoke-1.7.0-pyhd8ed1ab_0.tar.bz2
noarch::invoke-1.7.1-pyhd8ed1ab_0.tar.bz2
noarch::invoke-1.7.3-pyhd8ed1ab_0.tar.bz2
-    "python 2.7|>=3.4"
+    "python 2.7|>=3.4,<3.11.0a0"
================================================================================
================================================================================
win-64
================================================================================
================================================================================
osx-64
================================================================================
================================================================================
linux-64

Checklist

  • Used a static YAML file for the patch if possible (instructions).
  • Only wrote code directly into generate_patch_json.py if absolutely necessary.
  • Ran pre-commit run -a and ensured all files pass the linting checks.
  • Ran python show_diff.py and posted the output as part of the PR.
  • Modifications won't affect packages built in the future.

@AaronOpfer AaronOpfer requested a review from a team as a code owner October 19, 2023 18:50
@conda-forge-webservices
Copy link
Contributor

Hi! This is the friendly automated conda-forge-linting service.

I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.

pyinvoke (conda package `invoke`) did not support Python 3.11 until
version 2.0.0. Patch the repodata to prevent this invalid scenario.

`invoke` versions older than 1.3.0 are not affected as their recipes
target very narrow versions of Python. Regardless, I added a
`tighten_depends` just to make it crystal clear that everything is
covered.
```
================================================================================
================================================================================
linux-armv7l
================================================================================
================================================================================
win-32
================================================================================
================================================================================
osx-arm64
================================================================================
================================================================================
linux-ppc64le
================================================================================
================================================================================
linux-aarch64
================================================================================
================================================================================
noarch
noarch::invoke-1.4.0-py_0.tar.bz2
noarch::invoke-1.4.1-py_0.tar.bz2
noarch::invoke-1.3.0-py_1.tar.bz2
noarch::invoke-1.5.0-pyhd3deb0d_0.tar.bz2
-    "python"
+    "python <= 3.11.0a0"
noarch::invoke-1.6.0-pyhd8ed1ab_0.tar.bz2
noarch::invoke-1.7.0-pyhd8ed1ab_0.tar.bz2
noarch::invoke-1.7.1-pyhd8ed1ab_0.tar.bz2
noarch::invoke-1.7.3-pyhd8ed1ab_0.tar.bz2
-    "python 2.7|>=3.4"
+    "python 2.7|>=3.4,<3.11.0a0"
================================================================================
================================================================================
win-64
================================================================================
================================================================================
osx-64
================================================================================
================================================================================
linux-64
```
@AaronOpfer
Copy link
Contributor Author

Updated recipe to contain timestamp_lt to satisfy "Modifications won't affect packages built in the future" requirement.

@beckermr
Copy link
Member

please link to a github issue on the feedstock or some other documentation

@AaronOpfer
Copy link
Contributor Author

AaronOpfer commented Oct 19, 2023

please link to a github issue on the feedstock or some other documentation

Apologies, this is my first time attempting to contribute to conda forge feedstocks, so I am not sure what is customarily done in advance. I haven't contacted any maintainers of invoke-feedstock about this particular issue. Should I reach out to them first?

This is a Github issue discussing the incompatibility of invoke in Python 3.11 (One commenter says "It seems like invoke is not python 3.11 ready at all"). I linked to the specific comment where a maintainer promises to resolve the issue in the 2.0.0 release.

pyinvoke/invoke#833 (comment)

pyinvoke's changelog does not explicitly mention the Python 3.11 compatibility being a new feature of 2.0.0, but it does mention that it now exposes inspect.Signature in its own API, referring to the same issue.

https://www.pyinvoke.org/changelog.html

I was personally affected by this incompatibility in my project: I found that invoke would not work with Python 3.11 until I upgraded it to 2.0 or higher.

@beckermr
Copy link
Member

Ok. Make an issue on the feedstock and link it to this pr. Then we'll merge.

@AaronOpfer
Copy link
Contributor Author

I made the issue as requested. Let me know if there's anything amiss.

@beckermr beckermr merged commit 8e9f546 into conda-forge:main Oct 20, 2023
@AaronOpfer AaronOpfer deleted the patch-invoke branch December 6, 2023 03:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants