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

Adding CAREamics recipe #28148

Closed
wants to merge 34 commits into from
Closed

Conversation

jdeschamps
Copy link
Contributor

@jdeschamps jdeschamps commented Nov 8, 2024

Adding CAREamics recipe along side sister packages careamics-portfolio and careamics-napari.

  • careamics: a library for the denoising of scientific microscopy images using deep learning.
  • careamics-portfolio: a package providing access to several datasets used to illustrate or benchmark denoising algorithms.
  • careamics-napari: napari plugin for CAREamics.

Notes regarding dependencies

  • careamics-napari depends on both careamics and careamics-portfolio
  • careamics depends on PyTorch

Notes regarding build

Because PyTorch is currently not built for Windows in conda-forge, the Windows build is disabled for both careamics and careamics-napari.

Checklist

  • Title of this PR is meaningful: e.g. "Adding my_nifty_package", not "updated meta.yaml".
  • License file is packaged (see here for an example).
  • Source is from official source.
  • Package does not vendor other packages. (If a package uses the source of another package, they should be separate packages or the licenses of all packages need to be packaged).
  • If static libraries are linked in, the license of the static library is packaged.
  • Package does not ship static libraries. If static libraries are needed, follow CFEP-18.
  • Build number is 0.
  • A tarball (url) rather than a repo (e.g. git_url) is used in your recipe (see here for more details).
  • GitHub users listed in the maintainer section have posted a comment confirming they are willing to be listed there.
  • When in trouble, please check our knowledge base documentation before pinging a team.

Copy link
Contributor

github-actions bot commented Nov 8, 2024

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Nov 8, 2024

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

I wanted to let you know that I linted all conda-recipes in your PR (recipes/careamics/meta.yaml) and found some lint.

Here's what I've got...

For recipes/careamics/meta.yaml:

  • Jinja2 variable definitions are suggested to take a {%<one space>set<one space><variable name><one space>=<one space><expression><one space>%} form. See lines [2]
  • requirements: run: python >= 3.9 should not contain a space between relational operator and the version, i.e. python >=3.9

For recipes/careamics/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.
  • Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [22].

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Nov 8, 2024

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 (recipes/careamics/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...

For recipes/careamics/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.
  • Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [20].

@conda-forge-admin
Copy link
Contributor

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

I wanted to let you know that I linted all conda-recipes in your PR (recipes/careamics/meta.yaml, recipes/careamics-napari/meta.yaml, recipes/careamics-portfolio/meta.yaml) and found some lint.

Here's what I've got...

For recipes/careamics/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.
  • Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [21].

For recipes/careamics-napari/meta.yaml:

  • The home item is expected in the about section.

For recipes/careamics-napari/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.
  • Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [20].

For recipes/careamics-portfolio/meta.yaml:

  • The home item is expected in the about section.

For recipes/careamics-portfolio/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.
  • Jinja2 variable references are suggested to take a {{<one space><variable name><one space>}} form. See lines [20].

@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 (recipes/careamics-napari/meta.yaml, recipes/careamics/meta.yaml, recipes/careamics-portfolio/meta.yaml) and found it was in an excellent condition.
I do have some suggestions for making it better though...

For recipes/careamics-napari/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.

For recipes/careamics/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.

For recipes/careamics-portfolio/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Nov 8, 2024

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

I wanted to let you know that I linted all conda-recipes in your PR (recipes/careamics/meta.yaml, recipes/careamics-napari/meta.yaml, recipes/careamics-portfolio/meta.yaml) and found some lint.

Here's what I've got...

For recipes/careamics/meta.yaml:

  • Non noarch packages should have python requirement without any version constraints.

For recipes/careamics-napari/meta.yaml:

  • Non noarch packages should have python requirement without any version constraints.

For recipes/careamics-portfolio/meta.yaml:

  • noarch: python recipes should almost always follow the syntax in our documentation. For the host section of the recipe, you should almost always use python {{ python_min }} for the python entry. For the run section of the recipe, you should almost always use python >={{ python_min }} for the python entry. For the test.requires section of the recipe, you should almost always use python {{ python_min }} for the python entry. You may need to override the python_min variable in the conda_build_config.yaml/variants.yaml if the package requires a newer Python version than the currently supported minimum version on conda-forge.

Copy link
Contributor

github-actions bot commented Nov 8, 2024

Hi! This is the staged-recipes linter and I found some lint.

It looks like some changes were made outside the recipes/ directory. To ensure everything runs smoothly, please make sure that recipes are only added to the recipes/ directory and no other files are changed.

If these changes are intentional (and you aren't submitting a recipe), please add a maintenance label to the PR.

File-specific lints and/or hints:

  • .azure-pipelines/azure-pipelines-win.yml:

    • lints:
      • Do not edit files outside of the recipes/ directory.
  • .ci_support/win64.yaml:

    • lints:
      • Do not edit files outside of the recipes/ directory.
  • .scripts/run_win_build.bat:

    • lints:
      • Do not edit files outside of the recipes/ directory.

Copy link
Contributor

github-actions bot commented Nov 8, 2024

Hi! This is the staged-recipes linter and your PR looks excellent! 🚀

@jdeschamps
Copy link
Contributor Author

jdeschamps commented Nov 8, 2024

I apologize for abusing the CI when trying to debug the linting and the Windows failed build...

@conda-forge/help-python ready for review!

@jdeschamps
Copy link
Contributor Author

Forgot @conda-forge/staged-recipes

Copy link
Contributor

To help direct your pull request to the best reviewers, please mention a topic-specifc team if your recipe matches any of the following: conda-forge/help-c-cpp, conda-forge/help-cdts, conda-forge/help-go, conda-forge/help-java, conda-forge/help-julia, conda-forge/help-nodejs, conda-forge/help-perl, conda-forge/help-python, conda-forge/help-python-c, conda-forge/help-r, conda-forge/help-ruby,or conda-forge/help-rust. Thanks!

recipes/careamics-napari/meta.yaml Show resolved Hide resolved
recipes/careamics/meta.yaml Show resolved Hide resolved
@conda-forge-admin
Copy link
Contributor

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

I wanted to let you know that I linted all conda-recipes in your PR (recipes/careamics-napari/meta.yaml, recipes/careamics/meta.yaml, recipes/careamics-portfolio/meta.yaml) and found some lint.

Here's what I've got...

For recipes/careamics-napari/meta.yaml:

  • ❌ noarch: python recipes are required to have a lower bound on the python version. Typically this means putting python >=3.6 in both host and run but you should check upstream for the package's Python compatibility.

For recipes/careamics-napari/meta.yaml:

  • ℹ️ 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).
  • ℹ️ The recipe is not parsable by parser conda-forge-tick (the bot). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.

For recipes/careamics/meta.yaml:

  • ❌ noarch: python recipes are required to have a lower bound on the python version. Typically this means putting python >=3.6 in both host and run but you should check upstream for the package's Python compatibility.

For recipes/careamics/meta.yaml:

  • ℹ️ 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).

