-
Notifications
You must be signed in to change notification settings - Fork 2
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
New conda library requests #88
Comments
@Zeitsperre no objections. Assigned this to myself so I remember to add those next time I rebuild the Jupyter env. |
Note to self: try also to add the following packages that allow png export from a bokeh plot. Note these might bloat up a lot the image so it's a go only if not too big.
Demo code for testing export to png (export to html already works without these 3 extra packages)
FYI @tlogan2000 |
semi related question : I just built a new local conda env using https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/blob/master/docker/environment.yml and |
Yes, that's correct. Clisops and RavenPy don't mix all that well at the moment. If you absolutely need it, I would pin it at the version before |
See #88 (comment) Adding these do not bloat the image too much. ``` The following packages will be downloaded: package | build ---------------------------|----------------- firefox-91.0.2 | h9c3ff4c_0 72.5 MB conda-forge geckodriver-0.29.1 | h3146498_0 3.0 MB conda-forge openssl-1.1.1k | h7f98852_1 2.1 MB conda-forge selenium-3.141.0 |py37h5e8e339_1002 870 KB conda-forge ------------------------------------------------------------ Total: 78.4 MB ```
@tlogan2000 Just installing
|
@tlogan2000 as suspected,
Installing So the question is ... will our users make a lot of use of the png export feature to make it worth it? |
@tlogan2000 finally got |
…or bokeh png export The `firefox` install by `conda` was missing all the X-libraries so did not work: ``` ! firefox --version XPCOMGlueLoad error for file /opt/conda/envs/birdy/bin/FirefoxApp/libmozgtk.so: libgtk-3.so.0: cannot open shared object file: No such file or directory Couldn't load XPCOM. ``` See #88 (comment)
Error when only `firefox-esr` is installed by `apt-get`: ``` ! firefox --version XPCOMGlueLoad error for file /opt/conda/envs/birdy/bin/FirefoxApp/libxul.so: libXt.so.6: cannot open shared object file: No such file or directory Couldn't load XPCOM. ``` See #88 (comment)
…her-and-latest-of-everything-else docker: new jupyter for ravenpy and other new additions Biggest feature is support for bokeh png export by installing a full blown firefox and all needed X-libraries into the docker image. The image size went from 7.44GB to 7.97GB. Deployed to https://medus.ouranos.ca/jupyter for testing. Other noticeable changes: ```diff < - ravenpy=0.7.0=pyh1bb2064_0 > - ravenpy=0.7.4=pyh7f9bfb9_0 < - xclim=0.28.0=pyhd8ed1ab_0 > - xclim=0.28.1=pyhd8ed1ab_0 > - geckodriver=0.29.1=h3146498_0 > - selenium=3.141.0=py37h5e8e339_1002 > - nested_dict=1.61=pyhd3deb0d_0 > - paramiko=2.7.2=pyh9f0ad1d_0 > - scp=0.14.0=pyhd8ed1ab_0 > - s3fs=2021.8.1=pyhd8ed1ab_0 # Downgrade ! < - pandas=1.3.1=py37h219a48f_0 > - pandas=1.2.5=py37h219a48f_0 < - owslib=0.24.1=pyhd8ed1ab_0 > - owslib=0.25.0=pyhd8ed1ab_0 < - cf_xarray=0.6.0=pyh6c4a22f_0 > - cf_xarray=0.6.1=pyh6c4a22f_0 < - rioxarray=0.5.0=pyhd8ed1ab_0 > - rioxarray=0.7.0=pyhd8ed1ab_0 < - climpred=2.1.4=pyhd8ed1ab_0 > - climpred=2.1.5.post1=pyhd8ed1ab_0 < - dask=2021.7.1=pyhd8ed1ab_0 > - dask=2021.9.0=pyhd8ed1ab_0 ``` Fixes #88 Fixes Ouranosinc/raven#402 Matching PR to deploy to PAVICS: bird-house/birdhouse-deploy#194 Jenkins build, only known error: http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/new-jupyter-for-ravenpy-and-other-and-latest-of-everything-else/3/console Jenkins all passed for Raven notebooks: http://jenkins.ouranos.ca/job/PAVICS-e2e-workflow-tests/job/new-jupyter-for-ravenpy-and-other-and-latest-of-everything-else/4/console Full diff of `conda env export`: [210728-210908-conda-env-export.diff.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/7138453/210728-210908-conda-env-export.diff.txt) ``` 9a10 > - aiobotocore=1.4.0=pyhd8ed1ab_0 11c12,13 < - alembic=1.6.5=pyhd8ed1ab_0 --- > - aioitertools=0.8.0=pyhd8ed1ab_0 > - alembic=1.7.1=pyhd8ed1ab_0 15a18 > - argcomplete=1.12.3=pyhd8ed1ab_2 25c28,30 < - beautifulsoup4=4.9.3=pyhb0f4dca_0 --- > - bcrypt=3.2.0=py37h5e8e339_1 > - beautifulsoup4=4.10.0=pyha770c72_0 > - bias_correction=0.4=pyhd8ed1ab_0 27c32 < - bleach=3.3.1=pyhd8ed1ab_0 --- > - bleach=4.1.0=pyhd8ed1ab_0 33c38,39 < - bottleneck=1.3.2=py37h902c9e0_3 --- > - botocore=1.20.106=pyhd8ed1ab_0 > - bottleneck=1.3.2=py37hb1e94ed_4 41c47 < - c-ares=1.17.1=h7f98852_1 --- > - c-ares=1.17.2=h7f98852_0 47c53 < - cartopy=0.19.0.post1=py37h0c48da3_0 --- > - cartopy=0.19.0.post1=py37h0c48da3_1 53c59 < - cf_xarray=0.6.0=pyh6c4a22f_0 --- > - cf_xarray=0.6.1=pyh6c4a22f_0 60d65 < - charset-normalizer=2.0.0=pyhd8ed1ab_0 64c69 < - climpred=2.1.4=pyhd8ed1ab_0 --- > - climpred=2.1.5.post1=pyhd8ed1ab_0 80,82c85,87 < - dask=2021.7.1=pyhd8ed1ab_0 < - dask-core=2021.7.1=pyhd8ed1ab_0 < - dataclasses=0.8=pyhc8e2a94_1 --- > - dask=2021.9.0=pyhd8ed1ab_0 > - dask-core=2021.9.0=pyhd8ed1ab_0 > - dataclasses=0.8=pyhc8e2a94_3 91c96 < - distributed=2021.7.1=py37h89c1867_0 --- > - distributed=2021.9.0=py37h89c1867_0 111c116 < - fsspec=2021.7.0=pyhd8ed1ab_0 --- > - fsspec=2021.8.1=pyhd8ed1ab_0 115c120 < - gcsfs=2021.7.0=pyhd8ed1ab_0 --- > - gcsfs=2021.8.1=pyhd8ed1ab_0 116a122 > - geckodriver=0.29.1=h3146498_0 122,123c128,129 < - geoviews=1.9.1=pyhd8ed1ab_0 < - geoviews-core=1.9.1=pyha770c72_0 --- > - geoviews=1.9.1=pyhd8ed1ab_1 > - geoviews-core=1.9.1=pyha770c72_1 128,130c134,136 < - gitpython=3.1.20=pyhd8ed1ab_0 < - glib=2.68.3=h9c3ff4c_0 < - glib-tools=2.68.3=h9c3ff4c_0 --- > - gitpython=3.1.18=pyhd8ed1ab_0 > - glib=2.68.4=h9c3ff4c_0 > - glib-tools=2.68.4=h9c3ff4c_0 133,135c139,141 < - google-auth=1.33.1=pyh6c4a22f_0 < - google-auth-oauthlib=0.4.4=pyhd8ed1ab_0 < - greenlet=1.1.0=py37hcd2ae1e_0 --- > - google-auth=2.0.2=pyh6c4a22f_0 > - google-auth-oauthlib=0.4.6=pyhd8ed1ab_0 > - greenlet=1.1.1=py37hcd2ae1e_0 140c146 < - haversine=2.3.1=pyhd8ed1ab_0 --- > - haversine=2.5.1=pyhd8ed1ab_0 147c153 < - idna=3.1=pyhd3deb0d_0 --- > - idna=2.10=pyh9f0ad1d_0 150,152c156,158 < - importlib-metadata=4.6.1=py37h89c1867_0 < - importlib_metadata=4.6.1=hd8ed1ab_0 < - importlib_resources=5.2.0=pyhd8ed1ab_0 --- > - importlib-metadata=4.8.1=py37h89c1867_0 > - importlib_metadata=4.8.1=hd8ed1ab_0 > - importlib_resources=5.2.2=pyhd8ed1ab_0 154,156c160,162 < - intake=0.6.2=pyhd8ed1ab_0 < - intake-esm=2021.1.15=pyhd8ed1ab_0 < - intake-geopandas=0.2.4=pyhd8ed1ab_0 --- > - intake=0.6.3=pyhd8ed1ab_0 > - intake-esm=2021.8.17=pyhd8ed1ab_0 > - intake-geopandas=0.3.0=pyhd8ed1ab_0 159c165 < - ipykernel=5.5.5=py37h085eea5_0 --- > - ipykernel=6.3.1=py37h6531663_0 161c167 < - ipython=7.25.0=py37h085eea5_1 --- > - ipython=7.27.0=py37h6531663_0 163c169 < - ipywidgets=7.6.3=pyhd3deb0d_0 --- > - ipywidgets=7.6.4=pyhd8ed1ab_0 167a174 > - jmespath=0.10.0=pyh9f0ad1d_0 175c182 < - jupyter-archive=3.0.1=pyhd8ed1ab_0 --- > - jupyter-archive=3.0.3=pyhd8ed1ab_0 183c190 < - jupyter_server=1.10.1=pyhd8ed1ab_0 --- > - jupyter_server=1.10.2=pyhd8ed1ab_0 187,188c194,195 < - jupyterlab=3.1.0=pyhd8ed1ab_0 < - jupyterlab-git=0.31.0=pyhd8ed1ab_0 --- > - jupyterlab=3.1.11=pyhd8ed1ab_0 > - jupyterlab-git=0.32.2=pyhd8ed1ab_0 192,194c199,201 < - jupyterlab_server=2.6.1=pyhd8ed1ab_0 < - jupyterlab_widgets=1.0.0=pyhd8ed1ab_1 < - jupytext=1.11.4=pyhd0ecf6b_0 --- > - jupyterlab_server=2.8.1=pyhd8ed1ab_0 > - jupyterlab_widgets=1.0.1=pyhd8ed1ab_0 > - jupytext=1.11.5=pyh6002c4b_0 197c204 < - kiwisolver=1.3.1=py37h2527ec5_1 --- > - kiwisolver=1.3.2=py37h2527ec5_0 222c229 < - libgcc-ng=11.1.0=hc902ee8_2 --- > - libgcc-ng=11.1.0=hc902ee8_8 224,227c231,234 < - libgfortran-ng=11.1.0=h69a702a_0 < - libgfortran5=11.1.0=h6c583b3_0 < - libglib=2.68.3=h3e27bee_0 < - libgomp=11.1.0=hc902ee8_2 --- > - libgfortran-ng=11.1.0=h69a702a_8 > - libgfortran5=11.1.0=h6c583b3_8 > - libglib=2.68.4=h3e27bee_0 > - libgomp=11.1.0=hc902ee8_8 246,247c253,254 < - libssh2=1.9.0=ha56f1ee_6 < - libstdcxx-ng=11.1.0=h56837e0_2 --- > - libssh2=1.10.0=ha56f1ee_0 > - libstdcxx-ng=11.1.0=h56837e0_8 253c260 < - libwebp-base=1.2.0=h7f98852_2 --- > - libwebp-base=1.2.1=h7f98852_0 262,264c269,271 < - lz4-c=1.9.3=h9c3ff4c_0 < - mako=1.1.4=pyh44b312d_0 < - mamba_gator=5.1.1=pyhd8ed1ab_0 --- > - lz4-c=1.9.3=h9c3ff4c_1 > - mako=1.1.5=pyhd8ed1ab_0 > - mamba_gator=5.1.2=pyhd8ed1ab_0 269,271c276,278 < - matplotlib=3.4.2=py37h89c1867_0 < - matplotlib-base=3.4.2=py37hdd32ed1_0 < - matplotlib-inline=0.1.2=pyhd8ed1ab_2 --- > - matplotlib=3.4.3=py37h89c1867_0 > - matplotlib-base=3.4.3=py37h1058ff1_0 > - matplotlib-inline=0.1.3=pyhd8ed1ab_0 277c284 < - more-itertools=8.8.0=pyhd8ed1ab_0 --- > - more-itertools=8.9.0=pyhd8ed1ab_0 285c292 < - nbclient=0.5.3=pyhd8ed1ab_0 --- > - nbclient=0.5.4=pyhd8ed1ab_0 293a301 > - nested_dict=1.61=pyhd3deb0d_0 299c307 < - notebook=6.4.0=pyha770c72_0 --- > - notebook=6.4.3=pyha770c72_0 301c309 < - nss=3.67=hb5efdd6_0 --- > - nss=3.69=hb5efdd6_0 303,304c311,312 < - numcodecs=0.8.0=py37hcd2ae1e_0 < - numpy=1.21.1=py37h038b26d_0 --- > - numcodecs=0.9.1=py37hcd2ae1e_0 > - numpy=1.21.2=py37h31617e3_0 310c318 < - openssl=1.1.1k=h7f98852_0 --- > - openssl=1.1.1l=h7f98852_0 312c320 < - owslib=0.24.1=pyhd8ed1ab_0 --- > - owslib=0.25.0=pyhd8ed1ab_0 315,316c323,324 < - pandas=1.3.1=py37h219a48f_0 < - pandoc=2.14.1=h7f98852_0 --- > - pandas=1.2.5=py37h219a48f_0 > - pandoc=2.14.2=h7f98852_0 318c326 < - panel=0.12.0=pyhd8ed1ab_0 --- > - panel=0.12.1=pyhd8ed1ab_0 319a328 > - paramiko=2.7.2=pyh9f0ad1d_0 327,328c336,337 < - pint=0.17=pyhd8ed1ab_0 < - pip=21.2.1=pyhd8ed1ab_0 --- > - pint=0.17=pyhd8ed1ab_1 > - pip=21.2.4=pyhd8ed1ab_0 330c339 < - plotly=5.1.0=pyhd8ed1ab_1 --- > - plotly=5.3.1=pyhd8ed1ab_0 332c341 < - pooch=1.4.0=pyhd8ed1ab_0 --- > - pooch=1.5.1=pyhd8ed1ab_0 334c343 < - poppler-data=0.4.10=0 --- > - poppler-data=0.4.11=hd8ed1ab_0 338,339c347,348 < - prompt-toolkit=3.0.19=pyha770c72_0 < - prompt_toolkit=3.0.19=hd8ed1ab_0 --- > - prompt-toolkit=3.0.20=pyha770c72_0 > - prompt_toolkit=3.0.20=hd8ed1ab_0 352c361 < - pycurl=7.43.0.6=py37h88a64d2_1 --- > - pycurl=7.44.1=py37h88a64d2_0 355,356c364,365 < - pygeos=0.10.1=py37h2d1e849_0 < - pygments=2.9.0=pyhd8ed1ab_0 --- > - pygeos=0.10.2=py37h48c49eb_0 > - pygments=2.10.0=pyhd8ed1ab_0 357a367 > - pynacl=1.4.0=py37h5e8e339_2 369c379 < - pytest=6.2.4=py37h89c1867_0 --- > - pytest=6.2.5=py37h89c1867_0 373d382 < - python-editor=1.0.4=py_0 379,381c388,390 < - pywavelets=1.1.1=py37h902c9e0_3 < - pyyaml=5.4.1=py37h5e8e339_0 < - pyzmq=22.1.0=py37h336d617_0 --- > - pywavelets=1.1.1=py37hb1e94ed_3 > - pyyaml=5.4.1=py37h5e8e339_1 > - pyzmq=22.2.1=py37h336d617_0 384c393 < - qtpy=1.9.0=py_0 --- > - qtpy=1.11.0=pyhd8ed1ab_0 387c396 < - ravenpy=0.7.0=pyh1bb2064_0 --- > - ravenpy=0.7.4=pyh7f9bfb9_0 389,390c398,399 < - regionmask=0.7.0=pyhd8ed1ab_0 < - requests=2.26.0=pyhd8ed1ab_0 --- > - regionmask=0.8.0=pyhd8ed1ab_0 > - requests=2.25.1=pyhd3deb0d_0 394c403 < - rioxarray=0.5.0=pyhd8ed1ab_0 --- > - rioxarray=0.7.0=pyhd8ed1ab_0 398c407 < - ruamel.yaml=0.17.10=py37h5e8e339_0 --- > - ruamel.yaml=0.17.16=py37h5e8e339_0 400,405c409,417 < - scikit-image=0.18.2=py37h219a48f_0 < - scikit-learn=0.24.2=py37h18a542f_0 < - scipy=1.7.0=py37h29e03ee_1 < - send2trash=1.7.1=pyhd8ed1ab_0 < - setuptools=49.6.0=py37h89c1867_3 < - shapely=1.7.1=py37h2d1e849_5 --- > - s3fs=2021.8.1=pyhd8ed1ab_0 > - scikit-image=0.18.3=py37he8f5f7f_0 > - scikit-learn=0.24.2=py37hf0f1638_1 > - scipy=1.7.1=py37hf2a6cf1_0 > - scp=0.14.0=pyhd8ed1ab_0 > - selenium=3.141.0=py37h5e8e339_1002 > - send2trash=1.8.0=pyhd8ed1ab_0 > - setuptools=58.0.3=py37h89c1867_0 > - shapely=1.7.1=py37h48c49eb_5 414c426 < - sqlalchemy=1.4.22=py37h5e8e339_0 --- > - sqlalchemy=1.4.23=py37h5e8e339_0 416c428 < - statsmodels=0.12.2=py37h902c9e0_0 --- > - statsmodels=0.12.2=py37hb1e94ed_0 419c431 < - terminado=0.10.1=py37h89c1867_0 --- > - terminado=0.12.1=py37h89c1867_0 425c437 < - tk=8.6.10=h21135ba_1 --- > - tk=8.6.11=h27826a3_1 429,430c441,442 < - tqdm=4.61.2=pyhd8ed1ab_1 < - traitlets=5.0.5=py_0 --- > - tqdm=4.62.2=pyhd8ed1ab_0 > - traitlets=5.1.0=pyhd8ed1ab_0 436c448 < - udunits2=2.2.27.27=h975c496_1 --- > - udunits2=2.2.27.27=hc3e0081_2 439c451 < - voila=0.2.10=pyhd8ed1ab_0 --- > - voila=0.2.11=pyhd8ed1ab_1 447c459 < - wheel=0.36.2=pyhd3deb0d_0 --- > - wheel=0.37.0=pyhd8ed1ab_1 452c464 < - xclim=0.28.0=pyhd8ed1ab_0 --- > - xclim=0.28.1=pyhd8ed1ab_0 469,470c481,482 < - xrft=0.3.0=pyhd8ed1ab_0 < - xskillscore=0.0.22=pyhd8ed1ab_0 --- > - xrft=0.3.1=pyhd8ed1ab_0 > - xskillscore=0.0.23=pyhd8ed1ab_0 474,476c486,488 < - zarr=2.8.3=pyhd8ed1ab_0 < - zeromq=4.3.4=h9c3ff4c_0 < - zfp=0.5.5=h9c3ff4c_5 --- > - zarr=2.9.5=pyhd8ed1ab_0 > - zeromq=4.3.4=h9c3ff4c_1 > - zfp=0.5.5=h9c3ff4c_6 488c500 < - ipython-blocking==0.2.1 --- > - ipython-blocking==0.3.1 ``` Full new `conda env export`: [210908-conda-env-export.yml.txt](https://github.com/Ouranosinc/PAVICS-e2e-workflow-tests/files/7138455/210908-conda-env-export.yml.txt) ``` name: birdy channels: - cdat - conda-forge - defaults dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=1_gnu - affine=2.3.0=py_0 - aiobotocore=1.4.0=pyhd8ed1ab_0 - aiohttp=3.7.4.post0=py37h5e8e339_0 - aioitertools=0.8.0=pyhd8ed1ab_0 - alembic=1.7.1=pyhd8ed1ab_0 - alsa-lib=1.2.3=h516909a_0 - ansi2html=1.6.0=py37h89c1867_1 - anyio=3.3.0=py37h89c1867_0 - appdirs=1.4.4=pyh9f0ad1d_0 - argcomplete=1.12.3=pyhd8ed1ab_2 - argon2-cffi=20.1.0=py37h5e8e339_2 - asciitree=0.3.3=py_2 - async-timeout=3.0.1=py_1000 - async_generator=1.10=py_0 - attrs=21.2.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.0=py37h5e8e339_1 - beautifulsoup4=4.10.0=pyha770c72_0 - bias_correction=0.4=pyhd8ed1ab_0 - birdy=v0.8.0=pyh6c4a22f_1 - bleach=4.1.0=pyhd8ed1ab_0 - blinker=1.4=py_1 - blosc=1.21.0=h9c3ff4c_0 - bokeh=2.3.3=py37h89c1867_0 - boltons=21.0.0=pyhd8ed1ab_0 - boost-cpp=1.74.0=hc6e9bd1_3 - botocore=1.20.106=pyhd8ed1ab_0 - bottleneck=1.3.2=py37hb1e94ed_4 - branca=0.4.2=pyhd8ed1ab_0 - brotli=1.0.9=h7f98852_5 - brotli-bin=1.0.9=h7f98852_5 - brotli-python=1.0.9=py37hcd2ae1e_5 - brotlipy=0.7.0=py37h5e8e339_1001 - brunsli=0.1=h9c3ff4c_0 - bzip2=1.0.8=h7f98852_4 - c-ares=1.17.2=h7f98852_0 - ca-certificates=2021.5.30=ha878542_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cachetools=4.2.2=pyhd8ed1ab_0 - cairo=1.16.0=h6cf1ce9_1008 - cartopy=0.19.0.post1=py37h0c48da3_1 - cdat_info=8.2.1=pyh9f0ad1d_1 - cdtime=3.1.4=py37h5ad02f4_2 - cdutil=8.2.1=pyh9f0ad1d_0 - certifi=2021.5.30=py37h89c1867_0 - certipy=0.1.3=py_0 - cf_xarray=0.6.1=pyh6c4a22f_0 - cffi=1.14.6=py37hc58025e_0 - cfgrib=0.9.9.0=pyhd8ed1ab_1 - cfitsio=3.470=hb418390_7 - cftime=1.5.0=py37h6f94858_0 - chardet=4.0.0=py37h89c1867_1 - charls=2.2.0=h9c3ff4c_0 - click=7.1.2=pyh9f0ad1d_0 - click-plugins=1.1.1=py_0 - cligj=0.7.2=pyhd8ed1ab_0 - climpred=2.1.5.post1=pyhd8ed1ab_0 - clisops=0.6.5=pyh6c4a22f_0 - cloudpickle=1.6.0=py_0 - colorama=0.4.4=pyh9f0ad1d_0 - colorcet=2.0.6=pyhd8ed1ab_0 - configurable-http-proxy=4.5.0=node15_he6ea98c_0 - coverage=5.5=py37h5e8e339_0 - cryptography=3.4.7=py37h5d9358c_0 - curl=7.78.0=hea6ffbf_0 - cycler=0.10.0=py_2 - cytoolz=0.11.0=py37h5e8e339_3 - dash=1.21.0=pyhd8ed1ab_0 - dash-core-components=1.17.1=pyhd8ed1ab_0 - dash-html-components=1.1.4=pyhd8ed1ab_0 - dash-renderer=1.9.1=pyhd8ed1ab_0 - dash-table=4.12.0=pyhd8ed1ab_0 - dask=2021.9.0=pyhd8ed1ab_0 - dask-core=2021.9.0=pyhd8ed1ab_0 - dataclasses=0.8=pyhc8e2a94_3 - datashader=0.13.0=pyh6c4a22f_0 - datashape=0.5.4=py_1 - dbus=1.13.6=h48d8840_2 - debugpy=1.4.1=py37hcd2ae1e_0 - decorator=5.0.9=pyhd8ed1ab_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - descartes=1.1.0=py_4 - distarray=2.12.2=pyhd8ed1ab_2 - distributed=2021.9.0=py37h89c1867_0 - docopt=0.6.2=py_1 - docrep=0.3.2=pyh44b312d_0 - dv3d=8.2.1=pyh9f0ad1d_0 - eccodes=2.21.0=ha0e6eb6_0 - entrypoints=0.3=pyhd8ed1ab_1003 - eofs=1.4.0=py_0 - esgf-compute-api=2.3.9=0_h1234567_ - esmf=8.1.0=nompi_hed08645_0 - esmpy=8.1.0=nompi_py37hff16fce_0 - expat=2.4.1=h9c3ff4c_0 - fasteners=0.16=pyhd8ed1ab_0 - fastprogress=1.0.0=py_0 - ffmpeg=4.2.3=h167e202_0 - fiona=1.8.18=py37h527b4ca_0 - flask=2.0.1=pyhd8ed1ab_0 - flask-compress=1.10.1=pyhd8ed1ab_0 - fontconfig=2.13.1=hba837de_1005 - freetype=2.10.4=h0708190_1 - freexl=1.0.6=h7f98852_0 - fsspec=2021.8.1=pyhd8ed1ab_0 - funcsigs=1.0.2=py_3 - future=0.18.2=py37h89c1867_3 - g2clib=1.6.3=hdfa6d74_0 - gcsfs=2021.8.1=pyhd8ed1ab_0 - gdal=3.1.4=py37h2ec2946_8 - geckodriver=0.29.1=h3146498_0 - genutil=8.2.1=py37h161383b_1 - geopandas=0.9.0=pyhd8ed1ab_1 - geopandas-base=0.9.0=pyhd8ed1ab_1 - geos=3.9.1=h9c3ff4c_2 - geotiff=1.6.0=h2b14fbe_4 - geoviews=1.9.1=pyhd8ed1ab_1 - geoviews-core=1.9.1=pyha770c72_1 - gettext=0.19.8.1=h0b5b191_1005 - ghostscript=9.54.0=h9c3ff4c_1 - giflib=5.2.1=h36c2ea0_2 - gitdb=4.0.7=pyhd8ed1ab_0 - gitpython=3.1.18=pyhd8ed1ab_0 - glib=2.68.4=h9c3ff4c_0 - glib-tools=2.68.4=h9c3ff4c_0 - gmp=6.2.1=h58526e2_0 - gnutls=3.6.13=h85f3911_1 - google-auth=2.0.2=pyh6c4a22f_0 - google-auth-oauthlib=0.4.6=pyhd8ed1ab_0 - greenlet=1.1.1=py37hcd2ae1e_0 - gst-plugins-base=1.18.4=hf529b03_2 - gstreamer=1.18.4=h76c114f_2 - h5netcdf=0.11.0=pyhd8ed1ab_0 - h5py=3.3.0=nompi_py37ha3df211_100 - haversine=2.5.1=pyhd8ed1ab_0 - hdf4=4.2.15=h10796ff_3 - hdf5=1.10.6=nompi_h6a2412b_1114 - heapdict=1.0.1=py_0 - holoviews=1.14.5=pyhd8ed1ab_0 - hvplot=0.7.3=pyh6c4a22f_0 - icu=68.1=h58526e2_0 - idna=2.10=pyh9f0ad1d_0 - imagecodecs=2021.3.31=py37haf4b6ec_0 - imageio=2.9.0=py_0 - importlib-metadata=4.8.1=py37h89c1867_0 - importlib_metadata=4.8.1=hd8ed1ab_0 - importlib_resources=5.2.2=pyhd8ed1ab_0 - iniconfig=1.1.1=pyh9f0ad1d_0 - intake=0.6.3=pyhd8ed1ab_0 - intake-esm=2021.8.17=pyhd8ed1ab_0 - intake-geopandas=0.3.0=pyhd8ed1ab_0 - intake-thredds=2021.6.16=pyhd8ed1ab_0 - intake-xarray=0.5.0=pyhd8ed1ab_0 - ipykernel=6.3.1=py37h6531663_0 - ipyleaflet=0.14.0=pyhd8ed1ab_1 - ipython=7.27.0=py37h6531663_0 - ipython_genutils=0.2.0=py_1 - ipywidgets=7.6.4=pyhd8ed1ab_0 - itsdangerous=2.0.1=pyhd8ed1ab_0 - jasper=1.900.1=h07fcdf6_1006 - jedi=0.18.0=py37h89c1867_2 - jinja2=3.0.1=pyhd8ed1ab_0 - jmespath=0.10.0=pyh9f0ad1d_0 - joblib=1.0.1=pyhd8ed1ab_0 - jpeg=9d=h36c2ea0_0 - json-c=0.15=h98cffda_0 - json5=0.9.5=pyh9f0ad1d_0 - jsonpickle=2.0.0=pyhd8ed1ab_0 - jsonschema=3.2.0=pyhd8ed1ab_3 - jupyter=1.0.0=py37h89c1867_6 - jupyter-archive=3.0.3=pyhd8ed1ab_0 - jupyter-dash=0.4.0=pyhd8ed1ab_0 - jupyter-resource-usage=0.5.1=pyhd8ed1ab_0 - jupyter-server-mathjax=0.2.3=pyhd8ed1ab_0 - jupyter_bokeh=3.0.2=pyhd8ed1ab_0 - jupyter_client=6.1.12=pyhd8ed1ab_0 - jupyter_console=6.4.0=pyhd8ed1ab_0 - jupyter_core=4.7.1=py37h89c1867_0 - jupyter_server=1.10.2=pyhd8ed1ab_0 - jupyter_telemetry=0.1.0=pyhd8ed1ab_1 - jupyterhub=1.4.2=py37h89c1867_0 - jupyterhub-base=1.4.2=py37h89c1867_0 - jupyterlab=3.1.11=pyhd8ed1ab_0 - jupyterlab-git=0.32.2=pyhd8ed1ab_0 - jupyterlab-system-monitor=0.8.0=pyhd8ed1ab_1 - jupyterlab-topbar=0.6.1=pyhd8ed1ab_2 - jupyterlab_pygments=0.1.2=pyh9f0ad1d_0 - jupyterlab_server=2.8.1=pyhd8ed1ab_0 - jupyterlab_widgets=1.0.1=pyhd8ed1ab_0 - jupytext=1.11.5=pyh6002c4b_0 - jxrlib=1.1=h7f98852_2 - kealib=1.4.14=hcc255d8_2 - kiwisolver=1.3.2=py37h2527ec5_0 - krb5=1.19.2=hcc1bbae_0 - lame=3.100=h7f98852_1001 - lazy-object-proxy=1.6.0=py37h5e8e339_0 - lcms2=2.12=hddcbb42_0 - ld_impl_linux-64=2.36.1=hea4e1c9_2 - lerc=2.2.1=h9c3ff4c_0 - libaec=1.0.5=h9c3ff4c_0 - libblas=3.8.0=17_openblas - libbrotlicommon=1.0.9=h7f98852_5 - libbrotlidec=1.0.9=h7f98852_5 - libbrotlienc=1.0.9=h7f98852_5 - libcblas=3.8.0=17_openblas - libcdms=3.1.2=h981a4fd_113 - libcf=1.0.3=py37heda41dd_109 - libclang=11.1.0=default_ha53f305_1 - libcurl=7.78.0=h2574ce0_0 - libdap4=3.20.6=hd7c4107_2 - libdeflate=1.7=h7f98852_5 - libdrs=3.1.2=h7918d09_113 - libdrs_f=3.1.2=h5026c31_111 - libedit=3.1.20191231=he28a2e2_2 - libev=4.33=h516909a_1 - libevent=2.1.10=hcdb4288_3 - libffi=3.3=h58526e2_2 - libgcc-ng=11.1.0=hc902ee8_8 - libgdal=3.1.4=h38ff51b_8 - libgfortran-ng=11.1.0=h69a702a_8 - libgfortran5=11.1.0=h6c583b3_8 - libglib=2.68.4=h3e27bee_0 - libgomp=11.1.0=hc902ee8_8 - libiconv=1.16=h516909a_0 - libidn2=2.3.2=h7f98852_0 - libkml=1.3.0=h238a007_1014 - liblapack=3.8.0=17_openblas - libllvm10=10.0.1=he513fc3_3 - libllvm11=11.1.0=hf817b99_2 - libnetcdf=4.7.4=nompi_h56d31a8_107 - libnghttp2=1.43.0=h812cca2_0 - libogg=1.3.4=h7f98852_1 - libopenblas=0.3.10=pthreads_h4812303_5 - libopus=1.3.1=h7f98852_1 - libpng=1.6.37=h21135ba_2 - libpq=13.3=hd57d9b9_0 - libprotobuf=3.17.2=h780b84a_1 - librttopo=1.1.0=h1185371_6 - libsodium=1.0.18=h36c2ea0_1 - libspatialindex=1.9.3=h9c3ff4c_4 - libspatialite=5.0.1=he52d314_3 - libssh2=1.10.0=ha56f1ee_0 - libstdcxx-ng=11.1.0=h56837e0_8 - libtiff=4.2.0=hbd63e13_2 - libunistring=0.9.10=h7f98852_0 - libuuid=2.32.1=h7f98852_1000 - libuv=1.41.1=h7f98852_0 - libvorbis=1.3.7=h9c3ff4c_0 - libwebp-base=1.2.1=h7f98852_0 - libxcb=1.13=h7f98852_1003 - libxkbcommon=1.0.3=he3ba5ed_0 - libxml2=2.9.12=h72842e0_0 - libxslt=1.1.33=h15afd5d_2 - libzopfli=1.0.3=h9c3ff4c_0 - llvmlite=0.36.0=py37h9d7f4d0_0 - locket=0.2.0=py_2 - lxml=4.6.3=py37h77fd288_0 - lz4-c=1.9.3=h9c3ff4c_1 - mako=1.1.5=pyhd8ed1ab_0 - mamba_gator=5.1.2=pyhd8ed1ab_0 - mapclassify=2.4.3=pyhd8ed1ab_0 - markdown=3.3.4=pyhd8ed1ab_0 - markdown-it-py=1.1.0=pyhd8ed1ab_0 - markupsafe=2.0.1=py37h5e8e339_0 - matplotlib=3.4.3=py37h89c1867_0 - matplotlib-base=3.4.3=py37h1058ff1_0 - matplotlib-inline=0.1.3=pyhd8ed1ab_0 - mdit-py-plugins=0.2.8=pyhd8ed1ab_0 - memory_profiler=0.58.0=py_0 - mesalib=18.3.1=h590aaf7_0 - mistune=0.8.4=py37h5e8e339_1004 - monotonic=1.5=py_0 - more-itertools=8.9.0=pyhd8ed1ab_0 - msgpack-python=1.0.2=py37h2527ec5_1 - multidict=5.1.0=py37h5e8e339_1 - multipledispatch=0.6.0=py_0 - munch=2.5.0=py_0 - mysql-common=8.0.25=ha770c72_0 - mysql-libs=8.0.25=h935591d_0 - nbclassic=0.3.1=pyhd8ed1ab_1 - nbclient=0.5.4=pyhd8ed1ab_0 - nbconvert=6.1.0=py37h89c1867_0 - nbdime=3.1.0=pyhd8ed1ab_0 - nbformat=5.1.3=pyhd8ed1ab_0 - nbresuse=0.4.0=pyhd8ed1ab_0 - nbval=0.9.6=pyh9f0ad1d_0 - nc-time-axis=1.3.1=pyhd8ed1ab_2 - ncurses=6.2=h58526e2_4 - nest-asyncio=1.5.1=pyhd8ed1ab_0 - nested_dict=1.61=pyhd3deb0d_0 - netcdf-fortran=4.5.3=nompi_h996563d_103 - netcdf4=1.5.6=nompi_py37hf7b6e46_102 - nettle=3.6=he412f7d_0 - networkx=2.5=py_0 - nodejs=15.14.0=h92b4a50_0 - notebook=6.4.3=pyha770c72_0 - nspr=4.30=h9c3ff4c_0 - nss=3.69=hb5efdd6_0 - numba=0.53.1=py37hb11d6e1_1 - numcodecs=0.9.1=py37hcd2ae1e_0 - numpy=1.21.2=py37h31617e3_0 - oauthlib=3.1.1=pyhd8ed1ab_0 - olefile=0.46=pyh9f0ad1d_1 - openblas=0.3.10=pthreads_h04b7a96_5 - openh264=2.1.1=h780b84a_0 - openjpeg=2.4.0=hb52868f_1 - openssl=1.1.1l=h7f98852_0 - ostrich=21.03.16=h4bd325d_1 - owslib=0.25.0=pyhd8ed1ab_0 - packaging=21.0=pyhd8ed1ab_0 - pamela=1.0.0=py_0 - pandas=1.2.5=py37h219a48f_0 - pandoc=2.14.2=h7f98852_0 - pandocfilters=1.4.2=py_1 - panel=0.12.1=pyhd8ed1ab_0 - param=1.11.1=pyh6c4a22f_0 - paramiko=2.7.2=pyh9f0ad1d_0 - parso=0.8.2=pyhd8ed1ab_0 - partd=1.2.0=pyhd8ed1ab_0 - patsy=0.5.1=py_0 - pcre=8.45=h9c3ff4c_0 - pexpect=4.8.0=pyh9f0ad1d_2 - pickleshare=0.7.5=py_1003 - pillow=8.2.0=py37h4600e1f_1 - pint=0.17=pyhd8ed1ab_1 - pip=21.2.4=pyhd8ed1ab_0 - pixman=0.40.0=h36c2ea0_0 - plotly=5.3.1=pyhd8ed1ab_0 - pluggy=0.13.1=py37h89c1867_4 - pooch=1.5.1=pyhd8ed1ab_0 - poppler=0.89.0=h2de54a5_5 - poppler-data=0.4.11=hd8ed1ab_0 - postgresql=13.3=h2510834_0 - proj=7.2.0=h277dcde_2 - prometheus_client=0.11.0=pyhd8ed1ab_0 - prompt-toolkit=3.0.20=pyha770c72_0 - prompt_toolkit=3.0.20=hd8ed1ab_0 - properscoring=0.1=py_0 - protobuf=3.17.2=py37hcd2ae1e_0 - pscript=0.7.5=pyhd3deb0d_0 - psutil=5.8.0=py37h5e8e339_1 - pthread-stubs=0.4=h36c2ea0_1001 - ptyprocess=0.7.0=pyhd3deb0d_0 - py=1.10.0=pyhd3deb0d_0 - pyasn1=0.4.8=py_0 - pyasn1-modules=0.2.7=py_0 - pycparser=2.20=pyh9f0ad1d_2 - pyct=0.4.6=py_0 - pyct-core=0.4.6=py_0 - pycurl=7.44.1=py37h88a64d2_0 - pydantic=1.8.2=py37h5e8e339_0 - pydap=3.2.2=pyh9f0ad1d_1001 - pygeos=0.10.2=py37h48c49eb_0 - pygments=2.10.0=pyhd8ed1ab_0 - pyjwt=2.1.0=pyhd8ed1ab_0 - pynacl=1.4.0=py37h5e8e339_2 - pyopenssl=20.0.1=pyhd8ed1ab_0 - pyparsing=2.4.7=pyh9f0ad1d_0 - pyproj=3.1.0=py37h20b8899_3 - pyqt=5.12.3=py37h89c1867_7 - pyqt-impl=5.12.3=py37he336c9b_7 - pyqt5-sip=4.19.18=py37hcd2ae1e_7 - pyqtchart=5.12=py37he336c9b_7 - pyqtwebengine=5.12.1=py37he336c9b_7 - pyrsistent=0.17.3=py37h5e8e339_2 - pyshp=2.1.3=pyh44b312d_0 - pysocks=1.7.1=py37h89c1867_3 - pytest=6.2.5=py37h89c1867_0 - python=3.7.10=hffdb5ce_100_cpython - python-dateutil=2.8.2=pyhd8ed1ab_0 - python-eccodes=2021.03.0=py37h6f94858_1 - python-json-logger=2.0.1=pyh9f0ad1d_0 - python_abi=3.7=2_cp37m - pytz=2021.1=pyhd8ed1ab_0 - pyu2f=0.1.5=pyhd8ed1ab_0 - pyviz_comms=2.1.0=pyhd8ed1ab_0 - pywavelets=1.1.1=py37hb1e94ed_3 - pyyaml=5.4.1=py37h5e8e339_1 - pyzmq=22.2.1=py37h336d617_0 - qt=5.12.9=hda022c4_4 - qtconsole=5.1.1=pyhd8ed1ab_0 - qtpy=1.11.0=pyhd8ed1ab_0 - rasterio=1.2.1=py37ha549118_0 - raven-hydro=3.0.4.322=h516393e_0 - ravenpy=0.7.4=pyh7f9bfb9_0 - readline=8.1=h46c0cb4_0 - regionmask=0.8.0=pyhd8ed1ab_0 - requests=2.25.1=pyhd3deb0d_0 - requests-oauthlib=1.3.0=pyh9f0ad1d_0 - requests-unixsocket=0.2.0=py_0 - retrying=1.3.3=py_2 - rioxarray=0.7.0=pyhd8ed1ab_0 - roocs-utils=0.4.2=pyh6c4a22f_0 - rsa=4.7.2=pyh44b312d_0 - rtree=0.9.7=py37h0b55af0_2 - ruamel.yaml=0.17.16=py37h5e8e339_0 - ruamel.yaml.clib=0.2.2=py37h5e8e339_2 - s3fs=2021.8.1=pyhd8ed1ab_0 - scikit-image=0.18.3=py37he8f5f7f_0 - scikit-learn=0.24.2=py37hf0f1638_1 - scipy=1.7.1=py37hf2a6cf1_0 - scp=0.14.0=pyhd8ed1ab_0 - selenium=3.141.0=py37h5e8e339_1002 - send2trash=1.8.0=pyhd8ed1ab_0 - setuptools=58.0.3=py37h89c1867_0 - shapely=1.7.1=py37h48c49eb_5 - siphon=0.9=py37h89c1867_0 - six=1.16.0=pyh6c4a22f_0 - smmap=3.0.5=pyh44b312d_0 - snappy=1.1.8=he1b5a44_3 - sniffio=1.2.0=py37h89c1867_1 - snuggs=1.4.7=py_0 - sortedcontainers=2.4.0=pyhd8ed1ab_0 - soupsieve=2.0.1=py_1 - sqlalchemy=1.4.23=py37h5e8e339_0 - sqlite=3.36.0=h9cd32fc_0 - statsmodels=0.12.2=py37hb1e94ed_0 - tblib=1.7.0=pyhd8ed1ab_0 - tenacity=8.0.1=pyhd8ed1ab_0 - terminado=0.12.1=py37h89c1867_0 - testpath=0.5.0=pyhd8ed1ab_0 - threadpoolctl=2.2.0=pyh8a188c0_0 - threddsclient=0.4.2=py_0 - tifffile=2021.4.8=pyhd8ed1ab_0 - tiledb=2.2.9=h91fcb0e_0 - tk=8.6.11=h27826a3_1 - toml=0.10.2=pyhd8ed1ab_0 - toolz=0.11.1=py_0 - tornado=6.1=py37h5e8e339_1 - tqdm=4.62.2=pyhd8ed1ab_0 - traitlets=5.1.0=pyhd8ed1ab_0 - traittypes=0.2.1=pyh9f0ad1d_2 - typing-extensions=3.10.0.0=hd8ed1ab_0 - typing_extensions=3.10.0.0=pyha770c72_0 - tzcode=2021a=h7f98852_2 - tzdata=2021a=he74cb21_1 - udunits2=2.2.27.27=hc3e0081_2 - urllib3=1.26.6=pyhd8ed1ab_0 - vcs=8.2.1=pyh9f0ad1d_0 - voila=0.2.11=pyhd8ed1ab_1 - vtk-cdat=8.2.0.8.2=py37_mesalibhead77ed_0 - wcwidth=0.2.5=pyh9f0ad1d_2 - webencodings=0.5.1=py_1 - webob=1.8.7=pyhd8ed1ab_0 - websocket-client=0.57.0=py37h89c1867_4 - werkzeug=2.0.1=pyhd8ed1ab_0 - wget=1.20.3=ha56f1ee_0 - wheel=0.37.0=pyhd8ed1ab_1 - widgetsnbextension=3.5.1=py37h89c1867_4 - wrapt=1.12.1=py37h5e8e339_3 - x264=1!152.20180806=h14c3975_0 - xarray=0.19.0=pyhd8ed1ab_1 - xclim=0.28.1=pyhd8ed1ab_0 - xerces-c=3.2.3=h9d8b166_2 - xesmf=0.6.0=pyhd8ed1ab_0 - xeus=1.0.4=h7d0c39e_0 - xeus-python=0.12.5=py37h4b46df4_2 - xhistogram=0.3.0=pyhd8ed1ab_0 - 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-libxdmcp=1.1.3=h7f98852_0 - xorg-libxext=1.3.4=h7f98852_1 - xorg-libxrender=0.9.10=h7f98852_1003 - xorg-renderproto=0.11.1=h7f98852_1002 - xorg-xextproto=7.3.0=h7f98852_1002 - xorg-xproto=7.0.31=h7f98852_1007 - xrft=0.3.1=pyhd8ed1ab_0 - xskillscore=0.0.23=pyhd8ed1ab_0 - xz=5.2.5=h516909a_1 - yaml=0.2.5=h516909a_0 - yarl=1.6.3=py37h5e8e339_2 - zarr=2.9.5=pyhd8ed1ab_0 - zeromq=4.3.4=h9c3ff4c_1 - zfp=0.5.5=h9c3ff4c_6 - zict=2.0.0=py_0 - zipp=3.5.0=pyhd8ed1ab_0 - zlib=1.2.11=h516909a_1010 - zstd=1.4.9=ha95c52a_0 - pip: - astunparse==1.6.3 - cdms2==3.1.5 - colour==0.1.5 - geojson==2.5.0 - handcalcs==1.4.1 - innerscope==0.5.0 - ipython-blocking==0.3.1 - jupyterlab-logout==0.5.0 - jupyternotify==0.1.15 - pixiedust==1.1.19 - pymetalink==6.2 - pytest-tornasync==0.6.0.post2 - regrid2==3.1.5 - requests-magpie==0.1.1 prefix: /opt/conda/envs/birdy ```
We recently received an email from one of our collaborators wondering if we could add the following to our PAVCIS user images:
nested_dict (https://anaconda.org/conda-forge/nested_dict)
paramiko (https://anaconda.org/conda-forge/paramiko)
python-scp (https://anaconda.org/conda-forge/scp)
I feel like Paramiko and SCP would be very useful additions (streamlines file transfer via Python API - great for moving processed data off of images).
Nested_dict
is a nice implementation ofdefault_dict
with nesting (not specifically useful for PAVICS).Thoughts @tlvu ?
The text was updated successfully, but these errors were encountered: