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 this package to conda-forge #58

Open
drhagen opened this issue Mar 1, 2023 · 3 comments
Open

Add this package to conda-forge #58

drhagen opened this issue Mar 1, 2023 · 3 comments
Labels
enhancement New feature or request

Comments

@drhagen
Copy link

drhagen commented Mar 1, 2023

Is your feature request related to a problem? Please describe.

Would it be possible to add this package to conda-forge? conda-lock cannot lock this package because it is not in conda-forge but still depends on jupyterlab, which is in conda-forge. See this question on StackOverflow showing this particular failure. When these kinds of problems occur, the maintainers of conda-forge recommend this solution.

Describe the solution you'd like

The latest version of this package is contributed to conda-forge.

Describe alternatives you've considered

There are some workarounds, all with drawbacks:

  • Abandon conda-forge, locking on PyPI with Poetry only
  • Abandon conda-lock, accepting that conda install will install different packages over time
  • Manually edit the conda lock file to remove the offending pip packages

Additional context

  • Python package version:
    0.6.1
  • Extension version:
    0.6.1
  • Operating System and its version:
    Ubuntu 20.04
@drhagen drhagen added the enhancement New feature or request label Mar 1, 2023
@maresb
Copy link

maresb commented Mar 5, 2023

Adding a package to conda-forge is often as simple as running Grayskull to generate a PR in staged-recipes.

Anyone is welcome to clone my branch and fix things up to get this published on conda-forge.

A few initial observations:

  • The linter is complaining about deleting example/meta.yaml but I obviously didn't delete it, so perhaps staged-recipes is temporarily in an inconsistent state.
  • This package is vendoring icons, and vendoring makes license compliance very complicated. I'm not sure how problematic this is for Conda-Forge.
  • The CI is failing with the following, and I'm not sure why.
+ python .ci_support/build_all.py
Traceback (most recent call last):
  File "/Users/runner/work/1/s/.ci_support/build_all.py", line 213, in <module>
    check_recipes_in_correct_dir(root_dir, "recipes")
  File "/Users/runner/work/1/s/.ci_support/build_all.py", line 185, in check_recipes_in_correct_dir
    raise RuntimeError(f"recipe {path.parts} in wrong directory")
RuntimeError: recipe ('jupyterlab-spreadsheet-editor', 'meta.yaml') in wrong directory

So this may unfortunately take some effort to get running, but I don't have the time to work further on this.

@krassowski
Copy link
Collaborator

@maresb thanks for starting the work! Of course publishing it on conda-forge is very welcome! As for vendoring icons this should not be a problem.

It appears that you need to move the file into recipes/ directory, see for example https://github.com/conda-forge/staged-recipes/pull/14308/files where meta.yaml was added to recipes/jupyterlab-spellchecker/meta.yaml but you are adding directly to root (jupyterlab-spreadsheet-editor/meta.yaml)

Also, you may want to reuse parts of other recipes from jupyterlab-contrib, e.g. https://github.com/conda-forge/jupyterlab-spellchecker-feedstock/blob/main/recipe/meta.yaml

Please also add me as a maintainer :)

@maresb
Copy link

maresb commented Mar 6, 2023

Thanks @krassowski for the feedback! I did it in a big rush, so I'm not surprised there were mistakes. I did another very quick pass to address your points.

@drhagen, could you please comment on that PR (conda-forge/staged-recipes#22209) if you're willing to be maintainer?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

3 participants