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 #10

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/12532136803 - 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 napari-ome-zarr 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/12532185458. Examine the logs at this URL for more detail.

@joshmoore
Copy link
Member

napari 0.5.5 has requirement numpy<2,>=1.22.2; python_version < "3.10", but you have numpy 2.0.2.
WARNING: Tests failed for napari-ome-zarr-0.6.1-pyha07c04f_1.conda - moving package to /home/conda/feedstock_root/build_artifacts/broken
Traceback (most recent call last):
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 3481, in test
    utils.check_call_env(
  File "/opt/conda/lib/python3.12/site-packages/conda_build/utils.py", line 406, in check_call_env
    return _func_defaulting_env_to_os_environ("call", *popenargs, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/utils.py", line 382, in _func_defaulting_env_to_os_environ
    raise subprocess.CalledProcessError(proc.returncode, _args)
subprocess.CalledProcessError: Command '['/bin/bash', '-o', 'errexit', '/home/conda/feedstock_root/build_artifacts/napari-ome-zarr_1735443690745/test_tmp/conda_test_runner.sh']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/conda/bin/conda-build", line 11, in <module>
    sys.exit(execute())
             ^^^^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/cli/main_build.py", line 648, in execute
    api.build(
  File "/opt/conda/lib/python3.12/site-packages/conda_build/api.py", line 211, in build
    return build_tree(
           ^^^^^^^^^^^
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 3668, in build_tree
    test(pkg, config=metadata.config.copy(), stats=stats)
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 3495, in test
    tests_failed(
  File "/opt/conda/lib/python3.12/site-packages/conda_build/build.py", line 3542, in tests_failed
    raise CondaBuildUserError("TESTS FAILED: " + os.path.basename(pkg))
conda_build.exceptions.CondaBuildUserError: TESTS FAILED: napari-ome-zarr-0.6.1-pyha07c04f_1.conda

Randomly checking with @psobolewskiPhD in case he has a suggestion.

@psobolewskiPhD
Copy link
Member

@joshmoore
The easy solution is to drop the pip check.
Otherwise, I've got a napari PR to resolve the discrepancy:
napari/napari#7500

@jni
Copy link

jni commented Jan 9, 2025

Given the issues with np2 in napari/napari#7500, I might suggest just setting python_min to 3.10 here. (And we might want to do the same in napari — SPEC0 suggests we even jump to 3.11!)

@sbesson sbesson removed their request for review January 10, 2025 09:40
@joshmoore
Copy link
Member

Considering conda-forge/ome-zarr-feedstock#22 I'll go ahead and set >3.10

@conda-forge-admin
Copy link
Contributor

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

I was trying to look for recipes to lint for you, but it appears we have a merge conflict. Please try to merge or rebase with the base branch to resolve this conflict.

Please ping the 'conda-forge/core' team (using the @ notation in a comment) if you believe this is a bug.

@joshmoore
Copy link
Member

@conda-forge-admin, please rerender

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Jan 10, 2025

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 napari-ome-zarr 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.
  • ℹ️ noarch: python recipes should usually follow the syntax in our documentation for specifying the Python version.
    • For the host section of the recipe, you should usually use python {{ python_min }} for the python entry.
    • For the run section of the recipe, you should usually use python >={{ python_min }} for the python entry.
    • For the test.requires section of the recipe, you should usually use python {{ python_min }} for the python entry.
    • If the package requires a newer Python version than the currently supported minimum version on conda-forge, you can override the python_min variable by adding a Jinja2 set statement at the top of your recipe (or using an equivalent context variable for v1 recipes).

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

@joshmoore
Copy link
Member

...still unhappy :/

@psobolewskiPhD
Copy link
Member

@joshmoore
With zarr 3.0.0 I can reproduce the CI fail locally:

In [1]: from zarr.storage import FSStore
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
Cell In[1], line 1
----> 1 from zarr.storage import FSStore

ImportError: cannot import name 'FSStore' from 'zarr.storage' (/Users/sobolp/micromamba/envs/napari-dev/lib/python3.12/site-packages/zarr/storage/__init__.py)

So that seems like a real fail in napari-ome-zarr.

@joshmoore
Copy link
Member

Ah, thanks. But there is supposed to be a zarr<3 pin.... (cc: @will-moore)

@psobolewskiPhD
Copy link
Member

psobolewskiPhD commented Jan 10, 2025

ome-zarr-py has one in pyproject.toml
https://github.com/ome/ome-zarr-py/blob/1e3e3e22f63533ef8c89b2c874450f18f2ed8a37/pyproject.toml#L23
but not in the feedstock:
https://github.com/conda-forge/ome-zarr-feedstock/blob/main/recipe/meta.yaml
napari-ome-zarr does not in either place.

Probably solvable with a pinning PR to add the zarr<3 somewhere

@joshmoore
Copy link
Member

joshmoore commented Jan 10, 2025

napari-ome-zarr does not in either place.

Ok. Fair enough. Though in pip-land it should be transitive. (I feel a Friday evening rant about DRY but that's probably not useful... 😄)

Probably solvable with a pinning PR to add the zarr<3 somewhere

or when https://anaconda.org/search?q=ome-zarr shows 0.10.3 will it pan out?

@psobolewskiPhD
Copy link
Member

I was just checking stuff. I agree, I think ome-zarr feedstock is the issue.

@psobolewskiPhD
Copy link
Member

or when https://anaconda.org/search?q=ome-zarr shows 0.10.3 will it pan out?

I don't think so? that feedstock doesn't set zarr upper:
https://github.com/conda-forge/ome-zarr-feedstock/blob/f295096299e6a65b95ee632df9c612aa8ac47a3e/recipe/meta.yaml#L35

@psobolewskiPhD
Copy link
Member

@joshmoore
Copy link
Member

I think you need a patch PR like:

???

in the meantime, I'm waiting on the builds from merging conda-forge/ome-zarr-feedstock#23 to pass so we can get 0.10.3 packages.

@joshmoore
Copy link
Member

@conda-forge-admin, please restart ci

@joshmoore
Copy link
Member

Oooh. Green. @psobolewskiPhD: shall we try merging to end the week with a bang?

@psobolewskiPhD
Copy link
Member

Oooh. Green. @psobolewskiPhD: shall we try merging to end the week with a bang?

Ive got a (long running) serious case of merging anxiety--probably terminal honestly--so you're asking the wrong person!
🥶

@joshmoore
Copy link
Member

Ok. I'm merging so that we have a currently building space. This may need one more commit depending on the outcome of conda-forge/conda-forge-repodata-patches-feedstock#940

@joshmoore joshmoore merged commit d3d5604 into conda-forge:main Jan 11, 2025
4 checks passed
@regro-cf-autotick-bot regro-cf-autotick-bot deleted the noarch_python_min-migration-1_h3dee2c branch January 11, 2025 11:49
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