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

Should pip install recOrder-napari install napari? #498

Open
talonchandler opened this issue Jan 29, 2025 · 4 comments
Open

Should pip install recOrder-napari install napari? #498

talonchandler opened this issue Jan 29, 2025 · 4 comments

Comments

@talonchandler
Copy link
Collaborator

@mattersoflight suggested that we change recOrder's dependencies so that pip install recOrder-napari installs napari. I agree that, if possible,pip install recOrder-napari should provide the most polished installation path.

In chatting with @ziw-liu and @edyoshikun (cc @amitabhverma) about this plan, they brought up two potential issues:

@ziw-liu @edyoshikun would the following solution work? If not, can you share your preferred installation instructions for both novices and experienced users.

(Novice users):pip install recOrder-napari installs napari[pyqt6]
Experienced users): pip install recOrder-napari[no-napari] does not install napari so that recOrder can be used via CLI and/or integrated into other environments.

@ziw-liu
Copy link
Contributor

ziw-liu commented Jan 29, 2025

Experienced users): pip install recOrder-napari[no-napari] does not install napari so that recOrder can be used via CLI and/or integrated into other environments.

How would this be implemented? IIRC optional dependencies can only add dependencies, not remove them.

Edit: see this discussion on python discourse.

@ziw-liu
Copy link
Contributor

ziw-liu commented Jan 29, 2025

I'm actually fine with installing napari by default since it's at least pure python, but currently recOrder[acq] has some Qt-related quirks that requires specific Qt backends which will impose limitations on other coexisting packages in an environment.

@ziw-liu
Copy link
Contributor

ziw-liu commented Jan 29, 2025

Given the limitations of python, the best I can think of is what napari does (or had to do): using a [all] flag in all of our documentation so that it's clear what needs to be done for most users, and keep the base dependencies free of Qt.

@talonchandler
Copy link
Collaborator Author

Thanks for helping us think this through, @ziw-liu. So I think we're heading towards:

(Novice users, recommended in docs): pip install recOrder-napari[all] installs napari[pyqt6].
(Experienced users): pip install recOrder-napari does not install napari (or Qt)

amitabhverma added a commit that referenced this issue Feb 7, 2025
- streamline different setup needs to address #498
- added position metadata to info label #500
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

No branches or pull requests

2 participants