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
jupyter env: new build for new XClim and to get Dask dashboard and Panel server app to work #241
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
…nel server app to work
… app With this setting, we will not need to provide `websocket_origin` as in the sample code below. ``` import panel as pn srv = pn.panel( pn.widgets.FloatInput(name='an input') ).show(port=5007, websocket_origin="pavics.ouranos.ca") ```
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/859/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-227.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/741/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/860/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-227.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/742/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/861/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-227.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/743/NOTEBOOK TEST RESULTS |
Following https://docs.bokeh.org/en/latest/docs/user_guide/jupyter.html#jupyterhub ====== Define a function to help create the URL for the browser to connect to the Bokeh server. See below for a reference implementation. You’ll have to either modify this code or assign the URL of your JupyterHub installation to the environment variable EXTERNAL_URL. JupyterHub defaults to JUPYTERHUB_SERVICE_PREFIX in this case. def remote_jupyter_proxy_url(port): """ Callable to configure Bokeh's show method when a proxy must be configured. If port is None we're asking about the URL for the origin header. """ base_url = os.environ['EXTERNAL_URL'] host = urllib.parse.urlparse(base_url).netloc # If port is None we're asking for the URL origin # so return the public hostname. if port is None: return host service_url_path = os.environ['JUPYTERHUB_SERVICE_PREFIX'] proxy_url_path = 'proxy/%d' % port user_url = urllib.parse.urljoin(base_url, service_url_path) full_url = urllib.parse.urljoin(user_url, proxy_url_path) return full_url Pass the function you defined in step 2 to the show() function as the notebook_url keyword argument. Bokeh then calls this function when it sets up the server and creates the URL to load a graph: show(obj, notebook_url=remote_jupyter_proxy_url) =========
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/862/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-227.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/744/NOTEBOOK TEST RESULTS |
@tlogan2000 @huard I am able to customize the Dask dashboard display link but not the Bokeh Panel server one (opened them an issue bokeh/bokeh#12090). It's deployed to |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/863/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-227.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/745/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/864/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-227.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/746/NOTEBOOK TEST RESULTS |
huard
approved these changes
Apr 22, 2022
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/869/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-71.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/750/NOTEBOOK TEST RESULTS |
…no need to set it in jupyterhub_config.py anymore
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/870/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-71.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/751/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/871/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-86.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/752/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/872/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-86.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/753/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/873/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-86.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/754/NOTEBOOK TEST RESULTS |
…k behind our JupyterHub
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/874/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-86.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/755/NOTEBOOK TEST RESULTS |
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/875/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https://host-140-86.rdext.crim.ca PAVICS-e2e-workflow-tests Pipeline ResultsTests URL : http://daccs-jenkins.crim.ca:80/job/PAVICS-e2e-workflow-tests/job/master/756/NOTEBOOK TEST RESULTS |
tlvu
added a commit
to Ouranosinc/PAVICS-e2e-workflow-tests
that referenced
this pull request
May 5, 2022
docker: new build for new XClim and to get Dask dashboard and Panel server app to work # Overview Still have to pin `dask` for performance and `shapely` for notebook error. Dask dashboard and Panel server app work both by manually mapping `http://localhost:<PORT>` to `https://pavics.ouranos.ca/jupyter/user/<USER>/proxy/<PORT>` as seen in screenshots below: ![Screenshot from 2022-04-12 15-20-58](https://user-images.githubusercontent.com/11966697/163259294-97337abd-91e6-4832-b639-d7d2e89c353d.png) ![Screenshot from 2022-04-12 16-29-06](https://user-images.githubusercontent.com/11966697/163264000-c2d0f993-8d4d-4eeb-8fa7-0cdce454c2f4.png) The "Render with Panel" green button also works and avoid having to deal with manual URL rewrite: ![Screenshot from 2022-05-04 15-18-03](https://user-images.githubusercontent.com/11966697/166810160-f6989da4-6e8f-4407-8fd5-4ef71770e1f2.png) ## Relevant Changes ```diff # new > - dask-labextension=5.2.0=pyhd8ed1ab_0 > - jupyter-panel-proxy=0.2.0a2=py_0 > - jupyter-server-proxy=3.2.1=pyhd8ed1ab_0 # removed, interfere with panel < - handcalcs==1.4.1 < - xclim=0.34.0=pyhd8ed1ab_0 > - xclim=0.36.0=pyhd8ed1ab_0 < - cf_xarray=0.6.3=pyhd8ed1ab_0 > - cf_xarray=0.7.2=pyhd8ed1ab_0 < - clisops=0.8.0=pyh6c4a22f_0 > - clisops=0.9.0=pyh6c4a22f_0 # downgrade by clisops < - pandas=1.4.1=py38h43a58ef_0 > - pandas=1.3.5=py38h43a58ef_0 < - rioxarray=0.10.3=pyhd8ed1ab_0 > - rioxarray=0.11.1=pyhd8ed1ab_0 < - nc-time-axis=1.4.0=pyhd8ed1ab_0 > - nc-time-axis=1.4.1=pyhd8ed1ab_0 < - roocs-utils=0.5.0=pyh6c4a22f_0 > - roocs-utils=0.6.1=pyh6c4a22f_0 < - panel=0.12.7=pyhd8ed1ab_0 > - panel=0.13.1a2=py_0 < - plotly=5.6.0=pyhd8ed1ab_0 > - plotly=5.7.0=pyhd8ed1ab_0 ``` ## Related Issue / Discussion - #99 - #100 - PR to deploy this new Jupyter env to PAVICS: bird-house/birdhouse-deploy#241 - bokeh/bokeh#12090 - holoviz/jupyter-panel-proxy#21 - holoviz/panel#3469 - holoviz/panel#3440 ## Test * Deployed as "beta" image in production for bokeh visualization performance regression testing. * Manual test notebook https://github.com/Ouranosinc/PAVICS-landing/blob/master/content/notebooks/climate_indicators/PAVICStutorial_ClimateDataAnalysis-5Visualization.ipynb for bokeh visualization performance and it looks fine. * Jenkins builds: only known subset-user-input.ipynb: RemoteDisconnected, `pavics/workflow-tests:220412`: [job-PAVICS-e2e-workflow-tests-new-docker-build-17-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8484558/job-PAVICS-e2e-workflow-tests-new-docker-build-17-consoleText.txt) [job-PAVICS-e2e-workflow-tests-new-docker-build-16-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8484559/job-PAVICS-e2e-workflow-tests-new-docker-build-16-consoleText.txt) [job-PAVICS-e2e-workflow-tests-new-docker-build-15-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8484560/job-PAVICS-e2e-workflow-tests-new-docker-build-15-consoleText.txt) * Jenkins build: all passed, `pavics/workflow-tests:220522`: climex.ipynb 2.5 mins, OK [job-PAVICS-e2e-workflow-tests-new-docker-build-39-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8627256/job-PAVICS-e2e-workflow-tests-new-docker-build-39-consoleText.txt) climex.ipynb 5 mins, Slow [job-PAVICS-e2e-workflow-tests-new-docker-build-41-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8627258/job-PAVICS-e2e-workflow-tests-new-docker-build-41-consoleText.txt) climex.ipynb 14 mins, VERY Slow [job-PAVICS-e2e-workflow-tests-new-docker-build-42-consoleText.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8627789/job-PAVICS-e2e-workflow-tests-new-docker-build-42-consoleText.txt) ## Additional Information * Full diff `conda env export`: [220401-220412-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8484573/220401-220412-conda-env-export.diff.txt) [220401-220502-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8627790/220401-220502-conda-env-export.diff.txt) ``` 2a3 > - pyviz/label/dev 8c9 < - _openmp_mutex=4.5=1_gnu --- > - _openmp_mutex=4.5=2_gnu 10,11c11,12 < - aiobotocore=2.1.2=pyhd8ed1ab_0 < - aiohttp=3.8.1=py38h497a2fe_0 --- > - aiobotocore=2.2.0=pyhd8ed1ab_0 > - aiohttp=3.8.1=py38h0a891b7_1 15,16c16,17 < - alsa-lib=1.2.3=h516909a_0 < - ansi2html=1.7.0=py38h578d9bd_0 --- > - alsa-lib=1.2.3.2=h166bdaf_0 > - ansi2html=1.7.0=py38h578d9bd_1 20c21 < - argon2-cffi-bindings=21.2.0=py38h497a2fe_1 --- > - argon2-cffi-bindings=21.2.0=py38h0a891b7_2 30,31c31,32 < - bcrypt=3.2.0=py38h497a2fe_2 < - beautifulsoup4=4.10.0=pyha770c72_0 --- > - bcrypt=3.2.2=py38h0a891b7_0 > - beautifulsoup4=4.11.1=pyha770c72_0 34c35 < - bleach=4.1.0=pyhd8ed1ab_0 --- > - bleach=5.0.0=pyhd8ed1ab_0 36,37c37,38 < - blosc=1.21.0=h9c3ff4c_0 < - bokeh=2.4.2=py38h578d9bd_0 --- > - blosc=1.21.1=hd32f23e_0 > - bokeh=2.4.2=py38h578d9bd_1 40,41c41,42 < - botocore=1.23.24=pyhd8ed1ab_0 < - bottleneck=1.3.4=py38h3ec907f_0 --- > - botocore=1.24.21=pyhd8ed1ab_1 > - bottleneck=1.3.4=py38h71d37f0_1 43,46c44,47 < - brotli=1.0.9=h7f98852_6 < - brotli-bin=1.0.9=h7f98852_6 < - brotli-python=1.0.9=py38h709712a_6 < - brotlipy=0.7.0=py38h497a2fe_1003 --- > - brotli=1.0.9=h166bdaf_7 > - brotli-bin=1.0.9=h166bdaf_7 > - brotli-python=1.0.9=py38hfa26641_7 > - brotlipy=0.7.0=py38h0a891b7_1004 60c61 < - cf_xarray=0.6.3=pyhd8ed1ab_0 --- > - cf_xarray=0.7.2=pyhd8ed1ab_0 65c66 < - cftime=1.6.0=py38h3ec907f_0 --- > - cftime=1.6.0=py38h71d37f0_1 67c68 < - click=8.1.2=py38h578d9bd_0 --- > - click=8.1.3=py38h578d9bd_0 71c72 < - clisops=0.8.0=pyh6c4a22f_0 --- > - clisops=0.9.0=pyh6c4a22f_0 77,78c78,79 < - cryptography=36.0.2=py38h2b5fc30_0 < - curl=7.82.0=h7bff187_0 --- > - cryptography=36.0.2=py38h2b5fc30_1 > - curl=7.83.0=h7bff187_0 80c81 < - cytoolz=0.11.2=py38h497a2fe_1 --- > - cytoolz=0.11.2=py38h0a891b7_2 84c85,86 < - datashader=0.13.0=pyh6c4a22f_0 --- > - dask-labextension=5.2.0=pyhd8ed1ab_0 > - datashader=0.14.0=pyh6c4a22f_0 87c89 < - debugpy=1.5.1=py38h709712a_0 --- > - debugpy=1.6.0=py38hfa26641_0 110,111c112,113 < - flask=2.1.1=pyhd8ed1ab_0 < - flask-compress=1.11=pyhd8ed1ab_0 --- > - flask=2.1.2=pyhd8ed1ab_0 > - flask-compress=1.12=pyhd8ed1ab_0 118c120 < - fontconfig=2.13.96=h8e229c2_2 --- > - fontconfig=2.14.0=h8e229c2_0 121c123 < - fonttools=4.31.2=py38h0a891b7_0 --- > - fonttools=4.33.3=py38h0a891b7_0 126c128 < - fsspec=2022.2.0=pyhd8ed1ab_0 --- > - fsspec=2022.3.0=pyhd8ed1ab_0 128c130 < - future=0.18.2=py38h578d9bd_4 --- > - future=0.18.2=py38h578d9bd_5 130c132 < - gcsfs=2022.2.0=pyhd8ed1ab_0 --- > - gcsfs=2022.3.0=pyhd8ed1ab_0 145c147 < - google-auth=2.6.2=pyh6c4a22f_0 --- > - google-auth=2.6.6=pyh6c4a22f_0 149c151 < - google-crc32c=1.1.2=py38h8838a9a_2 --- > - google-crc32c=1.1.2=py38h57c428a_3 152c154 < - greenlet=1.1.2=py38h709712a_1 --- > - greenlet=1.1.2=py38hfa26641_2 166c168 < - identify=2.4.12=pyhd8ed1ab_0 --- > - identify=2.5.0=pyhd8ed1ab_0 168,169c170,171 < - imagecodecs-lite=2019.12.3=py38h6c62de6_4 < - imageio=2.16.1=pyhcf75d05_0 --- > - imagecodecs-lite=2019.12.3=py38h71d37f0_5 > - imageio=2.18.0=pyhcf75d05_0 172c174 < - importlib_resources=5.6.0=pyhd8ed1ab_0 --- > - importlib_resources=5.7.1=pyhd8ed1ab_0 179,181c181,183 < - ipykernel=6.11.0=py38h7f3c49e_0 < - ipyleaflet=0.15.0=pyhd8ed1ab_3 < - ipython=8.2.0=py38h578d9bd_0 --- > - ipykernel=6.13.0=py38h7f3c49e_0 > - ipyleaflet=0.16.0=pyhd8ed1ab_3 > - ipython=8.3.0=py38h578d9bd_0 187c189 < - jedi=0.18.1=py38h578d9bd_0 --- > - jedi=0.18.1=py38h578d9bd_1 189c191 < - jmespath=0.10.0=pyh9f0ad1d_0 --- > - jmespath=1.0.0=pyhd8ed1ab_0 191c193 < - jpeg=9e=h7f98852_0 --- > - jpeg=9e=h166bdaf_1 197,198c199,201 < - jupyter-archive=3.3.0=pyhd8ed1ab_1 < - jupyter-dash=0.4.1=pyhd8ed1ab_2 --- > - jupyter-archive=3.3.1=pyhd8ed1ab_0 > - jupyter-dash=0.4.2=pyhd8ed1ab_1 > - jupyter-panel-proxy=0.2.0a2=py_0 200a204 > - jupyter-server-proxy=3.2.1=pyhd8ed1ab_0 202c206 < - jupyter_client=7.2.1=pyhd8ed1ab_0 --- > - jupyter_client=7.3.0=pyhd8ed1ab_0 205c209 < - jupyter_server=1.16.0=pyhd8ed1ab_1 --- > - jupyter_server=1.17.0=pyhd8ed1ab_0 207,210c211,214 < - jupyterhub=2.2.2=hd8ed1ab_0 < - jupyterhub-base=2.2.2=pyhd8ed1ab_0 < - jupyterlab=3.3.2=pyhd8ed1ab_0 < - jupyterlab-git=0.36.0=pyhd8ed1ab_0 --- > - jupyterhub=2.2.2=pyhd8ed1ab_1 > - jupyterhub-base=2.2.2=pyhd8ed1ab_1 > - jupyterlab=3.3.4=pyhd8ed1ab_0 > - jupyterlab-git=0.37.1=pyhd8ed1ab_0 213,214c217,218 < - jupyterlab_pygments=0.1.2=pyh9f0ad1d_0 < - jupyterlab_server=2.12.0=pyhd8ed1ab_0 --- > - jupyterlab_pygments=0.2.2=pyhd8ed1ab_0 > - jupyterlab_server=2.13.0=pyhd8ed1ab_1 216c220 < - jupytext=1.13.7=pyhd0ecf6b_0 --- > - jupytext=1.13.8=pyh4b9bcc7_0 219c223 < - kiwisolver=1.4.2=py38h43d8883_0 --- > - kiwisolver=1.4.2=py38h43d8883_1 221c225 < - lazy-object-proxy=1.7.1=py38h497a2fe_0 --- > - lazy-object-proxy=1.7.1=py38h0a891b7_1 227,231c231,235 < - libblas=3.9.0=13_linux64_openblas < - libbrotlicommon=1.0.9=h7f98852_6 < - libbrotlidec=1.0.9=h7f98852_6 < - libbrotlienc=1.0.9=h7f98852_6 < - libcblas=3.9.0=13_linux64_openblas --- > - libblas=3.9.0=14_linux64_openblas > - libbrotlicommon=1.0.9=h166bdaf_7 > - libbrotlidec=1.0.9=h166bdaf_7 > - libbrotlienc=1.0.9=h166bdaf_7 > - libcblas=3.9.0=14_linux64_openblas 233c237 < - libcf=1.0.3=py38h80f51ce_113 --- > - libcf=1.0.3=py38h0c3d773_114 236c240 < - libcurl=7.82.0=h7bff187_0 --- > - libcurl=7.83.0=h7bff187_0 246c250 < - libgcc-ng=11.2.0=h1d223b6_14 --- > - libgcc-ng=11.2.0=h1d223b6_16 248,249c252,253 < - libgfortran-ng=11.2.0=h69a702a_14 < - libgfortran5=11.2.0=h5c6108e_14 --- > - libgfortran-ng=11.2.0=h69a702a_16 > - libgfortran5=11.2.0=h5c6108e_16 252c256 < - libgomp=11.2.0=h1d223b6_14 --- > - libgomp=11.2.0=h1d223b6_16 256c260 < - liblapack=3.9.0=13_linux64_openblas --- > - liblapack=3.9.0=14_linux64_openblas 259c263 < - libnetcdf=4.8.1=mpi_mpich_h319fa22_1 --- > - libnetcdf=4.8.1=mpi_mpich_hcdf9059_2 263c267 < - libopenblas=0.3.18=pthreads_h8fe5266_0 --- > - libopenblas=0.3.20=pthreads_h78a6416_0 274c278 < - libstdcxx-ng=11.2.0=he4da1e4_14 --- > - libstdcxx-ng=11.2.0=he4da1e4_16 288,291c292,296 < - llvmlite=0.38.0=py38h4630a5e_0 < - locket=0.2.0=py_2 < - lxml=4.8.0=py38h0a891b7_1 < - lz4=3.1.10=py38hebdc3cf_0 --- > - llvmlite=0.38.0=py38h38d86a4_1 > - locket=1.0.0=pyhd8ed1ab_0 > - loguru=0.6.0=py38h578d9bd_1 > - lxml=4.8.0=py38h0a891b7_2 > - lz4=4.0.0=py38h1bf946c_1 294c299 < - mako=1.2.0=pyhd8ed1ab_0 --- > - mako=1.2.0=pyhd8ed1ab_1 298c303 < - markdown-it-py=1.1.0=pyhd8ed1ab_0 --- > - markdown-it-py=2.1.0=pyhd8ed1ab_0 303a309 > - mdurl=0.1.0=pyhd8ed1ab_0 308,309c314,315 < - mpi4py=3.1.3=py38he865349_0 < - mpich=4.0.1=h846660c_100 --- > - mpi4py=3.1.3=py38h97ac3a3_1 > - mpich=4.0.2=h846660c_100 311c317 < - multidict=6.0.2=py38h497a2fe_0 --- > - multidict=6.0.2=py38h0a891b7_1 315,316c321,322 < - mysql-common=8.0.28=haf5c9bc_2 < - mysql-libs=8.0.28=h28c427c_2 --- > - mysql-common=8.0.29=haf5c9bc_0 > - mysql-libs=8.0.29=h28c427c_0 319,320c325,327 < - nbconvert=6.4.5=py38h578d9bd_0 < - nbconvert-core=6.4.5=pyhd8ed1ab_1 --- > - nbconvert=6.5.0=pyhd8ed1ab_0 > - nbconvert-core=6.5.0=pyhd8ed1ab_0 > - nbconvert-pandoc=6.5.0=pyhd8ed1ab_0 322c329 < - nbformat=5.2.0=pyhd8ed1ab_0 --- > - nbformat=5.3.0=pyhd8ed1ab_0 325,327c332,334 < - nc-time-axis=1.4.0=pyhd8ed1ab_0 < - ncurses=6.3=h9c3ff4c_0 < - nest-asyncio=1.5.4=pyhd8ed1ab_0 --- > - nc-time-axis=1.4.1=pyhd8ed1ab_0 > - ncurses=6.3=h27087fc_1 > - nest-asyncio=1.5.5=pyhd8ed1ab_0 332c339 < - networkx=2.7.1=pyhd8ed1ab_1 --- > - networkx=2.8=pyhd8ed1ab_0 335c342 < - notebook=6.4.10=pyha770c72_0 --- > - notebook=6.4.11=pyha770c72_0 341c348 < - numpy=1.21.5=py38h87f13fb_0 --- > - numpy=1.21.6=py38h1d589f8_0 343c350 < - openblas=0.3.18=pthreads_h4748800_0 --- > - openblas=0.3.20=pthreads_h320a7e8_0 351,352c358,359 < - pandas=1.4.1=py38h43a58ef_0 < - pandoc=2.17.1.1=ha770c72_0 --- > - pandas=1.3.5=py38h43a58ef_0 > - pandoc=2.18=ha770c72_0 354c361 < - panel=0.12.7=pyhd8ed1ab_0 --- > - panel=0.13.1a2=py_0 356c363 < - paramiko=2.10.3=pyhd8ed1ab_0 --- > - paramiko=2.10.4=pyhd8ed1ab_0 363,364c370,371 < - pillow=9.0.1=py38h0ee0e06_2 < - pint=0.18=pyhd8ed1ab_0 --- > - pillow=9.1.0=py38h0ee0e06_2 > - pint=0.19.2=pyhd8ed1ab_0 368c375 < - plotly=5.6.0=pyhd8ed1ab_0 --- > - plotly=5.7.0=pyhd8ed1ab_0 374c381 < - pre-commit=2.17.0=py38h578d9bd_0 --- > - pre-commit=2.18.1=py38h578d9bd_1 376,378c383,385 < - prometheus_client=0.13.1=pyhd8ed1ab_0 < - prompt-toolkit=3.0.27=pyha770c72_0 < - prompt_toolkit=3.0.27=hd8ed1ab_0 --- > - prometheus_client=0.14.1=pyhd8ed1ab_0 > - prompt-toolkit=3.0.29=pyha770c72_0 > - prompt_toolkit=3.0.29=hd8ed1ab_0 380c387 < - protobuf=3.20.0=py38hfa26641_0 --- > - protobuf=3.20.0=py38hfa26641_4 382c389 < - psutil=5.9.0=py38h497a2fe_0 --- > - psutil=5.9.0=py38h0a891b7_1 392,393c399,400 < - pycurl=7.45.1=py38h61f0cdf_0 < - pydantic=1.9.0=py38h497a2fe_0 --- > - pycurl=7.45.1=py38h61f0cdf_1 > - pydantic=1.9.0=py38h0a891b7_1 396c403 < - pygments=2.11.2=pyhd8ed1ab_0 --- > - pygments=2.12.0=pyhd8ed1ab_0 398c405 < - pynacl=1.5.0=py38h497a2fe_0 --- > - pynacl=1.5.0=py38h0a891b7_1 400c407 < - pyparsing=3.0.7=pyhd8ed1ab_0 --- > - pyparsing=3.0.8=pyhd8ed1ab_0 407,410c414,417 < - pyrsistent=0.18.1=py38h497a2fe_0 < - pyshp=2.2.0=pyhd8ed1ab_0 < - pysocks=1.7.1=py38h578d9bd_4 < - pytest=7.1.1=py38h578d9bd_1 --- > - pyrsistent=0.18.1=py38h0a891b7_1 > - pyshp=2.3.0=pyhd8ed1ab_0 > - pysocks=1.7.1=py38h578d9bd_5 > - pytest=7.1.2=py38h578d9bd_0 413c420,421 < - python-eccodes=1.4.0=py38h71d37f0_0 --- > - python-eccodes=1.4.0=py38h71d37f0_1 > - python-fastjsonschema=2.15.3=pyhd8ed1ab_0 419c427 < - pywavelets=1.3.0=py38h3ec907f_0 --- > - pywavelets=1.3.0=py38h71d37f0_1 421c429 < - pyzmq=22.3.0=py38h2035c66_1 --- > - pyzmq=22.3.0=py38hfc09fa9_2 425c433 < - qtpy=2.0.1=pyhd8ed1ab_0 --- > - qtpy=2.1.0=pyhd8ed1ab_0 434,435c442,443 < - rioxarray=0.10.3=pyhd8ed1ab_0 < - roocs-utils=0.5.0=pyh6c4a22f_0 --- > - rioxarray=0.11.1=pyhd8ed1ab_0 > - roocs-utils=0.6.1=pyh6c4a22f_0 437,440c445,448 < - rtree=0.9.7=py38h02d302b_3 < - ruamel.yaml=0.17.21=py38h497a2fe_0 < - ruamel.yaml.clib=0.2.6=py38h497a2fe_0 < - s3fs=2022.2.0=pyhd8ed1ab_1 --- > - rtree=1.0.0=py38h02d302b_1 > - ruamel.yaml=0.17.21=py38h0a891b7_1 > - ruamel.yaml.clib=0.2.6=py38h0a891b7_1 > - s3fs=2022.3.0=pyhd8ed1ab_0 446a455 > - setuptools=59.8.0=py38h578d9bd_1 447a457 > - simpervisor=0.4=pyhd8ed1ab_0 450a461 > - snappy=1.1.8=he1b5a44_3 456,457c467,468 < - sqlalchemy=1.4.33=py38h0a891b7_0 < - sqlite=3.37.1=h4ff8645_0 --- > - sqlalchemy=1.4.36=py38h0a891b7_0 > - sqlite=3.38.3=h4ff8645_0 462,463c473 < - terminado=0.13.3=py38h578d9bd_0 < - testpath=0.6.0=pyhd8ed1ab_0 --- > - terminado=0.13.3=py38h578d9bd_1 467a478 > - tinycss2=1.1.1=pyhd8ed1ab_0 473c484 < - tqdm=4.63.1=pyhd8ed1ab_0 --- > - tqdm=4.64.0=pyhd8ed1ab_0 476c487 < - trio=0.20.0=py38h578d9bd_0 --- > - trio=0.20.0=py38h578d9bd_1 478,479c489,490 < - typing-extensions=4.1.1=hd8ed1ab_0 < - typing_extensions=4.1.1=pyha770c72_0 --- > - typing-extensions=4.2.0=hd8ed1ab_1 > - typing_extensions=4.2.0=pyha770c72_1 482,483c493,494 < - ukkonen=1.0.1=py38h1fd1430_1 < - unicodedata2=14.0.0=py38h497a2fe_0 --- > - ukkonen=1.0.1=py38h43d8883_2 > - unicodedata2=14.0.0=py38h0a891b7_1 485c496 < - virtualenv=20.14.0=py38h578d9bd_1 --- > - virtualenv=20.14.1=py38h578d9bd_0 491,492c502,503 < - websockets=10.2=py38h0a891b7_0 < - werkzeug=2.1.0=pyhd8ed1ab_0 --- > - websockets=10.3=py38h0a891b7_0 > - werkzeug=2.1.2=pyhd8ed1ab_0 496c507 < - wrapt=1.14.0=py38h0a891b7_0 --- > - wrapt=1.14.1=py38h0a891b7_0 499c510 < - xclim=0.34.0=pyhd8ed1ab_0 --- > - xclim=0.36.0=pyhd8ed1ab_0 502,503c513,514 < - xeus=2.4.0=hab3612f_0 < - xeus-python=0.13.6=py38h9f61dbb_2 --- > - xeus=2.4.1=h70bab47_0 > - xeus-python=0.13.7=py38h9f61dbb_0 531c542 < - xyzservices=2022.3.0=pyhd8ed1ab_0 --- > - xyzservices=2022.4.0=pyhd8ed1ab_0 534,535c545,546 < - yarl=1.7.2=py38h497a2fe_1 < - zarr=2.11.1=pyhd8ed1ab_0 --- > - yarl=1.7.2=py38h0a891b7_2 > - zarr=2.11.3=pyhd8ed1ab_0 537,538c548,549 < - zict=2.1.0=pyhd8ed1ab_0 < - zipp=3.7.0=pyhd8ed1ab_1 --- > - zict=2.2.0=pyhd8ed1ab_0 > - zipp=3.8.0=pyhd8ed1ab_0 545,546d555 < - handcalcs==1.4.1 < - innerscope==0.5.1 550d558 < - more-itertools==8.12.0 555d562 < - setuptools==61.3.0 ``` * Full new `conda env export`: [220412-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8484577/220412-conda-env-export.yml.txt) [220502-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/8627792/220502-conda-env-export.yml.txt) ``` name: birdy channels: - pyviz/label/dev - cdat - conda-forge - defaults dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=2_gnu - affine=2.3.1=pyhd8ed1ab_0 - aiobotocore=2.2.0=pyhd8ed1ab_0 - aiohttp=3.8.1=py38h0a891b7_1 - aioitertools=0.10.0=pyhd8ed1ab_0 - aiosignal=1.2.0=pyhd8ed1ab_0 - alembic=1.7.7=pyhd8ed1ab_0 - alsa-lib=1.2.3.2=h166bdaf_0 - ansi2html=1.7.0=py38h578d9bd_1 - anyio=3.5.0=py38h578d9bd_0 - appdirs=1.4.4=pyh9f0ad1d_0 - argon2-cffi=21.3.0=pyhd8ed1ab_0 - argon2-cffi-bindings=21.2.0=py38h0a891b7_2 - asciitree=0.3.3=py_2 - asttokens=2.0.5=pyhd8ed1ab_0 - async-timeout=4.0.2=pyhd8ed1ab_0 - async_generator=1.10=py_0 - attrs=21.4.0=pyhd8ed1ab_0 - babel=2.9.1=pyh44b312d_0 - backcall=0.2.0=pyh9f0ad1d_0 - backports=1.0=py_2 - backports.functools_lru_cache=1.6.4=pyhd8ed1ab_0 - bcrypt=3.2.2=py38h0a891b7_0 - beautifulsoup4=4.11.1=pyha770c72_0 - bias_correction=0.4=pyhd8ed1ab_0 - birdy=0.8.1=pyh6c4a22f_1 - bleach=5.0.0=pyhd8ed1ab_0 - blinker=1.4=py_1 - blosc=1.21.1=hd32f23e_0 - bokeh=2.4.2=py38h578d9bd_1 - boltons=21.0.0=pyhd8ed1ab_0 - boost-cpp=1.74.0=h312852a_4 - botocore=1.24.21=pyhd8ed1ab_1 - bottleneck=1.3.4=py38h71d37f0_1 - branca=0.4.2=pyhd8ed1ab_0 - brotli=1.0.9=h166bdaf_7 - brotli-bin=1.0.9=h166bdaf_7 - brotli-python=1.0.9=py38hfa26641_7 - brotlipy=0.7.0=py38h0a891b7_1004 - bzip2=1.0.8=h7f98852_4 - c-ares=1.18.1=h7f98852_0 - ca-certificates=2021.10.8=ha878542_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cachetools=5.0.0=pyhd8ed1ab_0 - cairo=1.16.0=h6cf1ce9_1008 - cartopy=0.20.1=py38hf9a4893_1 - cdat_info=8.2.1=pyhd8ed1ab_2 - cdms2=3.1.5=py38hc1ef740_14 - cdtime=3.1.4=py38hc54c017_7 - certifi=2021.10.8=py38h578d9bd_2 - certipy=0.1.3=py_0 - cf_xarray=0.7.2=pyhd8ed1ab_0 - cffi=1.15.0=py38h3931269_0 - cfgrib=0.9.10.1=pyhd8ed1ab_0 - cfgv=3.3.1=pyhd8ed1ab_0 - cfitsio=3.470=hb418390_7 - cftime=1.6.0=py38h71d37f0_1 - charset-normalizer=2.0.12=pyhd8ed1ab_0 - click=8.1.3=py38h578d9bd_0 - click-plugins=1.1.1=py_0 - cligj=0.7.2=pyhd8ed1ab_1 - climpred=2.2.0=pyhd8ed1ab_0 - clisops=0.9.0=pyh6c4a22f_0 - cloudpickle=2.0.0=pyhd8ed1ab_0 - colorama=0.4.4=pyh9f0ad1d_0 - colorcet=3.0.0=pyhd8ed1ab_0 - configurable-http-proxy=4.5.0=node16_h3b247e2_2 - coverage=6.3.2=py38h0a891b7_2 - cryptography=36.0.2=py38h2b5fc30_1 - curl=7.83.0=h7bff187_0 - cycler=0.11.0=pyhd8ed1ab_0 - cytoolz=0.11.2=py38h0a891b7_2 - dash=2.3.1=pyhd8ed1ab_0 - dask=2022.1.0=pyhd8ed1ab_0 - dask-core=2022.1.0=pyhd8ed1ab_0 - dask-labextension=5.2.0=pyhd8ed1ab_0 - datashader=0.14.0=pyh6c4a22f_0 - datashape=0.5.4=py_1 - dbus=1.13.6=h5008d03_3 - debugpy=1.6.0=py38hfa26641_0 - decorator=5.1.1=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - descartes=1.1.0=py_4 - distarray=2.12.2=pyhd8ed1ab_2 - distlib=0.3.4=pyhd8ed1ab_0 - distributed=2022.1.0=py38h578d9bd_0 - docopt=0.6.2=py_1 - docrep=0.3.2=pyh44b312d_0 - eccodes=2.25.0=hc08acdf_0 - elfutils=0.186=he364ef2_0 - entrypoints=0.4=pyhd8ed1ab_0 - eofs=1.4.0=py_0 - esgf-compute-api=2.3.9=0_h1234567_ - esmf=8.2.0=mpi_mpich_h4975321_100 - esmpy=8.2.0=mpi_mpich_py38h9147699_101 - executing=0.8.3=pyhd8ed1ab_0 - expat=2.4.8=h27087fc_0 - fasteners=0.17.3=pyhd8ed1ab_0 - fastprogress=1.0.2=pyhd8ed1ab_0 - filelock=3.6.0=pyhd8ed1ab_0 - findlibs=0.0.2=pyhd8ed1ab_0 - fiona=1.8.20=py38hbb147eb_2 - flask=2.1.2=pyhd8ed1ab_0 - flask-compress=1.12=pyhd8ed1ab_0 - flit-core=3.7.1=pyhd8ed1ab_0 - folium=0.12.1.post1=pyhd8ed1ab_1 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 - font-ttf-inconsolata=3.000=h77eed37_0 - font-ttf-source-code-pro=2.038=h77eed37_0 - font-ttf-ubuntu=0.83=hab24e00_0 - fontconfig=2.14.0=h8e229c2_0 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - fonttools=4.33.3=py38h0a891b7_0 - freeglut=3.2.2=h9c3ff4c_1 - freetype=2.10.4=h0708190_1 - freexl=1.0.6=h7f98852_0 - frozenlist=1.3.0=py38h0a891b7_1 - fsspec=2022.3.0=pyhd8ed1ab_0 - funcsigs=1.0.2=py_3 - future=0.18.2=py38h578d9bd_5 - g2clib=1.6.3=heb9ad7a_1 - gcsfs=2022.3.0=pyhd8ed1ab_0 - gdal=3.3.3=py38hcf2042a_0 - geckodriver=0.30.0=h3146498_0 - geopandas=0.10.2=pyhd8ed1ab_1 - geopandas-base=0.10.2=pyha770c72_1 - geos=3.9.1=h9c3ff4c_2 - geotiff=1.7.0=hcfb7246_3 - geoviews=1.9.5=pyhd8ed1ab_0 - geoviews-core=1.9.5=pyha770c72_0 - gettext=0.19.8.1=h73d1719_1008 - giflib=5.2.1=h36c2ea0_2 - gitdb=4.0.9=pyhd8ed1ab_0 - gitpython=3.1.27=pyhd8ed1ab_0 - gnutls=3.6.13=h85f3911_1 - google-api-core=2.5.0=pyhd8ed1ab_0 - google-auth=2.6.6=pyh6c4a22f_0 - google-auth-oauthlib=0.5.1=pyhd8ed1ab_0 - google-cloud-core=2.2.2=pyh6c4a22f_0 - google-cloud-storage=2.1.0=pyh6c4a22f_0 - google-crc32c=1.1.2=py38h57c428a_3 - google-resumable-media=2.1.0=pyh6c4a22f_0 - googleapis-common-protos=1.56.0=py38h578d9bd_0 - greenlet=1.1.2=py38hfa26641_2 - grpcio=1.45.0=py38ha0cdfde_0 - gst-plugins-base=1.18.5=hf529b03_3 - gstreamer=1.18.5=h9f60fe5_3 - h11=0.13.0=pyhd8ed1ab_0 - h5netcdf=1.0.0=pyhd8ed1ab_0 - h5py=3.6.0=nompi_py38hfbb2109_100 - haversine=2.5.1=pyhd8ed1ab_0 - hdf4=4.2.15=h10796ff_3 - hdf5=1.12.1=mpi_mpich_h08b82f9_4 - heapdict=1.0.1=py_0 - holoviews=1.14.8=pyhd8ed1ab_0 - hvplot=0.7.3=pyh6c4a22f_0 - icu=68.2=h9c3ff4c_0 - identify=2.5.0=pyhd8ed1ab_0 - idna=3.3=pyhd8ed1ab_0 - imagecodecs-lite=2019.12.3=py38h71d37f0_5 - imageio=2.18.0=pyhcf75d05_0 - importlib-metadata=4.11.3=py38h578d9bd_1 - importlib_metadata=4.11.3=hd8ed1ab_1 - importlib_resources=5.7.1=pyhd8ed1ab_0 - iniconfig=1.1.1=pyh9f0ad1d_0 - intake=0.6.5=pyhd8ed1ab_0 - intake-esm=2021.8.17=pyhd8ed1ab_0 - intake-geopandas=0.4.0=pyhd8ed1ab_0 - intake-thredds=2021.6.16=pyhd8ed1ab_0 - intake-xarray=0.6.0=pyhd8ed1ab_0 - ipykernel=6.13.0=py38h7f3c49e_0 - ipyleaflet=0.16.0=pyhd8ed1ab_3 - ipython=8.3.0=py38h578d9bd_0 - ipython_genutils=0.2.0=py_1 - ipywidgets=7.7.0=pyhd8ed1ab_0 - itsdangerous=2.1.2=pyhd8ed1ab_0 - jasper=2.0.33=ha77e612_0 - jbig=2.1=h7f98852_2003 - jedi=0.18.1=py38h578d9bd_1 - jinja2=3.1.1=pyhd8ed1ab_0 - jmespath=1.0.0=pyhd8ed1ab_0 - joblib=1.1.0=pyhd8ed1ab_0 - jpeg=9e=h166bdaf_1 - json-c=0.15=h98cffda_0 - json5=0.9.5=pyh9f0ad1d_0 - jsonpickle=2.1.0=pyhd8ed1ab_0 - jsonschema=4.4.0=pyhd8ed1ab_0 - jupyter=1.0.0=py38h578d9bd_7 - jupyter-archive=3.3.1=pyhd8ed1ab_0 - jupyter-dash=0.4.2=pyhd8ed1ab_1 - jupyter-panel-proxy=0.2.0a2=py_0 - jupyter-resource-usage=0.5.1=pyhd8ed1ab_0 - jupyter-server-mathjax=0.2.5=pyhc268e32_0 - jupyter-server-proxy=3.2.1=pyhd8ed1ab_0 - jupyter_bokeh=3.0.4=pyhd8ed1ab_0 - jupyter_client=7.3.0=pyhd8ed1ab_0 - jupyter_console=6.4.3=pyhd8ed1ab_0 - jupyter_core=4.9.2=py38h578d9bd_0 - jupyter_server=1.17.0=pyhd8ed1ab_0 - jupyter_telemetry=0.1.0=pyhd8ed1ab_1 - jupyterhub=2.2.2=pyhd8ed1ab_1 - jupyterhub-base=2.2.2=pyhd8ed1ab_1 - jupyterlab=3.3.4=pyhd8ed1ab_0 - jupyterlab-git=0.37.1=pyhd8ed1ab_0 - jupyterlab-system-monitor=0.8.0=pyhd8ed1ab_1 - jupyterlab-topbar=0.6.1=pyhd8ed1ab_2 - jupyterlab_pygments=0.2.2=pyhd8ed1ab_0 - jupyterlab_server=2.13.0=pyhd8ed1ab_1 - jupyterlab_widgets=1.1.0=pyhd8ed1ab_0 - jupytext=1.13.8=pyh4b9bcc7_0 - kealib=1.4.14=h87e4c3c_3 - keyutils=1.6.1=h166bdaf_0 - kiwisolver=1.4.2=py38h43d8883_1 - krb5=1.19.3=h3790be6_0 - lazy-object-proxy=1.7.1=py38h0a891b7_1 - lcms2=2.12=hddcbb42_0 - ld_impl_linux-64=2.36.1=hea4e1c9_2 - lerc=3.0=h9c3ff4c_0 - libaec=1.0.6=h9c3ff4c_0 - libarchive=3.5.2=hccf745f_1 - libblas=3.9.0=14_linux64_openblas - libbrotlicommon=1.0.9=h166bdaf_7 - libbrotlidec=1.0.9=h166bdaf_7 - libbrotlienc=1.0.9=h166bdaf_7 - libcblas=3.9.0=14_linux64_openblas - libcdms=3.1.2=h3bdf4ba_117 - libcf=1.0.3=py38h0c3d773_114 - libclang=11.1.0=default_ha53f305_1 - libcrc32c=1.1.2=h9c3ff4c_0 - libcurl=7.83.0=h7bff187_0 - libdap4=3.20.6=hd7c4107_2 - libdeflate=1.10=h7f98852_0 - libdrm=2.4.109=h7f98852_0 - libdrs=3.1.2=hf593df3_118 - libdrs_f=3.1.2=h7e76ec7_114 - libedit=3.1.20191231=he28a2e2_2 - libev=4.33=h516909a_1 - libevent=2.1.10=h9b69904_4 - libffi=3.4.2=h7f98852_5 - libgcc-ng=11.2.0=h1d223b6_16 - libgdal=3.3.3=h356f897_0 - libgfortran-ng=11.2.0=h69a702a_16 - libgfortran5=11.2.0=h5c6108e_16 - libglib=2.70.2=h174f98d_4 - libglu=9.0.0=he1b5a44_1001 - libgomp=11.2.0=h1d223b6_16 - libiconv=1.16=h516909a_0 - libidn2=2.3.2=h7f98852_0 - libkml=1.3.0=h238a007_1014 - liblapack=3.9.0=14_linux64_openblas - libllvm11=11.1.0=hf817b99_3 - libmicrohttpd=0.9.75=h7f98852_0 - libnetcdf=4.8.1=mpi_mpich_hcdf9059_2 - libnghttp2=1.47.0=h727a467_0 - libnsl=2.0.0=h7f98852_0 - libogg=1.3.4=h7f98852_1 - libopenblas=0.3.20=pthreads_h78a6416_0 - libopus=1.3.1=h7f98852_1 - libpciaccess=0.16=h516909a_0 - libpng=1.6.37=h21135ba_2 - libpq=13.5=hd57d9b9_1 - libprotobuf=3.20.0=h6239696_0 - librttopo=1.1.0=h1185371_6 - libsodium=1.0.18=h36c2ea0_1 - libspatialindex=1.9.3=h9c3ff4c_4 - libspatialite=5.0.1=h8796b1e_9 - libssh2=1.10.0=ha56f1ee_2 - libstdcxx-ng=11.2.0=he4da1e4_16 - libtiff=4.3.0=h542a066_3 - libunistring=0.9.10=h7f98852_0 - libuuid=2.32.1=h7f98852_1000 - libuv=1.40.0=h7f98852_0 - libvorbis=1.3.7=h9c3ff4c_0 - libwebp=1.2.2=h3452ae3_0 - libwebp-base=1.2.2=h7f98852_1 - libxcb=1.13=h7f98852_1004 - libxkbcommon=1.0.3=he3ba5ed_0 - libxml2=2.9.12=h72842e0_0 - libxslt=1.1.33=h15afd5d_2 - libzip=1.8.0=h4de3113_1 - libzlib=1.2.11=h166bdaf_1014 - llvmlite=0.38.0=py38h38d86a4_1 - locket=1.0.0=pyhd8ed1ab_0 - loguru=0.6.0=py38h578d9bd_1 - lxml=4.8.0=py38h0a891b7_2 - lz4=4.0.0=py38h1bf946c_1 - lz4-c=1.9.3=h9c3ff4c_1 - lzo=2.10=h516909a_1000 - mako=1.2.0=pyhd8ed1ab_1 - mamba_gator=5.1.2=pyhd8ed1ab_0 - mapclassify=2.4.3=pyhd8ed1ab_0 - markdown=3.3.6=pyhd8ed1ab_0 - markdown-it-py=2.1.0=pyhd8ed1ab_0 - markupsafe=2.1.1=py38h0a891b7_1 - matplotlib=3.5.1=py38h578d9bd_0 - matplotlib-base=3.5.1=py38hf4fb855_0 - matplotlib-inline=0.1.3=pyhd8ed1ab_0 - mdit-py-plugins=0.3.0=pyhd8ed1ab_0 - mdurl=0.1.0=pyhd8ed1ab_0 - memory_profiler=0.60.0=pyhd8ed1ab_0 - mesalib=21.2.5=h0e4506f_3 - mistune=0.8.4=py38h497a2fe_1005 - mpi=1.0=mpich - mpi4py=3.1.3=py38h97ac3a3_1 - mpich=4.0.2=h846660c_100 - msgpack-python=1.0.3=py38h43d8883_1 - multidict=6.0.2=py38h0a891b7_1 - multipledispatch=0.6.0=py_0 - munch=2.5.0=py_0 - munkres=1.1.4=pyh9f0ad1d_0 - mysql-common=8.0.29=haf5c9bc_0 - mysql-libs=8.0.29=h28c427c_0 - nbclassic=0.3.7=pyhd8ed1ab_0 - nbclient=0.5.13=pyhd8ed1ab_0 - nbconvert=6.5.0=pyhd8ed1ab_0 - nbconvert-core=6.5.0=pyhd8ed1ab_0 - nbconvert-pandoc=6.5.0=pyhd8ed1ab_0 - nbdime=3.1.1=pyhd8ed1ab_0 - nbformat=5.3.0=pyhd8ed1ab_0 - nbresuse=0.4.0=pyhd8ed1ab_0 - nbval=0.9.6=pyh9f0ad1d_0 - nc-time-axis=1.4.1=pyhd8ed1ab_0 - ncurses=6.3=h27087fc_1 - nest-asyncio=1.5.5=pyhd8ed1ab_0 - nested_dict=1.61=pyhd3deb0d_0 - netcdf-fortran=4.5.4=mpi_mpich_h1364a43_0 - netcdf4=1.5.8=nompi_py38h2823cc8_101 - nettle=3.6=he412f7d_0 - networkx=2.8=pyhd8ed1ab_0 - nodeenv=1.6.0=pyhd8ed1ab_0 - nodejs=16.13.1=hb931c9a_0 - notebook=6.4.11=pyha770c72_0 - notebook-shim=0.1.0=pyhd8ed1ab_0 - nspr=4.32=h9c3ff4c_1 - nss=3.77=h2350873_0 - numba=0.55.1=py38h4bf6c61_0 - numcodecs=0.9.1=py38h709712a_2 - numpy=1.21.6=py38h1d589f8_0 - oauthlib=3.2.0=pyhd8ed1ab_0 - openblas=0.3.20=pthreads_h320a7e8_0 - openjpeg=2.4.0=hb52868f_1 - openssl=1.1.1n=h166bdaf_0 - ostrich=21.03.16=h4bd325d_1 - outcome=1.1.0=pyhd8ed1ab_0 - owslib=0.25.0=pyhd8ed1ab_0 - packaging=21.3=pyhd8ed1ab_0 - pamela=1.0.0=py_0 - pandas=1.3.5=py38h43a58ef_0 - pandoc=2.18=ha770c72_0 - pandocfilters=1.5.0=pyhd8ed1ab_0 - panel=0.13.1a2=py_0 - param=1.12.1=pyh6c4a22f_0 - paramiko=2.10.4=pyhd8ed1ab_0 - parso=0.8.3=pyhd8ed1ab_0 - partd=1.2.0=pyhd8ed1ab_0 - patsy=0.5.2=pyhd8ed1ab_0 - pcre=8.45=h9c3ff4c_0 - pexpect=4.8.0=py38h32f6830_1 - pickleshare=0.7.5=py38h32f6830_1002 - pillow=9.1.0=py38h0ee0e06_2 - pint=0.19.2=pyhd8ed1ab_0 - pip=22.0.4=pyhd8ed1ab_0 - pixman=0.40.0=h36c2ea0_0 - platformdirs=2.5.1=pyhd8ed1ab_0 - plotly=5.7.0=pyhd8ed1ab_0 - pluggy=1.0.0=py38h578d9bd_3 - pooch=1.6.0=pyhd8ed1ab_0 - poppler=21.09.0=ha39eefc_3 - poppler-data=0.4.11=hd8ed1ab_0 - postgresql=13.5=h2510834_1 - pre-commit=2.18.1=py38h578d9bd_1 - proj=8.1.1=h277dcde_2 - prometheus_client=0.14.1=pyhd8ed1ab_0 - prompt-toolkit=3.0.29=pyha770c72_0 - prompt_toolkit=3.0.29=hd8ed1ab_0 - properscoring=0.1=py_0 - protobuf=3.20.0=py38hfa26641_4 - pscript=0.7.5=pyhd3deb0d_0 - psutil=5.9.0=py38h0a891b7_1 - pthread-stubs=0.4=h36c2ea0_1001 - ptyprocess=0.7.0=pyhd3deb0d_0 - pure_eval=0.2.2=pyhd8ed1ab_0 - py=1.11.0=pyh6c4a22f_0 - pyasn1=0.4.8=py_0 - pyasn1-modules=0.2.7=py_0 - pycparser=2.21=pyhd8ed1ab_0 - pyct=0.4.6=py_0 - pyct-core=0.4.6=py_0 - pycurl=7.45.1=py38h61f0cdf_1 - pydantic=1.9.0=py38h0a891b7_1 - pydap=3.3.0=pyhd8ed1ab_0 - pygeos=0.10.2=py38hb7fe4a8_0 - pygments=2.12.0=pyhd8ed1ab_0 - pyjwt=2.3.0=pyhd8ed1ab_1 - pynacl=1.5.0=py38h0a891b7_1 - pyopenssl=22.0.0=pyhd8ed1ab_0 - pyparsing=3.0.8=pyhd8ed1ab_0 - pyproj=3.2.1=py38h80797bf_2 - pyqt=5.12.3=py38h578d9bd_8 - pyqt-impl=5.12.3=py38h0ffb2e6_8 - pyqt5-sip=4.19.18=py38h709712a_8 - pyqtchart=5.12=py38h7400c14_8 - pyqtwebengine=5.12.1=py38h7400c14_8 - pyrsistent=0.18.1=py38h0a891b7_1 - pyshp=2.3.0=pyhd8ed1ab_0 - pysocks=1.7.1=py38h578d9bd_5 - pytest=7.1.2=py38h578d9bd_0 - python=3.8.13=h582c2e5_0_cpython - python-dateutil=2.8.2=pyhd8ed1ab_0 - python-eccodes=1.4.0=py38h71d37f0_1 - python-fastjsonschema=2.15.3=pyhd8ed1ab_0 - python-json-logger=2.0.1=pyh9f0ad1d_0 - python_abi=3.8=2_cp38 - pytz=2022.1=pyhd8ed1ab_0 - pyu2f=0.1.5=pyhd8ed1ab_0 - pyviz_comms=2.2.0=pyhd8ed1ab_0 - pywavelets=1.3.0=py38h71d37f0_1 - pyyaml=6.0=py38h0a891b7_4 - pyzmq=22.3.0=py38hfc09fa9_2 - qt=5.12.9=hda022c4_4 - qtconsole=5.3.0=pyhd8ed1ab_0 - qtconsole-base=5.3.0=pyhd8ed1ab_0 - qtpy=2.1.0=pyhd8ed1ab_0 - rasterio=1.2.10=py38hfd64e68_0 - raven-hydro=3.0.4.322=ha46ed4c_2 - ravenpy=0.7.8=pyh8a188c0_0 - readline=8.1=h46c0cb4_0 - regionmask=0.9.0=pyhd8ed1ab_0 - requests=2.27.1=pyhd8ed1ab_0 - requests-oauthlib=1.3.1=pyhd8ed1ab_0 - retrying=1.3.3=py_2 - rioxarray=0.11.1=pyhd8ed1ab_0 - roocs-utils=0.6.1=pyh6c4a22f_0 - rsa=4.8=pyhd8ed1ab_0 - rtree=1.0.0=py38h02d302b_1 - ruamel.yaml=0.17.21=py38h0a891b7_1 - ruamel.yaml.clib=0.2.6=py38h0a891b7_1 - s3fs=2022.3.0=pyhd8ed1ab_0 - scikit-image=0.19.2=py38h43a58ef_0 - scikit-learn=1.0.2=py38h1561384_0 - scipy=1.8.0=py38h56a6a73_1 - scp=0.14.4=pyhd8ed1ab_0 - selenium=4.1.0=pyhd8ed1ab_0 - send2trash=1.8.0=pyhd8ed1ab_0 - setuptools=59.8.0=py38h578d9bd_1 - shapely=1.7.1=py38hb7fe4a8_5 - simpervisor=0.4=pyhd8ed1ab_0 - siphon=0.9=py38h578d9bd_1 - six=1.16.0=pyh6c4a22f_0 - smmap=3.0.5=pyh44b312d_0 - snappy=1.1.8=he1b5a44_3 - sniffio=1.2.0=py38h578d9bd_3 - snuggs=1.4.7=py_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.3.1=pyhd8ed1ab_0 - sparse=0.13.0=pyhd8ed1ab_0 - sqlalchemy=1.4.36=py38h0a891b7_0 - sqlite=3.38.3=h4ff8645_0 - stack_data=0.2.0=pyhd8ed1ab_0 - statsmodels=0.13.2=py38h6c62de6_0 - tblib=1.7.0=pyhd8ed1ab_0 - tenacity=8.0.1=pyhd8ed1ab_0 - terminado=0.13.3=py38h578d9bd_1 - threadpoolctl=3.1.0=pyh8a188c0_0 - threddsclient=0.4.2=py_0 - tifffile=2020.6.3=py_0 - tiledb=2.3.4=he87e0bf_0 - tinycss2=1.1.1=pyhd8ed1ab_0 - tk=8.6.12=h27826a3_0 - toml=0.10.2=pyhd8ed1ab_0 - tomli=2.0.1=pyhd8ed1ab_0 - toolz=0.11.2=pyhd8ed1ab_0 - tornado=6.1=py38h0a891b7_3 - tqdm=4.64.0=pyhd8ed1ab_0 - traitlets=5.1.1=pyhd8ed1ab_0 - traittypes=0.2.1=pyh9f0ad1d_2 - trio=0.20.0=py38h578d9bd_1 - trio-websocket=0.9.2=pyhd8ed1ab_0 - typing-extensions=4.2.0=hd8ed1ab_1 - typing_extensions=4.2.0=pyha770c72_1 - tzcode=2022a=h166bdaf_0 - tzdata=2022a=h191b570_0 - ukkonen=1.0.1=py38h43d8883_2 - unicodedata2=14.0.0=py38h0a891b7_1 - urllib3=1.26.9=pyhd8ed1ab_0 - virtualenv=20.14.1=py38h578d9bd_0 - voila=0.3.5=pyhd8ed1ab_0 - wcwidth=0.2.5=pyh9f0ad1d_2 - webencodings=0.5.1=py_1 - webob=1.8.7=pyhd8ed1ab_0 - websocket-client=1.3.2=pyhd8ed1ab_0 - websockets=10.3=py38h0a891b7_0 - werkzeug=2.1.2=pyhd8ed1ab_0 - wget=1.20.3=ha56f1ee_1 - wheel=0.37.1=pyhd8ed1ab_0 - widgetsnbextension=3.6.0=py38h578d9bd_0 - wrapt=1.14.1=py38h0a891b7_0 - wsproto=1.1.0=py38h578d9bd_0 - xarray=2022.3.0=pyhd8ed1ab_0 - xclim=0.36.0=pyhd8ed1ab_0 - xerces-c=3.2.3=h9d8b166_3 - xesmf=0.6.2=pyhd8ed1ab_0 - xeus=2.4.1=h70bab47_0 - xeus-python=0.13.7=py38h9f61dbb_0 - xeus-python-shell=0.2.0=pyhd8ed1ab_0 - xhistogram=0.3.1=pyhd8ed1ab_0 - xlrd=2.0.1=pyhd8ed1ab_3 - xorg-damageproto=1.2.1=h7f98852_1002 - xorg-fixesproto=5.0=h7f98852_1002 - xorg-glproto=1.4.17=h7f98852_1002 - xorg-inputproto=2.3.2=h7f98852_1002 - xorg-kbproto=1.0.7=h7f98852_1002 - xorg-libice=1.0.10=h7f98852_0 - xorg-libsm=1.2.3=hd9c2040_1000 - xorg-libx11=1.7.2=h7f98852_0 - xorg-libxau=1.0.9=h7f98852_0 - xorg-libxdamage=1.1.5=h7f98852_1 - xorg-libxdmcp=1.1.3=h7f98852_0 - xorg-libxext=1.3.4=h7f98852_1 - xorg-libxfixes=5.0.3=h7f98852_1004 - xorg-libxi=1.7.10=h7f98852_0 - xorg-libxrandr=1.5.2=h7f98852_1 - xorg-libxrender=0.9.10=h7f98852_1003 - xorg-randrproto=1.5.0=h7f98852_1001 - xorg-renderproto=0.11.1=h7f98852_1002 - xorg-util-macros=1.19.3=h7f98852_0 - xorg-xextproto=7.3.0=h7f98852_1002 - xorg-xf86vidmodeproto=2.3.1=h7f98852_1002 - xorg-xproto=7.0.31=h7f98852_1007 - xrft=0.4.1=pyhd8ed1ab_0 - xskillscore=0.0.24=pyhd8ed1ab_0 - xyzservices=2022.4.0=pyhd8ed1ab_0 - xz=5.2.5=h516909a_1 - yaml=0.2.5=h7f98852_2 - yarl=1.7.2=py38h0a891b7_2 - zarr=2.11.3=pyhd8ed1ab_0 - zeromq=4.3.4=h9c3ff4c_1 - zict=2.2.0=pyhd8ed1ab_0 - zipp=3.8.0=pyhd8ed1ab_0 - zlib=1.2.11=h166bdaf_1014 - zstd=1.5.2=ha95c52a_0 - pip: - astunparse==1.6.3 - colour==0.1.5 - geojson==2.5.0 - ipython-blocking==0.3.1 - jupyterlab-logout==0.5.0 - jupyternotify==0.1.15 - pixiedust==1.1.19 - pymetalink==6.4 - pytest-tornasync==0.6.0.post2 - requests-magpie==0.1.1 prefix: /opt/conda/envs/birdy ```
github-actions
bot
added
ci/operations
Continuous Integration components
documentation
Improvements or additions to documentation
labels
May 5, 2022
E2E Test ResultsDACCS-iac Pipeline ResultsBuild URL : http://daccs-jenkins.crim.ca:80/job/DACCS-iac-birdhouse/876/Result : failure BIRDHOUSE_DEPLOY_BRANCH : new-jupyter-env DACCS_CONFIGS_BRANCH : master PAVICS_E2E_WORKFLOW_TESTS_BRANCH : master PAVICS_SDI_BRANCH : master DESTROY_INFRA_ON_EXIT : true PAVICS_HOST : https:// PAVICS-e2e-workflow-tests Pipeline ResultsTests URL :NOTEBOOK TEST RESULTS
|
@tlogan2000 This is live on prod, you can send email announcement to our Jupyter users. |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Labels
ci/operations
Continuous Integration components
documentation
Improvements or additions to documentation
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Deploy new Jupyter env from PR Ouranosinc/PAVICS-e2e-workflow-tests#105 on PAVICS.
Detailed changes can be found at Ouranosinc/PAVICS-e2e-workflow-tests#105.
Dask dashboard no manual URL mangling required:
"Render with Panel" button works:
Relevant changes: