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 anywidget to pangeo-notebook #522

Closed
wants to merge 6 commits into from
Closed

Add anywidget to pangeo-notebook #522

wants to merge 6 commits into from

Conversation

weiji14
Copy link
Member

@weiji14 weiji14 commented Apr 1, 2024

Custom jupyter widgets made easy! Repo at https://github.com/manzt/anywidget

Fixes #520.

@weiji14 weiji14 self-assigned this Apr 1, 2024
Copy link
Contributor

github-actions bot commented Apr 1, 2024

Binder 👈 Try on Mybinder.org!

@pangeo-bot
Copy link
Collaborator

/condalock
Automatically locking new conda environment, building, and testing images...

@weiji14 weiji14 marked this pull request as ready for review April 2, 2024 18:50
@weiji14
Copy link
Member Author

weiji14 commented Apr 2, 2024

Can someone open the binder link to test and see if pip install lonboard works, and the maps can render ok?

@rabernat
Copy link
Member

rabernat commented Apr 2, 2024

Binder build doesn't seem to work

Waiting for build to start...
update-alternatives: warning: skip creation of /usr/share/man/it/man1/editor.1.gz because associated file /usr/share/man/it/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ja/man1/editor.1.gz because associated file /usr/share/man/ja/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/pl/man1/editor.1.gz because associated file /usr/share/man/pl/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/ru/man1/editor.1.gz because associated file /usr/share/man/ru/man1/vim.1.gz (of link group editor) doesn't exist
update-alternatives: warning: skip creation of /usr/share/man/man1/editor.1.gz because associated file /usr/share/man/man1/vim.1.gz (of link group editor) doesn't exist
Setting up libxpm4:amd64 (1:3.5.12-1ubuntu0.22.04.2) ...
Setting up libxrender1:amd64 (1:0.9.10-1build4) ...
Setting up openssh-client (1:8.9p1-3ubuntu0.6) ...
update-alternatives: using /usr/bin/ssh to provide /usr/bin/rsh (rsh) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/rsh.1.gz because associated file /usr/share/man/man1/ssh.1.gz (of link group rsh) doesn't exist
update-alternatives: using /usr/bin/slogin to provide /usr/bin/rlogin (rlogin) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/rlogin.1.gz because associated file /usr/share/man/man1/slogin.1.gz (of link group rlogin) doesn't exist
update-alternatives: using /usr/bin/scp to provide /usr/bin/rcp (rcp) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/rcp.1.gz because associated file /usr/share/man/man1/scp.1.gz (of link group rcp) doesn't exist
Setting up libpango-1.0-0:amd64 (1.50.6+ds-2ubuntu1) ...
Setting up libheif1:amd64 (1.12.0-2build1) ...
Setting up libxext6:amd64 (2:1.3.4-1build1) ...
Setting up libcurl3-gnutls:amd64 (7.81.0-1ubuntu1.16) ...
Setting up libcairo2:amd64 (1.16.0-5ubuntu2) ...
Setting up libmagickcore-6.q16-6:amd64 (8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3) ...
Setting up perl (5.34.0-3ubuntu1.3) ...
Setting up shared-mime-info (2.1-2) ...
Setting up netpbm (2:10.0-15.4) ...
Setting up libxt6:amd64 (1:1.2.1-1) ...
Setting up libcups2:amd64 (2.4.1op1-1ubuntu4.8) ...
Setting up xauth (1:1.1-1build2) ...
Setting up libmagickwand-6.q16-6:amd64 (8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3) ...
Setting up libpangoft2-1.0-0:amd64 (1.50.6+ds-2ubuntu1) ...
Setting up libpangocairo-1.0-0:amd64 (1.50.6+ds-2ubuntu1) ...
Setting up libxmu6:amd64 (2:1.1.3-3) ...
Setting up libgs9:amd64 (9.55.0~dfsg1-0ubuntu5.6) ...
Setting up libmagickcore-6.q16-6-extra:amd64 (8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3) ...
Setting up libxaw7:amd64 (2:1.0.14-1) ...
Setting up ghostscript (9.55.0~dfsg1-0ubuntu5.6) ...
Setting up liberror-perl (0.17029-1) ...
Setting up groff (1.22.4-8build1) ...
Setting up git (1:2.34.1-1ubuntu1.10) ...
Setting up imagemagick-6.q16 (8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3) ...
update-alternatives: using /usr/bin/compare-im6.q16 to provide /usr/bin/compare (compare) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/compare.1.gz because associated file /usr/share/man/man1/compare-im6.q16.1.gz (of link group compare) doesn't exist
update-alternatives: using /usr/bin/compare-im6.q16 to provide /usr/bin/compare-im6 (compare-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/compare-im6.1.gz because associated file /usr/share/man/man1/compare-im6.q16.1.gz (of link group compare-im6) doesn't exist
update-alternatives: using /usr/bin/animate-im6.q16 to provide /usr/bin/animate (animate) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/animate.1.gz because associated file /usr/share/man/man1/animate-im6.q16.1.gz (of link group animate) doesn't exist
update-alternatives: using /usr/bin/animate-im6.q16 to provide /usr/bin/animate-im6 (animate-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/animate-im6.1.gz because associated file /usr/share/man/man1/animate-im6.q16.1.gz (of link group animate-im6) doesn't exist
update-alternatives: using /usr/bin/convert-im6.q16 to provide /usr/bin/convert (convert) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/convert.1.gz because associated file /usr/share/man/man1/convert-im6.q16.1.gz (of link group convert) doesn't exist
update-alternatives: using /usr/bin/convert-im6.q16 to provide /usr/bin/convert-im6 (convert-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/convert-im6.1.gz because associated file /usr/share/man/man1/convert-im6.q16.1.gz (of link group convert-im6) doesn't exist
update-alternatives: using /usr/bin/composite-im6.q16 to provide /usr/bin/composite (composite) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/composite.1.gz because associated file /usr/share/man/man1/composite-im6.q16.1.gz (of link group composite) doesn't exist
update-alternatives: using /usr/bin/composite-im6.q16 to provide /usr/bin/composite-im6 (composite-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/composite-im6.1.gz because associated file /usr/share/man/man1/composite-im6.q16.1.gz (of link group composite-im6) doesn't exist
update-alternatives: using /usr/bin/conjure-im6.q16 to provide /usr/bin/conjure (conjure) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/conjure.1.gz because associated file /usr/share/man/man1/conjure-im6.q16.1.gz (of link group conjure) doesn't exist
update-alternatives: using /usr/bin/conjure-im6.q16 to provide /usr/bin/conjure-im6 (conjure-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/conjure-im6.1.gz because associated file /usr/share/man/man1/conjure-im6.q16.1.gz (of link group conjure-im6) doesn't exist
update-alternatives: using /usr/bin/import-im6.q16 to provide /usr/bin/import (import) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/import.1.gz because associated file /usr/share/man/man1/import-im6.q16.1.gz (of link group import) doesn't exist
update-alternatives: using /usr/bin/import-im6.q16 to provide /usr/bin/import-im6 (import-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/import-im6.1.gz because associated file /usr/share/man/man1/import-im6.q16.1.gz (of link group import-im6) doesn't exist
update-alternatives: using /usr/bin/identify-im6.q16 to provide /usr/bin/identify (identify) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/identify.1.gz because associated file /usr/share/man/man1/identify-im6.q16.1.gz (of link group identify) doesn't exist
update-alternatives: using /usr/bin/identify-im6.q16 to provide /usr/bin/identify-im6 (identify-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/identify-im6.1.gz because associated file /usr/share/man/man1/identify-im6.q16.1.gz (of link group identify-im6) doesn't exist
update-alternatives: using /usr/bin/stream-im6.q16 to provide /usr/bin/stream (stream) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/stream.1.gz because associated file /usr/share/man/man1/stream-im6.q16.1.gz (of link group stream) doesn't exist
update-alternatives: using /usr/bin/stream-im6.q16 to provide /usr/bin/stream-im6 (stream-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/stream-im6.1.gz because associated file /usr/share/man/man1/stream-im6.q16.1.gz (of link group stream-im6) doesn't exist
update-alternatives: using /usr/bin/display-im6.q16 to provide /usr/bin/display (display) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/display.1.gz because associated file /usr/share/man/man1/display-im6.q16.1.gz (of link group display) doesn't exist
update-alternatives: using /usr/bin/display-im6.q16 to provide /usr/bin/display-im6 (display-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/display-im6.1.gz because associated file /usr/share/man/man1/display-im6.q16.1.gz (of link group display-im6) doesn't exist
update-alternatives: using /usr/bin/montage-im6.q16 to provide /usr/bin/montage (montage) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/montage.1.gz because associated file /usr/share/man/man1/montage-im6.q16.1.gz (of link group montage) doesn't exist
update-alternatives: using /usr/bin/montage-im6.q16 to provide /usr/bin/montage-im6 (montage-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/montage-im6.1.gz because associated file /usr/share/man/man1/montage-im6.q16.1.gz (of link group montage-im6) doesn't exist
update-alternatives: using /usr/bin/mogrify-im6.q16 to provide /usr/bin/mogrify (mogrify) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/mogrify.1.gz because associated file /usr/share/man/man1/mogrify-im6.q16.1.gz (of link group mogrify) doesn't exist
update-alternatives: using /usr/bin/mogrify-im6.q16 to provide /usr/bin/mogrify-im6 (mogrify-im6) in auto mode
update-alternatives: warning: skip creation of /usr/share/man/man1/mogrify-im6.1.gz because associated file /usr/share/man/man1/mogrify-im6.q16.1.gz (of link group mogrify-im6) doesn't exist
Setting up imagemagick (8:6.9.11.60+dfsg-1.3ubuntu0.22.04.3) ...
Processing triggers for libc-bin (2.35-0ubuntu3.6) ...
 ---> Removed intermediate container 953f2fd82490
 ---> Running in 0c5e1b1abc4e
Checking for 'jupyter_notebook_config.py'...
 ---> Removed intermediate container 0c5e1b1abc4e
 ---> Running in 6519df9c402b
 ---> Removed intermediate container 6519df9c402b
 ---> Running in 145f78083898
Checking for 'conda-lock.yml' 'conda-linux-64.lock' or 'environment.yml'...
INFO:root:Downloading and Extracting Packages: ...working... done
INFO:root:
INFO:root:Downloading and Extracting Packages: ...working... done
INFO:root:Preparing transaction: ...working... done
INFO:root:Verifying transaction: ...working... done
INFO:root:Executing transaction: ...working...
INFO:root:
INFO:root:/srv/conda/envs/notebook/lib/python3.11/site-packages/nb_conda_kernels/install.py:8: DeprecationWarning: pkg_resources is deprecated as an API. See https://setuptools.pypa.io/en/latest/pkg_resources.html
INFO:root:  from pkg_resources import iter_entry_points
INFO:root:Enabling nb_conda_kernels...
INFO:root:CONDA_PREFIX: /srv/conda/envs/notebook
INFO:root:Status: enabled
INFO:root:
INFO:root:done
Will remove 1 package cache(s).
/bin/sh: 1: [: /srv/conda/envs/notebook/lib/python3.1/site-packages/bokeh/server/static: unexpected operator

@weiji14
Copy link
Member Author

weiji14 commented Apr 2, 2024

Hmm, the master branch seems to build ok at https://mybinder.org/v2/gh/pangeo-data/pangeo-docker-images/master. Not sure why this anywidget branch errors like that, I'm not seeing anything too strange with the environment specification files.

@weiji14
Copy link
Member Author

weiji14 commented Apr 2, 2024

Oh wait, I just noticed this line:

/bin/sh: 1: [: /srv/conda/envs/notebook/lib/python3.1/site-packages/bokeh/server/static: unexpected operator

Why is it using Python 3.1, is there some Python 3.10 bug somewhere?

@weiji14
Copy link
Member Author

weiji14 commented Apr 2, 2024

/condalock

@scottyhq
Copy link
Member

scottyhq commented Apr 3, 2024

Why is it using Python 3.1, is there some Python 3.10 bug somewhere?

Good catch, that is an unrelated bug that seems to have been happening since we started using python 3.10 see #530

@@ -4,6 +4,7 @@ channels:
- nodefaults
dependencies:
- adlfs
- anywidget
Copy link
Member

Choose a reason for hiding this comment

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

I still don't understand why we don't just add lonboard here. it seems like the whole matching hub/client versions might just be relevant if running jupyterhub on a single machine (with a common default env) versus k8s? maybe i'm missing something, but for the k8s case I thought all packages and versions available to a user are defined here and nowhere else.

Copy link
Member Author

Choose a reason for hiding this comment

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

Well, it depends on how much people want to use lonboard. I've only added anywidget to keep things lightweight-ish, but if lonboard is something a lot of people want to use, then we could add it directly also. Just that I work at the same company developing lonboard, so don't want to be too pushy 😉

Note that the conda-forge version of lonboard at https://anaconda.org/conda-forge/lonboard/files?version=0.7.1 sets a minimum pin of anywidget >=0.9.0, so I don't think we can be confident about matching compatible lonboard and anywidget versions, even if we do add lonboard to the environment.yml file here.

@scottyhq scottyhq mentioned this pull request Apr 3, 2024
@weiji14
Copy link
Member Author

weiji14 commented Apr 11, 2024

/condalock

@weiji14 weiji14 marked this pull request as draft April 17, 2024 23:04
@weiji14
Copy link
Member Author

weiji14 commented May 26, 2024

Superseded by #532.

@weiji14 weiji14 closed this May 26, 2024
@weiji14 weiji14 deleted the anywidget branch May 26, 2024 21:02
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

Successfully merging this pull request may close these issues.

Support anywidget / lonboard
4 participants