-
-
Notifications
You must be signed in to change notification settings - Fork 8
Update to v1 recipe format, and relax version constraint for pytest 9 #23
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
Conversation
|
@conda-forge-admin, please rerender |
|
Hi! This is the friendly automated conda-forge-linting service. I failed to even lint the recipe, probably because of a conda-smithy bug 😢. This likely indicates a problem in your This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/20656882914. Examine the logs at this URL for more detail. |
|
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you but ran into some issues. Please check the output logs of the GitHub Actions workflow below for more details. You can also ping The following suggestions might help debug any issues:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/20656797333. Examine the logs at this URL for more detail. |
|
@conda-forge-admin, please rerender |
|
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you but ran into some issues. Please check the output logs of the GitHub Actions workflow below for more details. You can also ping The following suggestions might help debug any issues:
This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/20657013950. Examine the logs at this URL for more detail. |
|
@conda-forge-admin, please rerender |
|
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 ( |
|
The |
|
Hey, sorry for the delayed response here. This is a common problem with conda, and my preferred approach is to take the package metadata as the main source of truth, but add upper bounds via https://github.com/conda-forge/conda-forge-repodata-patches-feedstock. I can show you how that goes, and this way pip check will pass. Note that pip check failing is bad because this will cause it to fail on most environments containing that package, and that's why I prefer this approach. |
|
@maresb. It is kind of the opposite I wanted to do. I.e. relaxing the constraints instead of adding a upper bound. The real problem is an older version of the package which did not have any constraints. So that is selected every time people try to upgrade the The package If I could make a conda-package which relaxed this constraint, then it would not install the ancient version of the package which doesn't work. |
|
Ya, I get it, but the way I see it, there are two distinct issues at play here:
I view 1. as in-scope for conda-forge, and having a pending solution in conda-forge/conda-forge-repodata-patches-feedstock#1131. I view 2. as an upstream problem, reported in jerry-git/pytest-split#114. Having an upper-bound like this is generally a very bad idea, especially for maintainers who are not really on-top-of frequently testing and releasing. What you're requesting here is that we override the author's compatibility determination. Sure it works for you with pytest 9, but how do we know there's not some deep reason that @jerry-git wanted to prevent pytest 9 use? What if pytest 10 breaks pytest-split? Moreover, if we override this here, then you will break most workflows that include pytest-split and run If this is really an emergency situation, then we can discuss various strategies to mitigate this, but do you have such a pressing need for pytest 9 that you'd be willing to impose the aforementioned potential breakage? If not, then let's wait for @jerry-git to return from a presumed holiday vacation and fix the problematic bound. |
I agree. That will not do. I just didn't think that
Yes. That would have been OK. But there is a very old version of I also agree that libraries should not constrain the package version unless there is a reason for it. In this case I suspect the constraint |
Can you be more specific about this? What's the very old version? Is it older than 0.8.2? |
|
Good question. I thought it was much older since pytest complained about invalid arguments: But the But the newest version (0.10.0) does work with pytest 9. I know because pixi can be forced to install it directly from pypi (my workaround). It is also interesting that |
Excellent! Very glad you found a workaround for now.
Ooh, very good catch! I didn't start maintaining this until v0.10.0. I didn't check the version ranges, but I should have. It seems that there have been upper bounds for a while now. I need to investigate the situation in more detail and make a more thorough patch. |
Commit fe450b1 added <9 to all pytest-split versions ≤0.8.2, but this was looser than the bounds specified on PyPI. This patch tightens the conda-forge bounds to match PyPI: | Version | PyPI | Patch adds | |---------------|------------|------------| | 0.1.5, 0.2.0 | (no bound) | <7 | | 0.2.2 - 0.6.0 | >=5,<7 | <7 | | 0.7.0 - 0.8.1 | >=5,<8 | <8 | | 0.8.2 | >=5,<9 | <9 | The stricter bounds on older versions ensure monotonicity, preventing the solver from selecting them to satisfy newer pytest versions. See: conda-forge/pytest-split-feedstock#23
See: conda-forge/conda-forge-repodata-patches-feedstock#1132 |
|
Awesome, I hadn't seen the |
|
I will close this PR for now. I will monitor jerry-git/pytest-split#112 to see when upstream package gets updated. |
|
Thanks @melund! We could still upgrade this to v1 if you're interested. |
Commit fe450b1 added <9 to all pytest-split versions ≤0.8.2, but this was looser than the bounds specified on PyPI. This patch tightens the conda-forge bounds to match PyPI: | Version | PyPI | Patch adds | |---------------|------------|------------| | 0.1.5, 0.2.0 | (no bound) | <7 | | 0.2.2 - 0.6.0 | >=5,<7 | <7 | | 0.7.0 - 0.8.1 | >=5,<8 | <8 | | 0.8.2 | >=5,<9 | <9 | The stricter bounds on older versions ensure monotonicity, preventing the solver from selecting them to satisfy newer pytest versions. See: conda-forge/pytest-split-feedstock#23
Sure. Let me make a new PR. |
Fix patch for pytest 9, pip check, use pixi
This PR updates the recipe format to v1, and relaxes the version constraint to allow the use of pytest 9.
pytest-split works fine with pytest 9 even thus the package doesn't explicitly say that it support it.
The problem with current constraint (
^5 | ^6 | ^7 | ^8) is that it causes the solver to choose a much older version of the conda package (which didn't have the constraint), and that causes a problems since that version has a lot of differences to the new version.Checklist
0(if the version changed)conda-smithy(Use the phrase@conda-forge-admin, please rerenderin a comment in this PR for automated rerendering)