Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Merge pull request #46 from Ouranosinc/new-jupyter-extensions
docker: new jupyter extensions: jupyter-archive, visual debugger, jupyter-dash Deployed to https://medus.ouranos.ca/jupyter for testing. Jenkins build passed http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/new-jupyter-extensions/2/console Part of issue Ouranosinc/pavics-sdi#141. Added: * https://github.com/hadim/jupyter-archive Download entire folder as archive. * https://blog.jupyter.org/a-visual-debugger-for-jupyter-914e61716559 * https://github.com/plotly/jupyter-dash Develop Plotly Dash apps interactively from within Jupyter environments. Noticeable changes: ```diff > - jupyter-archive=0.6.2=py_0 > - jupyter-dash=0.2.1.post1=py_0 < - owslib=0.19.2=py_1 > - owslib=0.20.0=py_0 > - xeus-python=0.7.1=py37h99015e2_1 ``` Could not enable jupyter-clipboard, see error in commit d52ede5 Conda env export diff: [200603-200605-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4748928/200603-200605-conda-env-export.diff.txt) ```diff 2a3 > - plotly 10a12 > - ansi2html=1.5.2=py37hc8dfbb8_1 45a48,52 > - dash=1.12.0=pyh9f0ad1d_0 > - dash-core-components=1.10.0=pyh9f0ad1d_0 > - dash-html-components=1.0.3=pyh9f0ad1d_0 > - dash-renderer=1.4.1=pyh9f0ad1d_0 > - dash-table=4.7.0=pyh9f0ad1d_0 64a72,73 > - flask=1.1.2=pyh9f0ad1d_0 > - flask-compress=1.5.0=pyh9f0ad1d_0 105a115 > - itsdangerous=1.1.0=py_0 107c117 < - jedi=0.17.0=py37hc8dfbb8_0 --- > - jedi=0.15.2=py37_0 113a124,125 > - jupyter-archive=0.6.2=py_0 > - jupyter-dash=0.2.1.post1=py_0 129c141 < - lazy-object-proxy=1.4.3=py37h8f50634_2 --- > - lazy-object-proxy=1.5.0=py37h8f50634_0 156c168 < - libprotobuf=3.12.1=h8b12597_0 --- > - libprotobuf=3.12.3=h8b12597_0 208c220 < - owslib=0.19.2=py_1 --- > - owslib=0.20.0=py_0 223a236 > - plotly=4.8.1=pyh9f0ad1d_0 232c245 < - protobuf=3.12.1=py37h3340039_0 --- > - protobuf=3.12.3=py37h3340039_0 235a249 > - ptvsd=4.3.2=py37h516909a_1 270a285 > - retrying=1.3.3=py_2 293c308 < - tifffile=2020.5.30=py_0 --- > - tifffile=2020.6.3=py_0 310a326 > - werkzeug=1.0.1=pyh9f0ad1d_0 316a333,334 > - xeus=0.23.14=h4d8c418_0 > - xeus-python=0.7.1=py37h99015e2_1 ``` Full conda env export: [200605-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/4748931/200605-conda-env-export.yml.txt) ``` name: birdy channels: - plotly - cdat - conda-forge - defaults dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=0_gnu - affine=2.3.0=py_0 - alembic=1.4.2=pyh9f0ad1d_0 - ansi2html=1.5.2=py37hc8dfbb8_1 - async_generator=1.10=py_0 - attrs=19.3.0=py_0 - backcall=0.1.0=py_0 - beautifulsoup4=4.9.1=py37hc8dfbb8_0 - bleach=3.1.5=pyh9f0ad1d_0 - blinker=1.4=py_1 - bokeh=2.0.1=py37hc8dfbb8_0 - boost-cpp=1.72.0=h8e57a91_0 - branca=0.3.1=py_0 - brotlipy=0.7.0=py37h8f50634_1000 - bzip2=1.0.8=h516909a_2 - ca-certificates=2020.4.5.1=hecc5488_0 - cairo=1.16.0=hcf35c78_1003 - cartopy=0.18.0=py37h4b180d9_0 - cdat_info=8.2=py_7 - cdtime=3.1.3=py37h006a570_3 - cdutil=8.2=py_2 - certifi=2020.4.5.1=py37hc8dfbb8_0 - certipy=0.1.3=py_0 - cffi=1.14.0=py37hd463f26_0 - cfitsio=3.470=h3eac812_5 - cftime=1.1.3=py37h03ebfcd_0 - chardet=3.0.4=py37hc8dfbb8_1006 - click=7.1.2=pyh9f0ad1d_0 - click-plugins=1.1.1=py_0 - cligj=0.5.0=py_0 - cloudpickle=1.4.1=py_0 - colorama=0.4.3=py_0 - colorcet=2.0.1=py_0 - configurable-http-proxy=4.2.1=node13_he01fd0c_0 - coverage=5.1=py37h8f50634_0 - cryptography=2.9.2=py37hb09aad4_0 - curl=7.69.1=h33f0ec9_0 - cycler=0.10.0=py_2 - cytoolz=0.10.1=py37h516909a_0 - dash=1.12.0=pyh9f0ad1d_0 - dash-core-components=1.10.0=pyh9f0ad1d_0 - dash-html-components=1.0.3=pyh9f0ad1d_0 - dash-renderer=1.4.1=pyh9f0ad1d_0 - dash-table=4.7.0=pyh9f0ad1d_0 - dask=2.17.2=py_0 - dask-core=2.17.2=py_0 - datashader=0.11.0=pyh9f0ad1d_0 - datashape=0.5.4=py_1 - dbus=1.13.6=he372182_0 - decorator=4.4.2=py_0 - defusedxml=0.6.0=py_0 - descartes=1.1.0=py_4 - distarray=2.12.2=py_1 - distributed=2.17.0=py37hc8dfbb8_0 - docopt=0.6.2=py_1 - dv3d=8.2=py_0 - entrypoints=0.3=py37hc8dfbb8_1001 - esgf-compute-api=2.3.4=py_0 - esmf=8.0.0=nompi_hb0fcdcb_6 - esmpy=8.0.0=nompi_py37hf0e99fa_1 - expat=2.2.9=he1b5a44_2 - ffmpeg=4.2.3=h167e202_0 - fiona=1.8.13=py37h0492a4a_1 - flask=1.1.2=pyh9f0ad1d_0 - flask-compress=1.5.0=pyh9f0ad1d_0 - fontconfig=2.13.1=h86ecdb6_1001 - freetype=2.10.2=he06d7ca_0 - freexl=1.0.5=h14c3975_1002 - fsspec=0.7.4=py_0 - future=0.18.2=py37hc8dfbb8_1 - g2clib=1.6.0=hf3f1b0b_9 - gdal=3.0.4=py37h4b180d9_6 - genutil=8.2=py37hc1659b7_3 - geopandas=0.7.0=py_1 - geos=3.8.1=he1b5a44_0 - geotiff=1.5.1=h05acad5_10 - geoviews=1.8.1=py_0 - geoviews-core=1.8.1=py_0 - gettext=0.19.8.1=hc5be6a0_1002 - ghostscript=9.22=hf484d3e_1001 - giflib=5.2.1=h516909a_2 - gitdb=4.0.5=py_0 - gitpython=3.1.3=py_0 - glib=2.64.3=h6f030ca_0 - gmp=6.2.0=he1b5a44_2 - gnutls=3.6.13=h79a8f9a_0 - gst-plugins-base=1.14.5=h0935bb2_2 - gstreamer=1.14.5=h36ae1b5_2 - h5netcdf=0.8.0=py_0 - h5py=2.10.0=nompi_py37h513d04c_102 - hdf4=4.2.13=hf30be14_1003 - hdf5=1.10.5=nompi_h3c11f04_1104 - heapdict=1.0.1=py_0 - holoviews=1.13.2=pyh9f0ad1d_0 - hvplot=0.6.0=pyh9f0ad1d_0 - icu=64.2=he1b5a44_1 - idna=2.9=py_1 - imagecodecs-lite=2019.12.3=py37h03ebfcd_1 - imageio=2.8.0=py_0 - importlib-metadata=1.6.0=py37hc8dfbb8_0 - importlib_metadata=1.6.0=0 - ipykernel=5.3.0=py37h43977f1_0 - ipyleaflet=0.13.0=pyh9f0ad1d_0 - ipython=7.15.0=py37hc8dfbb8_0 - ipython_genutils=0.2.0=py_1 - ipywidgets=7.5.1=py_0 - itsdangerous=1.1.0=py_0 - jasper=1.900.1=h07fcdf6_1006 - jedi=0.15.2=py37_0 - jinja2=2.11.2=pyh9f0ad1d_0 - jpeg=9d=h516909a_0 - json-c=0.13.1=hbfbb72e_1002 - json5=0.9.0=py_0 - jsonschema=3.2.0=py37hc8dfbb8_1 - jupyter=1.0.0=py_2 - jupyter-archive=0.6.2=py_0 - jupyter-dash=0.2.1.post1=py_0 - jupyter_bokeh=2.0.2=py_0 - jupyter_client=6.1.3=py_0 - jupyter_console=6.1.0=py_1 - jupyter_core=4.6.3=py37hc8dfbb8_1 - jupyter_server=0.1.1=py37_0 - jupyter_telemetry=0.0.5=py_0 - jupyterhub=1.1.0=py37_2 - jupyterhub-base=1.1.0=py37_2 - jupyterlab=2.1.4=py_0 - jupyterlab_pygments=0.1.1=pyh9f0ad1d_0 - jupyterlab_server=1.1.5=py_0 - kealib=1.4.13=hec59c27_0 - kiwisolver=1.2.0=py37h99015e2_0 - krb5=1.17.1=h2fd8d38_0 - lame=3.100=h14c3975_1001 - lazy-object-proxy=1.5.0=py37h8f50634_0 - ld_impl_linux-64=2.34=h53a641e_4 - libblas=3.8.0=11_openblas - libcblas=3.8.0=11_openblas - libcdms=3.1.2=hf60d256_111 - libcf=1.0.3=py37hda0e254_108 - libclang=9.0.1=default_hde54327_0 - libcurl=7.69.1=hf7181ac_0 - libdap4=3.20.6=h1d1bd15_0 - libdrs=3.1.2=hc2e2db3_112 - libdrs_f=3.1.2=hae7e664_110 - libedit=3.1.20191231=h46ee950_0 - libffi=3.2.1=he1b5a44_1007 - libgcc-ng=9.2.0=h24d8f2e_2 - libgdal=3.0.4=h3dfc09a_6 - libgfortran-ng=7.5.0=hdf63c60_6 - libgomp=9.2.0=h24d8f2e_2 - libiconv=1.15=h516909a_1006 - libidn2=2.3.0=h516909a_0 - libkml=1.3.0=hb574062_1011 - liblapack=3.8.0=11_openblas - libllvm8=8.0.1=hc9558a2_0 - libllvm9=9.0.1=he513fc3_1 - libnetcdf=4.7.4=nompi_h9f9fd6a_101 - libopenblas=0.3.6=h6e990d7_6 - libpng=1.6.37=hed695b0_1 - libpq=12.2=h5513abc_1 - libprotobuf=3.12.3=h8b12597_0 - libsodium=1.0.17=h516909a_0 - libspatialindex=1.9.3=he1b5a44_3 - libspatialite=4.3.0a=h2482549_1038 - libssh2=1.9.0=hab1572f_2 - libstdcxx-ng=9.2.0=hdf63c60_2 - libtiff=4.1.0=hc7e4089_6 - libunistring=0.9.10=h14c3975_0 - libuuid=2.32.1=h14c3975_1000 - libuv=1.34.0=h516909a_0 - libwebp-base=1.1.0=h516909a_3 - libxcb=1.13=h14c3975_1002 - libxkbcommon=0.10.0=he1b5a44_0 - libxml2=2.9.10=hee79883_0 - libxslt=1.1.33=h31b3aaa_0 - llvmlite=0.31.0=py37h5202443_1 - locket=0.2.0=py_2 - lxml=4.5.1=py37he3881c9_0 - lz4-c=1.9.2=he1b5a44_1 - mako=1.1.0=py_0 - markdown=3.2.2=py_0 - markupsafe=1.1.1=py37h8f50634_1 - matplotlib=3.2.1=0 - matplotlib-base=3.2.1=py37h30547a4_0 - mechanicalsoup=0.12.0=py_0 - mesalib=18.3.1=h590aaf7_0 - mistune=0.8.4=py37h8f50634_1001 - more-itertools=8.3.0=py_1 - msgpack-python=1.0.0=py37h99015e2_1 - multipledispatch=0.6.0=py_0 - munch=2.5.0=py_0 - nbconvert=5.6.1=py37hc8dfbb8_1 - nbdime=2.0.0=py_1 - nbformat=5.0.6=py_0 - nbval=0.9.5=py_0 - ncurses=6.1=hf484d3e_1002 - netcdf-fortran=4.5.2=nompi_h45d7149_104 - netcdf4=1.5.3=nompi_py37hec16513_103 - nettle=3.4.1=h1bed415_1002 - networkx=2.4=py_1 - nodejs=13.13.0=hf5d1a2b_0 - notebook=6.0.3=py37hc8dfbb8_0 - nspr=4.25=he1b5a44_0 - nss=3.47=he751ad9_0 - numba=0.48.0=py37hb3f55d8_0 - numpy=1.18.4=py37h8960a57_0 - oauthlib=3.0.1=py_0 - olefile=0.46=py_0 - openblas=0.3.6=h6e990d7_6 - openh264=2.1.1=h8b12597_0 - openjpeg=2.3.1=h981e76c_3 - openssl=1.1.1g=h516909a_0 - owslib=0.20.0=py_0 - packaging=20.4=pyh9f0ad1d_0 - pamela=1.0.0=py_0 - pandas=1.0.4=py37h0da4684_0 - pandoc=2.9.2.1=0 - pandocfilters=1.4.2=py_1 - panel=0.9.5=py_1 - param=1.9.3=py_0 - parso=0.7.0=pyh9f0ad1d_0 - partd=1.1.0=py_0 - pcre=8.44=he1b5a44_0 - pexpect=4.8.0=py37hc8dfbb8_1 - pickleshare=0.7.5=py37hc8dfbb8_1001 - pillow=7.1.2=py37h718be6c_0 - pip=20.1.1=py_1 - pixman=0.38.0=h516909a_1003 - plotly=4.8.1=pyh9f0ad1d_0 - pluggy=0.13.1=py37hc8dfbb8_1 - poppler=0.67.0=h14e79db_8 - poppler-data=0.4.9=1 - postgresql=12.2=h8573dbc_1 - proj=7.0.0=h966b41f_4 - prometheus_client=0.8.0=pyh9f0ad1d_0 - prompt-toolkit=3.0.5=py_0 - prompt_toolkit=3.0.5=0 - protobuf=3.12.3=py37h3340039_0 - pscript=0.7.4=pyh9f0ad1d_0 - psutil=5.7.0=py37h8f50634_1 - pthread-stubs=0.4=h14c3975_1001 - ptvsd=4.3.2=py37h516909a_1 - ptyprocess=0.6.0=py_1001 - py=1.8.1=py_0 - pycparser=2.20=py_0 - pyct=0.4.6=py_0 - pyct-core=0.4.6=py_0 - pycurl=7.43.0.5=py37h16ce93b_0 - pydap=3.2.2=py37_1000 - pyepsg=0.4.0=py_0 - pygments=2.6.1=py_0 - pyjwt=1.7.1=py_0 - pyopenssl=19.1.0=py_1 - pyparsing=2.4.7=pyh9f0ad1d_0 - pyproj=2.6.1.post1=py37h34dd122_0 - pyqt=5.12.3=py37h8685d9f_3 - pyrsistent=0.16.0=py37h8f50634_0 - pyshp=2.1.0=py_0 - pysocks=1.7.1=py37hc8dfbb8_1 - pytest=5.4.3=py37hc8dfbb8_0 - python=3.7.6=h8356626_5_cpython - python-dateutil=2.8.1=py_0 - python-editor=1.0.4=py_0 - python-json-logger=0.1.11=py_0 - python_abi=3.7=1_cp37m - pytz=2020.1=pyh9f0ad1d_0 - pyviz_comms=0.7.4=pyh8c360ce_0 - pywavelets=1.1.1=py37h03ebfcd_1 - pyyaml=5.3.1=py37h8f50634_0 - pyzmq=19.0.1=py37hac76be4_0 - qt=5.12.5=hd8c4c69_1 - qtconsole=4.7.4=pyh9f0ad1d_0 - qtpy=1.9.0=py_0 - rasterio=1.1.5=py37h0492a4a_0 - readline=8.0=hf8c457e_0 - regionmask=0.5.0=py_1 - requests=2.23.0=pyh8c360ce_2 - retrying=1.3.3=py_2 - rioxarray=0.0.26=py_0 - rtree=0.9.4=py37h8526d28_1 - ruamel.yaml=0.16.6=py37h8f50634_1 - ruamel.yaml.clib=0.2.0=py37h8f50634_1 - scikit-image=0.17.2=py37h0da4684_0 - scipy=1.4.1=py37ha3d9a3c_3 - send2trash=1.5.0=py_0 - setuptools=47.1.1=py37hc8dfbb8_0 - shapely=1.7.0=py37hc88ce51_3 - siphon=0.8.0=py37_1002 - six=1.15.0=pyh9f0ad1d_0 - smmap=3.0.4=pyh9f0ad1d_0 - snuggs=1.4.7=py_0 - sortedcontainers=2.1.0=py_0 - soupsieve=2.0.1=py37hc8dfbb8_0 - sqlalchemy=1.3.17=py37h8f50634_0 - sqlite=3.30.1=hcee41ef_0 - tbb=2020.1=hc9558a2_0 - tblib=1.6.0=py_0 - terminado=0.8.3=py37hc8dfbb8_1 - testpath=0.4.4=py_0 - threddsclient=0.4.2=py_0 - tifffile=2020.6.3=py_0 - tiledb=1.7.7=h8efa9f0_3 - tk=8.6.10=hed695b0_0 - toolz=0.10.0=py_0 - tornado=6.0.4=py37h8f50634_1 - tqdm=4.46.1=pyh9f0ad1d_0 - traitlets=4.3.3=py37hc8dfbb8_1 - traittypes=0.2.1=py_1 - typing_extensions=3.7.4.2=py_0 - tzcode=2020a=h516909a_0 - udunits2=2.2.27.6=h4e0c4b3_1001 - urllib3=1.25.9=py_0 - vcs=8.2=py_2 - voila=0.1.21=py_0 - vtk-cdat=8.2.0.8.2=py37_mesalibhead77ed_0 - wcwidth=0.2.3=pyh9f0ad1d_0 - webencodings=0.5.1=py_1 - webob=1.8.6=py_0 - werkzeug=1.0.1=pyh9f0ad1d_0 - wget=1.20.1=h22169c7_0 - wheel=0.34.2=py_1 - widgetsnbextension=3.5.1=py37_0 - x264=1!152.20180806=h14c3975_0 - xarray=0.15.1=py_0 - xerces-c=3.2.2=h8412b87_1004 - xeus=0.23.14=h4d8c418_0 - xeus-python=0.7.1=py37h99015e2_1 - xorg-kbproto=1.0.7=h14c3975_1002 - xorg-libice=1.0.10=h516909a_0 - xorg-libsm=1.2.3=h84519dc_1000 - xorg-libx11=1.6.9=h516909a_0 - xorg-libxau=1.0.9=h14c3975_0 - xorg-libxdmcp=1.1.3=h516909a_0 - xorg-libxext=1.3.4=h516909a_0 - xorg-libxrender=0.9.10=h516909a_1002 - xorg-renderproto=0.11.1=h14c3975_1002 - xorg-xextproto=7.3.0=h14c3975_1002 - xorg-xproto=7.0.31=h14c3975_1007 - xz=5.2.5=h516909a_0 - yaml=0.2.5=h516909a_0 - zeromq=4.3.2=he1b5a44_2 - zict=2.0.0=py_0 - zipp=3.1.0=py_0 - zlib=1.2.11=h516909a_1006 - zstd=1.4.4=h6597ccf_3 - pip: - astunparse==1.6.3 - birdhouse-birdy==0.6.9 - boltons==20.1.0 - bottleneck==1.3.2 - cdms2==3.1.4 - colour==0.1.5 - funcsigs==1.0.2 - geojson==2.5.0 - ipython-blocking==0.2.1 - joblib==0.15.1 - mpld3==0.3 - pint==0.12 - pixiedust==1.1.18 - pyqt5-sip==4.19.18 - pyqtchart==5.12 - pyqtwebengine==5.12.1 - regrid2==3.1.4 - requests-magpie==0.1.1 - scikit-learn==0.23.1 - threadpoolctl==2.1.0 - wrapt==1.12.1 - xclim==0.17.0 prefix: /opt/conda/envs/birdy ```
- Loading branch information