-
-
Notifications
You must be signed in to change notification settings - Fork 10
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 napari-base
output and reorganize dependencies
#63
Conversation
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 ( |
@conda-forge-admin, please rerender |
Hi! This is the friendly automated conda-forge-webservice. I tried to rerender for you, but it looks like there was nothing to do. This message was generated by GitHub actions workflow run https://github.com/conda-forge/napari-feedstock/actions/runs/9923450902. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
IIRC, this is intentionally left out of the dependencies. It's part of run_constrained
so we can still control which version is compatible, but we didn't want it by default. I don't remember the exact wording, but @jni stated that "it'd be crazy if matplotlib had its own plugin manager shipped with the library, so we shouldn't do that either".
@jni can you clarify? |
I'm afraid the wording quoted by @jaimergp is accurate. 😜 The resolution here is down to the question of do we make Also, sorry, I merged #64 before seeing this, so the build number needs another bump here regardless. |
Here's my thoughts: |
We've taken steps to make |
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 ( I do have some suggestions for making it better though... For recipe:
|
napari-base
output and reorganize dependencies
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 ( |
@@ -49,7 +49,6 @@ outputs: | |||
- magicgui >=0.7.0 | |||
- napari-console >=0.0.9 | |||
- napari-plugin-engine >=0.1.9 | |||
- napari-svg >=0.1.8 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to napari
|
||
# additional dependencies for convenience in conda-forge | ||
- fsspec | ||
- pooch >=1.3.0 | ||
- zarr >=2.12.0 | ||
|
||
run_constrained: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to napari
run_constrained: | ||
- napari-plugin-manager >=0.1.0a2,<0.3.0a0 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to napari
as a full dependency
- pyside2 >=5.13.2,!=5.15.0 | ||
- pyside6 <6.5|>=6.7 | ||
- pyqt >=5.12.3,!=5.15.0,<6.0a0|>=6.5,!=6.6.1 | ||
# Nice for performance, but optional. Inclusion under discussion. | ||
# - py-triangle | ||
# - numba >=0.57.1 # https://github.com/napari/napari/pull/6467#issuecomment-1819038165 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Moved to napari
as full dependency.
recipe/meta.yaml
Outdated
- napari-svg >=0.1.8 | ||
- numba >=0.57.1 | ||
- pooch >=1.3.0 | ||
# - py-triangle # a bit fragile with bad data, leave out for now |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
# - py-triangle # a bit fragile with bad data, leave out for now | |
# - py-triangle # a bit fragile with bad data, leave out for now |
Context about fragility: https://napari.zulipchat.com/#narrow/stream/212875-general/topic/napari.20plugin.20manager.20in.20conda.20recipe/near/451712796
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
More context in napari/napari#6654
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh, thanks, I'll add this as the comment instead
@conda-forge-admin, please rerender |
…nda-forge-pinning 2024.07.16.07.04.17
- zarr >=2.12.0 | ||
test: # just to check that the environment can indeed solve | ||
requires: | ||
- pyside2 # use this opportunity to test solvability with other backend |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Does this mean we are testing with pyside2 but not with pyside6 or pyqt or...?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
We tested installability with pyqt in the output above (napari-base
). In here we just pick pyside2
because we can now, given the new output. We are not running the test suite here, just installability checks and minimum "this thing runs", import wise.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great, thanks!
cc @hmaarrfk, because in the past you've been interested in a lighter napari install tree. |
run_constrained: | ||
- napari-plugin-manager >=0.1.0a2,<0.3.0a0 | ||
- pyside2 >=5.13.2,!=5.15.0 | ||
- pyside6 <6.5|>=6.7 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
thanks!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for keeping things flexible. I don't really understand the plugin manager but cool!!!
My main question is about the plugin engine actually. Does it leverage conda-forge??? Or will it force the installation of these plugins through pip? Installing through pip in my mind would hurt users in the long run |
Yes, if napari was installed with conda. |
great!!! awesome! |
Thanks @jaimergp |
# References and relevant issues <!-- What relevant resources were used in the creation of this PR? If this PR addresses an existing issue on the repo, please link to that issue here as "Closes #(issue-number)". If this PR adds docs for a napari PR please add a "Depends on <napari PR link>" --> # Description <!-- What does this pull request (PR) do? Does it add new content, improve/fix existing context, improve/fix workflow/documentation build/deployment or something else? <!-- If relevant, please include a screenshot or a screen capture in your content change: "An image is worth a thousand words!" --> <!-- You can use https://www.cockos.com/licecap/ or similar to create animations. --> <!-- You can also see a preview of the documentation changes you are submitting by clicking on "Details" to the right of the "Check the rendered docs here!" check on your PR.--> Describes the actions taken at conda-forge/napari-feedstock#63 <!-- Final Checklist - If images included: I have added [alt text](https://webaim.org/techniques/alttext/) If workflow, documentation build or deployment change: - My PR is the minimum possible work for the desired functionality - I have commented my code, to let others know what it does --> --------- Co-authored-by: Juan Nunez-Iglesias <jni@fastmail.com>
Closes #62
Checklist
0
(if the version changed)conda-smithy
(Use the phrase@conda-forge-admin, please rerender
in a comment in this PR for automated rerendering)Need a repo patch too I think?
I've added a new output,
napari-base
, following conversation in this PR, this Zulip thread, and this other one.With this PR we will have these outputs:
napari-base
: the core library, with only the required dependencies. Use it for your Pyhton imports but no GUI action.napari
: the application sans the Qt backend. It contains optional yet recommended dependencies for (performant) GUI usage, like the plugin manager ornumba
.napari-menu
: just themenuinst
JSON file, in case you want a desktop shortcut.Most end-users will want to
conda install napari pyqt
orconda install napari pyside2
.