For recipes/careamics-portfolio/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-forge-tick (the bot). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.

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

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Nov 23, 2024

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 (recipes/careamics-napari/meta.yaml, recipes/careamics-portfolio/meta.yaml, recipes/careamics/meta.yaml) and found it was in an excellent condition.

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

For recipes/careamics-napari/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-forge-tick (the bot). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.

For recipes/careamics-portfolio/meta.yaml:

  • ℹ️ The recipe is not parsable by parser conda-forge-tick (the bot). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.
  • ℹ️ The recipe is not parsable by parser conda-souschef (grayskull). Your recipe may not receive automatic updates and/or may not be compatible with conda-forge's infrastructure. Please check the logs for more information and ensure your recipe can be parsed.

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

@conda-forge-admin
Copy link
Contributor

conda-forge-admin commented Nov 23, 2024

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 (recipes/careamics-napari/meta.yaml, recipes/careamics/meta.yaml, recipes/careamics-portfolio/meta.yaml) and found it was in an excellent condition.

recipes/careamics-napari/meta.yaml Outdated Show resolved Hide resolved
recipes/careamics-portfolio/meta.yaml Outdated Show resolved Hide resolved
recipes/careamics/meta.yaml Outdated Show resolved Hide resolved
@xhochy
Copy link
Member

xhochy commented Nov 24, 2024

I'm confused why it complains about an undefined python_min. This is working in other PRs 🤔

@jdeschamps
Copy link
Contributor Author

jdeschamps commented Nov 24, 2024

I'm confused why it complains about an undefined python_min. This is working in other PRs 🤔

Beats me. That's why I added it in the first place!

Maybe I'll try to run grayskull again, this time with a better understanding of what the recipe should look like.

@jdeschamps
Copy link
Contributor Author

I'm confused why it complains about an undefined python_min. This is working in other PRs 🤔

Similar problem here: conda-forge/conda-forge.github.io#2351 (comment)

It seems I need to re-render the feedstock.

@xhochy
Copy link
Member

xhochy commented Nov 29, 2024

This is not a feedstock yet. Thus, a rerender is not possible. The build passes on osx, thus everything is fine. Could you submit the recipes individually to staged-recipes? Then I'm happy to merge them.

@jdeschamps
Copy link
Contributor Author

This is not a feedstock yet. Thus, a rerender is not possible. The build passes on osx, thus everything is fine. Could you submit the recipes individually to staged-recipes? Then I'm happy to merge them.

Got it!

Here are the 3 PRs:
#28416
#28417
#28419

@jdeschamps jdeschamps closed this Dec 1, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Development

Successfully merging this pull request may close these issues.

3 participants