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

Add "pdgraster" #26491

Merged
merged 3 commits into from
Jun 25, 2024
Merged

Add "pdgraster" #26491

merged 3 commits into from
Jun 25, 2024

Conversation

mfisher87
Copy link
Member

@mfisher87 mfisher87 commented May 28, 2024

Depends on #26489

Important

Not compatible with Windows yet.

cc @rushirajnenuji

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.

@conda-forge-webservices
Copy link

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/pdgraster) and found some lint.

Here's what I've got...

For recipes/pdgraster:

  • The following maintainers have not yet confirmed that they are willing to be listed here: bacongobbler. Please ask them to comment on this PR if they are.

@conda-forge-webservices
Copy link

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/pdgraster) and found some lint.

Here's what I've got...

For recipes/pdgraster:

  • The following maintainers have not yet confirmed that they are willing to be listed here: rushirajnenuji. Please ask them to comment on this PR if they are.

@rushirajnenuji
Copy link
Member

Hi, confirming my interest to be a maintainer for this package, thanks!

@mfisher87 mfisher87 closed this Jun 24, 2024
@mfisher87 mfisher87 reopened this Jun 24, 2024
@conda-forge-webservices
Copy link

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/pdgraster) and found it was in an excellent condition.

@mfisher87
Copy link
Member Author

mfisher87 commented Jun 24, 2024

FYI: Windows build failed due to a dependency (pdgstaging) and/or this library itself being incompatible with windows. We'll fix that in a future release!

@mfisher87 mfisher87 marked this pull request as ready for review June 24, 2024 17:26
@mfisher87
Copy link
Member Author

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

Copy link
Member

@ocefpaf ocefpaf left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Excess jinja doesn't really help but it obfuscates the recipe.

recipes/pdgraster/meta.yaml Outdated Show resolved Hide resolved
recipes/pdgraster/meta.yaml Outdated Show resolved Hide resolved
recipes/pdgraster/meta.yaml Outdated Show resolved Hide resolved
Co-authored-by: Filipe <ocefpaf@gmail.com>
@mfisher87
Copy link
Member Author

mfisher87 commented Jun 24, 2024

Personally, as a feedstock maintainer, I find having all the values that need to regularly change in one place to be helpful. But if that goes against convention, I'm fine with whatever.

@mfisher87 mfisher87 requested a review from ocefpaf June 24, 2024 19:57
@ocefpaf
Copy link
Member

ocefpaf commented Jun 24, 2024

Personally, as a feedstock maintainer, I find having all the values that need to regularly change in one place to be helpful. But if that goes against convention, I'm fine with whatever.

We rely on bot commands for the updates. If the package metadata is well defined, you rarely will need to change those manually.

@mfisher87
Copy link
Member Author

mfisher87 commented Jun 24, 2024

I have some feedstocks that don't work with bot commands for various reasons (conda-forge/quarto-feedstock#14), and I expect this might be one of them, because it neither uses GitHub Releases nor PyPI releases.

@ocefpaf
Copy link
Member

ocefpaf commented Jun 24, 2024

FYI: Windows build failed due to a dependency (pdgstaging) and/or this library itself being incompatible with windows. We'll fix that in a future release!

The failure seems to be a missing log file:

import: 'pdgraster'
Traceback (most recent call last):
  File "C:\bld\pdgraster_1719259170079\test_tmp\run_test.py", line 2, in <module>
    import pdgraster
  File "C:\bld\pdgraster_1719259170079\_test_env\lib\site-packages\pdgraster\__init__.py", line 3, in <module>
    from .WebImage import WebImage
  File "C:\bld\pdgraster_1719259170079\_test_env\lib\site-packages\pdgraster\WebImage.py", line 11, in <module>
    from . import logging_config
  File "C:\bld\pdgraster_1719259170079\_test_env\lib\site-packages\pdgraster\logging_config.py", line 8, in <module>
    handler = logging.FileHandler("/tmp/log.log")
  File "C:\bld\pdgraster_1719259170079\_test_env\lib\logging\__init__.py", line 1169, in __init__
    StreamHandler.__init__(self, self._open())
  File "C:\bld\pdgraster_1719259170079\_test_env\lib\logging\__init__.py", line 1201, in _open
    return open_func(self.baseFilename, self.mode,
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\tmp\\log.log

The noarch package will be installable on Windows and broken there. Idealy, we should not make it installable by using os-noarch. See https://conda-forge.org/docs/maintainer/knowledge_base/#noarch-packages-with-os-specific-dependencies. Do you want to implement that or try to mint a new release upstream that doesn't have this issue?

@mfisher87
Copy link
Member Author

mfisher87 commented Jun 24, 2024

This is recorded as an issue in the upstream package, but myself and Rushiraj are not members of that team, we're just consumers at the moment. We expect to become more integrated with that team in October.

For now, it makes sense to make this package not installable under Windows as you suggested, but I'm not sure I understand how from the link you shared, as our issue isn't os-specific dependencies, it's a bug in the code. Can you clarify? I imagined that we would leave the library as installable but broken in Windows, because that is also the state if you install it with pip.

@ocefpaf
Copy link
Member

ocefpaf commented Jun 24, 2024

I imagined that we would leave the library as installable but broken in Windows, because that is also the state if you install it with pip.

Correct, Python noarch packages are built on Linux but installable in all platforms and, in this case, broken on Windows.

You need to add - __unix # [unix] to your run dependencies, making is not installable on Windows, and then add a conda-forge.yml file to the recipe directory like:

noarch_platforms:
  - linux_64
  - osx_64

Telling it not to build on Windows.

@mfisher87
Copy link
Member Author

Thanks for clarifying. I'll take that path. I'll push a commit to update the meta.yaml, and then do I wait until the feedstock is created to update the conda-forge.yml?

@conda-forge-webservices
Copy link

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/pdgraster) and found some lint.

Here's what I've got...

For recipes/pdgraster:

  • noarch packages can't have selectors. If the selectors are necessary, please remove noarch: python.

@ocefpaf
Copy link
Member

ocefpaf commented Jun 24, 2024

I wait until the feedstock is created to update the conda-forge.yml?

You can add it to the recipe directory and it will be copied over to the feedstock.

@mfisher87
Copy link
Member Author

Neato! TIL, thanks :)

@conda-forge-webservices
Copy link

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/pdgraster) and found it was in an excellent condition.

@mfisher87
Copy link
Member Author

It's expected that this didn't affect the staged-recipes build?

@ocefpaf ocefpaf merged commit 6f7c2c1 into conda-forge:main Jun 25, 2024
3 of 5 checks passed
@mfisher87 mfisher87 deleted the pdgraster branch June 25, 2024 14:58
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.

None yet

3 participants