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

Rebuild for CFEP-25 noarch: python syntax #40

Conversation

regro-cf-autotick-bot
Copy link
Contributor

This PR updates the recipe to use the noarch: python syntax as described in CFEP-25. Please see our documentation for more details.

If this PR was opened in error or needs to be updated please add the bot-rerun label to this PR. The bot will close this PR and schedule another one. If you do not have permissions to add this label, you can use the phrase @conda-forge-admin, please rerun bot in a PR comment to have the conda-forge-admin add it for you.

This PR was created by the regro-cf-autotick-bot. The regro-cf-autotick-bot is a service to automatically track the dependency graph, migrate packages, and propose package version updates for conda-forge. Feel free to drop us a line if there are any issues! This PR was generated by https://github.com/regro/cf-scripts/actions/runs/12710663776 - please use this URL for debugging.

@conda-forge-admin
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/meta.yaml) and found it was in an excellent condition.

I do have some suggestions for making it better though...

For recipe/meta.yaml:

  • ℹ️ No valid build backend found for Python recipe for package pymeasure using pip. Python recipes using pip need to explicitly specify a build backend in the host section. If your recipe has built with only pip in the host section in the past, you likely should add setuptools to the host section of your recipe.

This message was generated by GitHub Actions workflow run https://github.com/conda-forge/conda-forge-webservices/actions/runs/12710754124. Examine the logs at this URL for more detail.

@melund melund merged commit dd04db7 into conda-forge:main Jan 13, 2025
4 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the noarch_python_min-migration-1_he5cb8f branch January 13, 2025 08:55
@bilderbuchi
Copy link
Contributor

bilderbuchi commented Jan 16, 2025

@melund I just reviewed this change ... apparently, this changes our minimum supported version from 3.8 to 3.9:
https://github.com/conda-forge/pymeasure-feedstock/pull/40/files#diff-f3725a55bf339595bf865fec73bda8ac99f283b0810c205442021f29c06eea9aL24

https://github.com/conda-forge/pymeasure-feedstock/pull/40/files#diff-999d2f034982a9a29cc0f5a5340497f76ff9243576ea74e5954ec5ad5f32b74cR9-R10

Our current minimum Python version is 3.8: https://github.com/pymeasure/pymeasure/blob/master/pyproject.toml#L17, so this makes the conda-forge package go out of sync with our upstream/pypi package.

Did you review this before merging?

@bilderbuchi
Copy link
Contributor

bilderbuchi commented Jan 16, 2025

In addition I'm wondering, should you not have the time to review before merging, and seeing that you haven't been involved with pymeasure maintenance in a long long time, do you still want to be on the maintainers list for the feedstock here?

@melund
Copy link
Contributor

melund commented Jan 16, 2025

Our current minimum Python version is 3.8: https://github.com/pymeasure/pymeasure/blob/master/pyproject.toml#L17, so this makes the conda-forge package go out of sync with our upstream/pypi package.

That is odd. As I understand python_min is the minimum supported Python version on conda_forge. I thought that was still 3.8. But maybe that have changed.

pymeasure maintenance in a long long time, do you still want to be on the maintainers list for the feedstock here?

Feel free to remove me. I am mostly on this, because I probably created the feedstock in the first place.

@melund
Copy link
Contributor

melund commented Jan 16, 2025

We still want to keep the line python >=${{ python_min }}, that should always be there for "Noarch python" packages.

See: https://conda-forge.org/docs/maintainer/knowledge_base/#noarch-python

@BenediktBurger
Copy link

I noticed the same thing with pyleco (available for python 3.8).
I guess it is limited to the oldest supported python version, which is currently python 3.9,as python 3.8 is end of life.

@BenediktBurger
Copy link

Documentation states:

It relies on a new value in the global pinnings file, python_min, that specifies the current oldest supported version of Python. Packages that are noarch: python will be built and tested against this oldest version of Python, but allowed to run on any newer Python version. Maintainers can override these values and rules locally according to their package's requirements if needed. Through this mechanism, we will ensure that as Python versions are no longer supported, we stop building packages that can run on them, avoiding potential incompatibilities for older environments.

...

Maintainers may override the minimum Python version python_min in recipe/conda_build_config.yaml or change the build configuration as needed to match the constraints of their specific package.

However, we strongly recommend that maintainers always test their package against the oldest Python version for which it would install in order to ensure compatibility.

From that I conclude, that we should define the lower limit manually. In this case, we should add a note to the release.md file as well.
Alternatively, we allow a small discrepancy between Conda forge and pypi, as we typically follow the python release schedule (lagging a bit behind).

@melund
Copy link
Contributor

melund commented Jan 16, 2025

@BenediktBurger: Ok, then I think we should pin the version requirement manually to 3.8. For package like this with a good set of maintainers, that should not be a problem.

@melund
Copy link
Contributor

melund commented Jan 16, 2025

@BenediktBurger, I made a PR to update the minimal python version to a hardcode value of 3.8: #45

@bilderbuchi
Copy link
Contributor

bilderbuchi commented Jan 16, 2025

Ah, 3.8 being EOL would be a good explanation!
We could also right now bump our minimum Python version to 3.9 accordingly, as we plan to anyway: pymeasure/pymeasure#1183 and thus avoid the manual override in the conda feedstock (which we would later have to update)? 🤷

@BenediktBurger
Copy link

So, we don't change the Conda forge recipe (closing the pr @melund opened), but change the pymeasure master to 3.9 for the rext release, right?

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.

5 participants