jupyterlab / jupyterlab

JupyterLab computational environment.
https://jupyterlab.readthedocs.io/
Other
14.09k stars 3.32k forks source link

svg does not render in jupyterlab viewer, 'invalid character' on console, renders fine on browser and cells #10014

Closed LunarLanding closed 3 years ago

LunarLanding commented 3 years ago

Description

A svg outputted by a simple plotly plot renders correctly on Firefox and via IPython.display.SVG, but not through jupyter lab viewer, where it shows black. Browser output seems to indicate the problem is on the javascript side.

Reproduce

View this file with jupyterlab viewer jupyterlab_svg_viewer_issue.svg

You can also generate it through:

import plotly.io as pio
import plotly.graph_objects as go
fig = go.Figure(
    data=go.Bar(y=[2,3,1]),
    layout={'title':'a'}
)
pio.write_image(fig,'jupyterlab_svg_viewer_issue.svg',format='svg')

Displaying in a cell shows the same as Firefox (see expected behaviour):

import IPython.display
IPython.display.SVG(filename='jupyterlab_svg_viewer_issue.svg')

Displaying by clicking the file in the navigator shows an empty canvas with the theme's background color and prints an error in the console ( see context for output). At some point I could use source maps but seems I have to rebuild jupyter with npm to get them back.

Expected behavior

The same as below: jupyterlab_svg_viewer_issue.svg

Context

Troubleshoot Output ``` $PATH: $HOME/miniconda3/bin $HOME/miniconda3/condabin $HOME/.local/lib/ccache $HOME/.local/bin $HOME/.local/sbin /usr/local/sbin /usr/local/bin /usr/sbin /usr/bin /sbin /bin sys.path: $HOME/miniconda3/bin $HOME/miniconda3/lib/python39.zip $HOME/miniconda3/lib/python3.9 $HOME/miniconda3/lib/python3.9/lib-dynload $HOME/miniconda3/lib/python3.9/site-packages sys.executable: $HOME/miniconda3/bin/python sys.version: 3.9.2 | packaged by conda-forge | (default, Feb 21 2021, 05:02:46) [GCC 9.3.0] platform.platform(): Linux-3.10.0-1160.11.1.el7.x86_64-x86_64-with-glibc2.27 which -a jupyter: $HOME/miniconda3/bin/jupyter pip list: Package Version ----------------------------- ------------------- anaconda-client 1.7.2+14.g4a6f45d anyio 2.2.0 appdirs 1.4.4 argon2-cffi 20.1.0 arrow 1.0.3 asciitree 0.3.3 async-generator 1.10 attrs 20.3.0 Babel 2.9.0 backcall 0.2.0 backports.functools-lru-cache 1.6.1 beautifulsoup4 4.9.3 binaryornot 0.4.4 biopython 1.78 black 20.8b1 bleach 3.3.0 boa 0.4.2 bokeh 2.3.0 brotlipy 0.7.0 cached-property 1.5.2 certifi 2020.12.5 cffi 1.14.4 cftime 1.4.1 chardet 3.0.4 click 7.1.2 cloudpickle 1.6.0 clyent 1.2.2 colorama 0.4.4 colorcet 2.0.6 commonmark 0.9.1 conda 4.9.2 conda-build 3.21.4 conda-package-handling 1.7.2 conda-tree 0.1.0 conda-verify 3.1.1 cookiecutter 1.7.2 cppyy 1.9.3 cppyy-backend 1.14.2 cppyy-cling 6.21.5 CPyCppyy 1.12.2 cryptography 3.3.1 cycler 0.10.0 Cython 0.29.22 cytoolz 0.11.0 dask 2021.3.1 decorator 4.4.2 defusedxml 0.7.1 distlib 0.3.1 distributed 2021.3.1 entrypoints 0.3 fasteners 0.14.1 filelock 3.0.12 fsspec 0.8.7 future 0.18.2 glob2 0.7 gmpy2 2.1.0b1 graphviz 0.16 GridDataFormats 0.5.0 gsd 2.4.1 h5netcdf 0.10.0 h5py 3.1.0 HeapDict 1.0.1 holoviews 1.14.2 idna 2.10 imageio 2.9.0 importlib-metadata 3.7.3 inotify-simple 1.3.5 ipydatawidgets 4.2.0 ipykernel 5.5.0 ipython 7.22.0 ipython-genutils 0.2.0 ipywidgets 7.6.3 jedi 0.18.0 Jinja2 2.11.3 jinja2-time 0.2.0 joblib 1.0.1 json5 0.9.5 jsonschema 3.2.0 jupyter-client 6.1.12 jupyter-core 4.7.1 jupyter-packaging 0.7.12 jupyter-server 1.5.1 jupyterlab 3.0.12 jupyterlab-execute-time 2.0.2 jupyterlab-pygments 0.1.2 jupyterlab-server 2.3.0 jupyterlab-widgets 1.0.0 kaleido 0.2.1 kiwisolver 1.3.1 libarchive-c 2.9 line-profiler 3.1.0 llvmlite 0.36.0 locket 0.2.0 loguru 0.5.3 mamba 0.9.1 Markdown 3.3.4 MarkupSafe 1.1.1 matplotlib 3.3.4 MDAnalysis 1.0.0 meshio 4.3.8 mistune 0.8.4 mmtf-python 1.1.2 monotonic 1.5 mpi4py 3.0.3 mpmath 1.2.1 msgpack 1.0.2 mypy 0.812 mypy-extensions 0.4.3 nbclassic 0.2.6 nbclient 0.5.3 nbconvert 6.0.7 nbformat 5.1.2 nest-asyncio 1.4.3 netCDF4 1.5.6 networkx 2.5 notebook 6.3.0 numba 0.53.1 numcodecs 0.7.3 numexpr 2.7.3 numpy 1.20.1 numpy-quaternion 2021.3.17.16.51.43 olefile 0.46 packaging 20.9 pandas 1.2.3 pandocfilters 1.4.2 panel 0.11.1 param 1.10.1 parso 0.8.1 partd 1.1.0 pathspec 0.8.1 patsy 0.5.1 periortree 0.0.1 pexpect 4.8.0 pickleshare 0.7.5 Pillow 8.1.2 pip 21.0.1 pkginfo 1.7.0 plotly 4.14.3 poyo 0.5.0 prometheus-client 0.9.0 prompt-toolkit 3.0.18 psutil 5.8.0 ptyprocess 0.7.0 pyaml 20.4.0 pycosat 0.6.3 pycparser 2.20 pyct 0.4.6 pyFFTW 0.12.0 pygalmesh 0.9.4 Pygments 2.8.1 pyntcloud 0.1.4 pyOpenSSL 20.0.0 pyparsing 2.4.7 PyQt5 5.12.3 PyQt5-sip 4.19.18 PyQtChart 5.12 PyQtWebEngine 5.12.1 pyrsistent 0.17.3 PySocks 1.7.1 python-dateutil 2.8.1 python-slugify 4.0.1 pytz 2021.1 pyvista 0.29.0 pyviz-comms 2.0.1 PyYAML 5.4.1 pyzmq 22.0.3 regex 2021.3.17 requests 2.25.0 retrying 1.3.3 rich 9.13.0 ruamel-yaml-conda 0.15.80 ruamel.yaml 0.16.12 ruamel.yaml.clib 0.2.2 scikit-learn 0.24.1 scipy 1.6.1 scooby 0.5.6 seaborn 0.11.1 Send2Trash 1.5.0 setuptools 51.0.0.post20201207 six 1.15.0 sniffio 1.2.0 sortedcontainers 2.3.0 soupsieve 2.0.1 sparse 0.12.0 statsmodels 0.12.2 sympy 1.7.1 tblib 1.7.0 terminado 0.9.3 testpath 0.4.4 text-unidecode 1.3 threadpoolctl 2.1.0 toml 0.10.2 toolz 0.11.1 tornado 6.1 tqdm 4.54.1 traitlets 5.0.5 traittypes 0.2.1 transforms3d 0.3.1 typed-ast 1.4.2 typing-extensions 3.7.4.3 Unidecode 1.2.0 urllib3 1.25.11 virtualenv 20.4.3 vtk 9.0.1 wcwidth 0.2.5 webencodings 0.5.1 wheel 0.36.1 whichcraft 0.6.1 widgetsnbextension 3.5.1 wurlitzer 2.0.1 xarray 0.17.0 xlrd 2.0.1 zarr 2.7.0 zict 2.0.0 zipp 3.4.1 conda list: # packages in environment at $HOME/miniconda3: # # Name Version Build Channel _libgcc_mutex 0.1 conda_forge conda-forge _openmp_mutex 4.5 1_llvm conda-forge anaconda-client 1.7.2+14.g4a6f45d py39_0 local anyio 2.2.0 py39hf3d152e_0 conda-forge appdirs 1.4.4 pyh9f0ad1d_0 conda-forge argon2-cffi 20.1.0 py39hbd71b63_2 conda-forge arrow 1.0.3 py39hf3d152e_0 conda-forge asciitree 0.3.3 py_2 conda-forge async_generator 1.10 py_0 conda-forge atk-1.0 2.36.0 h3371d22_4 conda-forge attrs 20.3.0 pyhd3deb0d_0 conda-forge babel 2.9.0 pyhd3deb0d_0 conda-forge backcall 0.2.0 pyh9f0ad1d_0 conda-forge backports 1.0 py_2 conda-forge backports.functools_lru_cache 1.6.1 py_0 conda-forge beautifulsoup4 4.9.3 pyhb0f4dca_0 conda-forge binaryornot 0.4.4 py_1 conda-forge binutils_impl_linux-64 2.35.1 h193b22a_2 conda-forge binutils_linux-64 2.35 h67ddf6f_30 conda-forge biopython 1.78 py39h3811e60_2 conda-forge black 20.8b1 py_1 conda-forge bleach 3.3.0 pyh44b312d_0 conda-forge boa 0.4.2 py39hf3d152e_0 conda-forge bokeh 2.3.0 py39hf3d152e_0 conda-forge boost 1.72.0 py39ha90915f_1 conda-forge boost-cpp 1.72.0 h9d3c048_4 conda-forge brotlipy 0.7.0 py39h27cfd23_1003 bzip2 1.0.8 h7f98852_4 conda-forge c-ares 1.17.1 h7f98852_1 conda-forge ca-certificates 2020.12.5 ha878542_0 conda-forge cached-property 1.5.2 hd8ed1ab_1 conda-forge cached_property 1.5.2 pyha770c72_1 conda-forge cairo 1.16.0 h6cf1ce9_1008 conda-forge certifi 2020.12.5 py39hf3d152e_1 conda-forge cffi 1.14.4 py39h261ae71_0 cftime 1.4.1 py39hce5d2b2_0 conda-forge cgal 5.0.1 py39hd56b5f2_2 conda-forge cgal-cpp 5.0.1 h747953b_1 conda-forge chardet 3.0.4 py39h06a4308_1003 click 7.1.2 pyh9f0ad1d_0 conda-forge cloudpickle 1.6.0 py_0 conda-forge clyent 1.2.2 py_1 conda-forge cmake 3.19.6 h3020d66_0 conda-forge cni 0.8.0 hc0beb16_0 conda-forge cni-plugins 0.9.1 ha8f183a_0 conda-forge colorama 0.4.4 pyh9f0ad1d_0 conda-forge colorcet 2.0.6 pyhd8ed1ab_0 conda-forge commonmark 0.9.1 py_0 conda-forge conda 4.9.2 py39hf3d152e_0 conda-forge conda-build 3.21.4 py39hf3d152e_0 conda-forge conda-package-handling 1.7.2 py39h27cfd23_1 conda-tree 0.1.0 py_0 conda-forge conda-verify 3.1.1 py39hf3d152e_1003 conda-forge cookiecutter 1.7.2 pyh9f0ad1d_0 conda-forge cppyy 1.9.3 py39ha3ed2ce_1 conda-forge cppyy-backend 1.14.2 py39h1a9c180_0 conda-forge cppyy-cling 6.21.5 py39h0f9e12e_0 conda-forge cpycppyy 1.12.2 py39h1a9c180_0 conda-forge cryptography 3.3.1 py39h3c74f83_0 curl 7.75.0 h979ede3_0 conda-forge cycler 0.10.0 py_2 conda-forge cython 0.29.22 py39he80948d_0 conda-forge cytoolz 0.11.0 py39h3811e60_3 conda-forge dask 2021.3.1 pyhd8ed1ab_0 conda-forge dask-core 2021.3.1 pyhd8ed1ab_0 conda-forge dataclasses 0.8 pyhc8e2a94_1 conda-forge dbus 1.13.6 hfdff14a_1 conda-forge decorator 4.4.2 py_0 conda-forge defusedxml 0.7.1 pyhd8ed1ab_0 conda-forge distlib 0.3.1 pyh9f0ad1d_0 conda-forge distributed 2021.3.1 py39hf3d152e_0 conda-forge double-conversion 3.1.5 he1b5a44_2 conda-forge e2fsprogs 1.46.2 h7f98852_0 conda-forge e2fsprogs-libs 1.46.2 h7f98852_0 conda-forge eigen 3.3.9 h4bd325d_1 conda-forge entrypoints 0.3 py39hde42818_1002 conda-forge esmf 8.1.0 nompi_hed08645_0 conda-forge expat 2.2.10 h9c3ff4c_0 conda-forge fasteners 0.14.1 py_3 conda-forge ffmpeg 4.3.1 hca11adc_2 conda-forge fftw 3.3.9 nompi_hcdd671c_101 conda-forge file 5.39 hed695b0_0 conda-forge filelock 3.0.12 pyh9f0ad1d_0 conda-forge font-ttf-dejavu-sans-mono 2.37 hab24e00_0 conda-forge font-ttf-inconsolata 2.001 hab24e00_0 conda-forge font-ttf-source-code-pro 2.030 hab24e00_0 conda-forge font-ttf-ubuntu 0.83 hab24e00_0 conda-forge fontconfig 2.13.1 hba837de_1004 conda-forge fonts-conda-ecosystem 1 0 conda-forge fonts-conda-forge 1 0 conda-forge freetype 2.10.4 h0708190_1 conda-forge fribidi 1.0.10 h516909a_0 conda-forge fsspec 0.8.7 pyhd8ed1ab_0 conda-forge future 0.18.2 py39hf3d152e_3 conda-forge gcc_impl_linux-64 9.3.0 h70c0ae5_18 conda-forge gcc_linux-64 9.3.0 hf25ea35_30 conda-forge gdk-pixbuf 2.42.4 h04a7f16_2 conda-forge gettext 0.19.8.1 h0b5b191_1005 conda-forge ghostscript 9.53.3 h58526e2_2 conda-forge giflib 5.2.1 h516909a_2 conda-forge git 2.30.2 pl5320h6697202_0 conda-forge gl2ps 1.4.2 he06d7ca_0 conda-forge glew 2.1.0 h9c3ff4c_2 conda-forge glib 2.68.0 h9c3ff4c_2 conda-forge glib-tools 2.68.0 h9c3ff4c_2 conda-forge glob2 0.7 py_0 conda-forge gmp 6.2.1 h58526e2_0 conda-forge gmpy2 2.1.0b1 py39hf9ed83c_1 conda-forge gnutls 3.6.13 h85f3911_1 conda-forge graphite2 1.3.13 he1b5a44_1001 conda-forge graphviz 2.47.0 h93c640b_0 conda-forge griddataformats 0.5.0 py_0 conda-forge gsd 2.4.1 py39hce5d2b2_0 conda-forge gsl 2.6 he838d99_2 conda-forge gst-plugins-base 1.18.4 h29181c9_0 conda-forge gstreamer 1.18.4 h76c114f_0 conda-forge gtk2 2.24.33 hab0c2f8_0 conda-forge gts 0.7.6 h64030ff_2 conda-forge gxx_impl_linux-64 9.3.0 hd87eabc_18 conda-forge gxx_linux-64 9.3.0 h3fbe746_30 conda-forge h5netcdf 0.10.0 pyhd8ed1ab_0 conda-forge h5py 3.1.0 nompi_py39h25020de_100 conda-forge harfbuzz 2.8.0 h83ec7ef_1 conda-forge hdf4 4.2.13 h10796ff_1004 conda-forge hdf5 1.10.6 nompi_h6a2412b_1114 conda-forge heapdict 1.0.1 py_0 conda-forge holoviews 1.14.2 pyhd8ed1ab_0 conda-forge htop 3.0.5 h46c0cb4_0 conda-forge icu 68.1 h58526e2_0 conda-forge idna 2.10 py_0 imageio 2.9.0 py_0 conda-forge imagemagick 7.0.11_4 pl5320hb503478_0 conda-forge importlib-metadata 3.7.3 py39hf3d152e_0 conda-forge importlib_metadata 3.7.3 hd8ed1ab_0 conda-forge inotify_simple 1.3.5 py39hf3d152e_1 conda-forge ipydatawidgets 4.2.0 pyhd3deb0d_0 conda-forge ipykernel 5.5.0 py39hef51801_1 conda-forge ipython 7.22.0 py39hef51801_0 conda-forge ipython_genutils 0.2.0 py_1 conda-forge ipywidgets 7.6.3 pyhd3deb0d_0 conda-forge jbig 2.1 h516909a_2002 conda-forge jedi 0.18.0 py39hf3d152e_2 conda-forge jinja2 2.11.3 pyh44b312d_0 conda-forge jinja2-time 0.2.0 py_2 conda-forge joblib 1.0.1 pyhd8ed1ab_0 conda-forge jpeg 9d h516909a_0 conda-forge jq 1.6 h36c2ea0_1000 conda-forge json5 0.9.5 pyh9f0ad1d_0 conda-forge jsoncpp 1.9.4 h4bd325d_1 conda-forge jsonschema 3.2.0 pyhd8ed1ab_3 conda-forge jupyter-packaging 0.7.12 pyhd8ed1ab_0 conda-forge jupyter_client 6.1.12 pyhd8ed1ab_0 conda-forge jupyter_core 4.7.1 py39hf3d152e_0 conda-forge jupyter_server 1.5.1 py39hf3d152e_0 conda-forge jupyterlab 3.0.12 pyhd8ed1ab_0 conda-forge jupyterlab_execute_time 2.0.2 pyhd8ed1ab_0 conda-forge jupyterlab_pygments 0.1.2 pyh9f0ad1d_0 conda-forge jupyterlab_server 2.3.0 pyhd8ed1ab_0 conda-forge jupyterlab_widgets 1.0.0 pyhd8ed1ab_1 conda-forge kaleido-core 0.2.1 h3644ca4_0 conda-forge kernel-headers_linux-64 2.6.32 h77966d4_13 conda-forge kiwisolver 1.3.1 py39h1a9c180_1 conda-forge krb5 1.17.2 h926e7f8_0 conda-forge lame 3.100 h14c3975_1001 conda-forge lammps 2020.10.29 py39h3fd9d12_4 lasergyro lcms2 2.12 hddcbb42_0 conda-forge ld_impl_linux-64 2.35.1 hea4e1c9_2 conda-forge libarchive 3.5.1 h3f442fb_1 conda-forge libblas 3.9.0 8_openblas conda-forge libcblas 3.9.0 8_openblas conda-forge libclang 11.1.0 default_ha53f305_0 conda-forge libcurl 7.75.0 hc4aaa36_0 conda-forge libedit 3.1.20191231 h14c3975_1 libev 4.33 h516909a_1 conda-forge libevent 2.1.10 hcdb4288_3 conda-forge libffi 3.3 he6710b0_2 libgcc-devel_linux-64 9.3.0 h7864c58_18 conda-forge libgcc-ng 9.3.0 h2828fa1_18 conda-forge libgd 2.3.0 h47910db_1 conda-forge libgfortran-ng 9.3.0 hff62375_18 conda-forge libgfortran5 9.3.0 hff62375_18 conda-forge libglib 2.68.0 h3e27bee_2 conda-forge libglu 9.0.0 he1b5a44_1001 conda-forge libgomp 9.3.0 h2828fa1_18 conda-forge libiconv 1.16 h516909a_0 conda-forge libidn2 2.3.0 h516909a_0 conda-forge liblapack 3.9.0 8_openblas conda-forge liblief 0.10.1 he1b5a44_2 conda-forge libllvm10 10.0.1 he513fc3_3 conda-forge libllvm11 11.1.0 hf817b99_0 conda-forge libmagic 5.39 hed695b0_0 conda-forge libnetcdf 4.7.4 nompi_h56d31a8_107 conda-forge libnghttp2 1.43.0 h812cca2_0 conda-forge libnl 3.5.0 h7f98852_0 conda-forge libogg 1.3.4 h7f98852_1 conda-forge libopenblas 0.3.12 pthreads_h4812303_1 conda-forge libpng 1.6.37 hed695b0_2 conda-forge libpq 13.1 hfd2b0eb_2 conda-forge librsvg 2.50.3 hfa39831_1 conda-forge libseccomp 2.4.4 h36c2ea0_0 conda-forge libsodium 1.0.18 h516909a_1 conda-forge libsolv 0.7.18 h780b84a_0 conda-forge libssh2 1.9.0 ha56f1ee_6 conda-forge libstdcxx-devel_linux-64 9.3.0 hb016644_18 conda-forge libstdcxx-ng 9.3.0 h6de172a_18 conda-forge libtheora 1.1.1 h516909a_1004 conda-forge libtiff 4.2.0 hdc55705_0 conda-forge libtool 2.4.6 h58526e2_1007 conda-forge libunistring 0.9.10 h14c3975_0 conda-forge libuuid 2.32.1 h14c3975_1000 conda-forge libuv 1.41.0 h7f98852_0 conda-forge libvorbis 1.3.7 he1b5a44_0 conda-forge libwebp 1.2.0 h3452ae3_0 conda-forge libwebp-base 1.2.0 h7f98852_2 conda-forge libxcb 1.13 h7f98852_1003 conda-forge libxkbcommon 1.0.3 he3ba5ed_0 conda-forge libxml2 2.9.10 h72842e0_3 conda-forge libxslt 1.1.33 h15afd5d_2 conda-forge line_profiler 3.1.0 py39h081fc7a_1 conda-forge llvm-openmp 11.1.0 h4bd325d_0 conda-forge llvmlite 0.36.0 py39h1bbdace_0 conda-forge locket 0.2.0 py_2 conda-forge loguru 0.5.3 py39hde42818_2 conda-forge lsof 4.89 0 conda-forge lz4-c 1.9.3 h9c3ff4c_0 conda-forge lzo 2.10 h516909a_1000 conda-forge mamba 0.9.1 py39h951de11_0 conda-forge markdown 3.3.4 pyhd8ed1ab_0 conda-forge markupsafe 1.1.1 py39h3811e60_3 conda-forge mathjax 2.7.7 0 conda-forge matplotlib 3.3.4 py39hf3d152e_0 conda-forge matplotlib-base 3.3.4 py39h2fa2bec_0 conda-forge mdanalysis 1.0.0 py39he80948d_2 conda-forge mesalib 18.3.1 h590aaf7_0 conda-forge meshio 4.3.8 pyhd8ed1ab_0 conda-forge mistune 0.8.4 py39h3811e60_1003 conda-forge mmtf-python 1.1.2 py_0 conda-forge monotonic 1.5 py_0 conda-forge mpc 1.1.0 h04dde30_1009 conda-forge mpfr 4.0.2 he80fd80_1 conda-forge mpi 1.0 openmpi conda-forge mpi4py 3.0.3 py39hc649577_5 conda-forge mpmath 1.2.1 pyhd8ed1ab_0 conda-forge msgpack-python 1.0.2 py39h1a9c180_1 conda-forge mypy 0.812 pyhd8ed1ab_0 conda-forge mypy_extensions 0.4.3 py39hf3d152e_3 conda-forge mysql-common 8.0.23 ha770c72_1 conda-forge mysql-libs 8.0.23 h935591d_1 conda-forge nbclassic 0.2.6 pyhd8ed1ab_0 conda-forge nbclient 0.5.3 pyhd8ed1ab_0 conda-forge nbconvert 6.0.7 py39hf3d152e_3 conda-forge nbformat 5.1.2 pyhd8ed1ab_1 conda-forge ncdu 1.15 he28a2e2_1 conda-forge nco 4.9.8 haf8d2da_0 conda-forge ncurses 6.2 he6710b0_1 nest-asyncio 1.4.3 pyhd8ed1ab_0 conda-forge netcdf-fortran 4.5.3 nompi_h1a0d97b_101 conda-forge netcdf4 1.5.6 nompi_py39h36800e2_100 conda-forge nettle 3.6 he412f7d_0 conda-forge networkx 2.5 py_0 conda-forge nodejs 15.12.0 h92b4a50_0 conda-forge notebook 6.3.0 py39hf3d152e_0 conda-forge nspr 4.30 h9c3ff4c_0 conda-forge nss 3.63 hb5efdd6_0 conda-forge numba 0.53.1 py39h4292f66_0 conda-forge numcodecs 0.7.3 py39he80948d_0 conda-forge numexpr 2.7.3 py39hde0f152_0 conda-forge numpy 1.20.1 py39hdbf815f_0 conda-forge olefile 0.46 pyh9f0ad1d_1 conda-forge oniguruma 6.9.3 h516909a_0 conda-forge openh264 2.1.1 h780b84a_0 conda-forge openjpeg 2.4.0 hf7af979_0 conda-forge openmpi 4.1.0 hbfc84c5_4 conda-forge openssh 8.5p1 h7271633_0 conda-forge openssl 1.1.1k h7f98852_0 conda-forge ospray_ovito 2.2.0 h6bb024c_1 https://conda.ovito.org ovito 3.4.3 py39h04863e7_0 https://conda.ovito.org packaging 20.9 pyh44b312d_0 conda-forge pandas 1.2.3 py39hde0f152_0 conda-forge pandoc 2.12 h7f98852_0 conda-forge pandocfilters 1.4.2 py_1 conda-forge panel 0.11.1 pyhd8ed1ab_0 conda-forge pango 1.42.4 h80147aa_5 conda-forge param 1.10.1 pyhd3deb0d_0 conda-forge parso 0.8.1 pyhd8ed1ab_0 conda-forge partd 1.1.0 py_0 conda-forge patch 2.7.6 h7f98852_1002 conda-forge patchelf 0.11 he1b5a44_0 conda-forge pathspec 0.8.1 pyhd3deb0d_0 conda-forge patsy 0.5.1 py_0 conda-forge pcre 8.44 he1b5a44_0 conda-forge periortree 0.0.1 py39_1 lasergyro perl 5.32.0 h36c2ea0_0 conda-forge pexpect 4.8.0 pyh9f0ad1d_2 conda-forge pickleshare 0.7.5 py39hde42818_1002 conda-forge pillow 8.1.2 py39hf95b381_0 conda-forge pip 21.0.1 pyhd8ed1ab_0 conda-forge pixman 0.40.0 h36c2ea0_0 conda-forge pkg-config 0.29.2 h516909a_1008 conda-forge pkginfo 1.7.0 pyhd8ed1ab_0 conda-forge plotly 4.14.3 pyh44b312d_0 conda-forge popt 1.16 h299ea2f_2002 conda-forge poyo 0.5.0 py_0 conda-forge proj 7.1.1 h966b41f_3 conda-forge prometheus_client 0.9.0 pyhd3deb0d_0 conda-forge prompt-toolkit 3.0.18 pyha770c72_0 conda-forge prompt_toolkit 3.0.18 hd8ed1ab_0 conda-forge psutil 5.8.0 py39h3811e60_1 conda-forge pthread-stubs 0.4 h36c2ea0_1001 conda-forge ptyprocess 0.7.0 pyhd3deb0d_0 conda-forge pugixml 1.11.4 h9c3ff4c_0 conda-forge py-lief 0.10.1 py39hfbd4741_2 conda-forge pyaml 20.4.0 pyh9f0ad1d_0 conda-forge pycosat 0.6.3 py39h27cfd23_0 pycparser 2.20 py_2 pyct 0.4.6 py_0 conda-forge pyct-core 0.4.6 py_0 conda-forge pyfftw 0.12.0 py39h6807881_2 conda-forge pygalmesh 0.9.4 py39h6758938_0 conda-forge pygments 2.8.1 pyhd8ed1ab_0 conda-forge pyntcloud 0.1.4 pyhd8ed1ab_0 conda-forge pyopenssl 20.0.0 pyhd3eb1b0_1 pyparsing 2.4.7 pyh9f0ad1d_0 conda-forge pyqt 5.12.3 py39hf3d152e_7 conda-forge pyqt-impl 5.12.3 py39h0fcd23e_7 conda-forge pyqt5-sip 4.19.18 py39he80948d_7 conda-forge pyqtchart 5.12 py39h0fcd23e_7 conda-forge pyqtwebengine 5.12.1 py39h0fcd23e_7 conda-forge pyrsistent 0.17.3 py39h3811e60_2 conda-forge pyside2 5.13.2 py39h363ec45_4 conda-forge pysocks 1.7.1 py39h06a4308_0 python 3.9.2 hffdb5ce_0_cpython conda-forge python-dateutil 2.8.1 py_0 conda-forge python-graphviz 0.16 pyh243d235_2 conda-forge python-kaleido 0.2.1 pyhd8ed1ab_0 conda-forge python-libarchive-c 2.9 py39hf3d152e_2 conda-forge python-slugify 4.0.1 pyh9f0ad1d_0 conda-forge python_abi 3.9 1_cp39 conda-forge pytz 2021.1 pyhd8ed1ab_0 conda-forge pyvista 0.29.0 pyhd8ed1ab_0 conda-forge pyviz_comms 2.0.1 pyhd3deb0d_0 conda-forge pyyaml 5.4.1 py39h3811e60_0 conda-forge pyzmq 22.0.3 py39h37b5a0c_1 conda-forge qt 5.12.9 hda022c4_4 conda-forge quaternion 2021.3.17.16.51.43 py39h3811e60_0 conda-forge readline 8.0 h7b6447c_0 regex 2021.3.17 py39h3811e60_0 conda-forge reproc 14.2.1 h36c2ea0_0 conda-forge reproc-cpp 14.2.1 h58526e2_0 conda-forge requests 2.25.0 pyhd3eb1b0_0 retrying 1.3.3 py_2 conda-forge rhash 1.4.1 h7f98852_0 conda-forge rich 9.13.0 py39hf3d152e_1 conda-forge ripgrep 12.1.1 h516909a_1 conda-forge rsync 3.2.3 h7593e3f_1 conda-forge ruamel.yaml 0.16.12 py39h3811e60_2 conda-forge ruamel.yaml.clib 0.2.2 py39h3811e60_2 conda-forge ruamel_yaml 0.15.80 py39h27cfd23_0 scikit-learn 0.24.1 py39h4dfa638_0 conda-forge scipy 1.6.1 py39hee8e79c_0 conda-forge scooby 0.5.6 pyh9f0ad1d_0 conda-forge seaborn 0.11.1 ha770c72_0 conda-forge seaborn-base 0.11.1 pyhd8ed1ab_1 conda-forge send2trash 1.5.0 py_0 conda-forge setuptools 51.0.0 py39h06a4308_2 singularity 3.7.1 hca90b9e_0 conda-forge six 1.15.0 py39h06a4308_0 sniffio 1.2.0 py39hf3d152e_1 conda-forge sortedcontainers 2.3.0 pyhd8ed1ab_0 conda-forge soupsieve 2.0.1 py_1 conda-forge sparse 0.12.0 pyhd8ed1ab_0 conda-forge sqlite 3.35.2 h74cdb3f_0 conda-forge squashfs-tools 4.4 hc541af0_1 conda-forge statsmodels 0.12.2 py39hce5d2b2_0 conda-forge sympy 1.7.1 py39hf3d152e_1 conda-forge sysroot_linux-64 2.12 h77966d4_13 conda-forge tbb 2020.2 h4bd325d_4 conda-forge tbb-devel 2020.2 h4bd325d_4 conda-forge tblib 1.7.0 pyhd8ed1ab_0 conda-forge tempest-remap 2.0.5 h1b20e2d_0 conda-forge terminado 0.9.3 py39hf3d152e_0 conda-forge testpath 0.4.4 py_0 conda-forge text-unidecode 1.3 py_0 conda-forge threadpoolctl 2.1.0 pyh5ca1d4c_0 conda-forge tk 8.6.10 hbc83047_0 tmux 3.1 ha1ba12b_0 conda-forge toml 0.10.2 pyhd8ed1ab_0 conda-forge toolz 0.11.1 py_0 conda-forge tornado 6.1 py39h3811e60_1 conda-forge tqdm 4.54.1 pyhd3eb1b0_0 traitlets 5.0.5 py_0 conda-forge traittypes 0.2.1 pyh9f0ad1d_2 conda-forge transforms3d 0.3.1 py_0 conda-forge typed-ast 1.4.2 py39h3811e60_0 conda-forge typing_extensions 3.7.4.3 py_0 conda-forge tzdata 2020d h14c3975_0 udunits2 2.2.27.27 h360fe7b_0 conda-forge unidecode 1.2.0 pyhd8ed1ab_0 conda-forge urllib3 1.25.11 py_0 utfcpp 3.1.2 0 conda-forge util-linux 2.36 py39h28948ff_1 conda-forge vim 8.2.2661 py39h424b07e_0 conda-forge virtualenv 20.4.3 py39hf3d152e_0 conda-forge vtk 9.0.1 no_osmesa_py39h8811244_104 conda-forge wcwidth 0.2.5 pyh9f0ad1d_2 conda-forge webencodings 0.5.1 py_1 conda-forge wget 1.20.1 h22169c7_0 conda-forge wheel 0.36.1 pyhd3eb1b0_0 whichcraft 0.6.1 py_0 conda-forge widgetsnbextension 3.5.1 py39hf3d152e_4 conda-forge wurlitzer 2.0.1 py39hf3d152e_1 conda-forge x264 1!161.3030 h7f98852_0 conda-forge xarray 0.17.0 pyhd8ed1ab_0 conda-forge xlrd 2.0.1 pyhd8ed1ab_3 conda-forge xorg-kbproto 1.0.7 h14c3975_1002 conda-forge xorg-libice 1.0.10 h516909a_0 conda-forge xorg-libsm 1.2.3 hd9c2040_1000 conda-forge xorg-libx11 1.7.0 h36c2ea0_0 conda-forge xorg-libxau 1.0.9 h14c3975_0 conda-forge xorg-libxdmcp 1.1.3 h516909a_0 conda-forge xorg-libxext 1.3.4 h7f98852_1 conda-forge xorg-libxrender 0.9.10 h7f98852_1003 conda-forge xorg-libxt 1.2.1 h7f98852_2 conda-forge xorg-renderproto 0.11.1 h14c3975_1002 conda-forge xorg-xextproto 7.3.0 h14c3975_1002 conda-forge xorg-xproto 7.0.31 h14c3975_1007 conda-forge xxhash 0.8.0 h7f98852_3 conda-forge xz 5.2.5 h7b6447c_0 yaml 0.2.5 h7b6447c_0 zarr 2.7.0 pyhd8ed1ab_0 conda-forge zeromq 4.3.4 h9c3ff4c_0 conda-forge zict 2.0.0 py_0 conda-forge zipp 3.4.1 pyhd8ed1ab_0 conda-forge zlib 1.2.11 h7b6447c_3 zstd 1.4.9 ha95c52a_0 conda-forge conda env: name: base channels: - https://conda.ovito.org - local - lasergyro - conda-forge - defaults dependencies: - _libgcc_mutex=0.1=conda_forge - _openmp_mutex=4.5=1_llvm - anaconda-client=1.7.2+14.g4a6f45d=py39_0 - anyio=2.2.0=py39hf3d152e_0 - appdirs=1.4.4=pyh9f0ad1d_0 - argon2-cffi=20.1.0=py39hbd71b63_2 - arrow=1.0.3=py39hf3d152e_0 - asciitree=0.3.3=py_2 - async_generator=1.10=py_0 - atk-1.0=2.36.0=h3371d22_4 - attrs=20.3.0=pyhd3deb0d_0 - babel=2.9.0=pyhd3deb0d_0 - backcall=0.2.0=pyh9f0ad1d_0 - backports=1.0=py_2 - backports.functools_lru_cache=1.6.1=py_0 - beautifulsoup4=4.9.3=pyhb0f4dca_0 - binaryornot=0.4.4=py_1 - binutils_impl_linux-64=2.35.1=h193b22a_2 - binutils_linux-64=2.35=h67ddf6f_30 - biopython=1.78=py39h3811e60_2 - black=20.8b1=py_1 - bleach=3.3.0=pyh44b312d_0 - boa=0.4.2=py39hf3d152e_0 - bokeh=2.3.0=py39hf3d152e_0 - boost=1.72.0=py39ha90915f_1 - boost-cpp=1.72.0=h9d3c048_4 - brotlipy=0.7.0=py39h27cfd23_1003 - bzip2=1.0.8=h7f98852_4 - c-ares=1.17.1=h7f98852_1 - ca-certificates=2020.12.5=ha878542_0 - cached-property=1.5.2=hd8ed1ab_1 - cached_property=1.5.2=pyha770c72_1 - cairo=1.16.0=h6cf1ce9_1008 - certifi=2020.12.5=py39hf3d152e_1 - cffi=1.14.4=py39h261ae71_0 - cftime=1.4.1=py39hce5d2b2_0 - cgal=5.0.1=py39hd56b5f2_2 - cgal-cpp=5.0.1=h747953b_1 - chardet=3.0.4=py39h06a4308_1003 - click=7.1.2=pyh9f0ad1d_0 - cloudpickle=1.6.0=py_0 - clyent=1.2.2=py_1 - cmake=3.19.6=h3020d66_0 - cni=0.8.0=hc0beb16_0 - cni-plugins=0.9.1=ha8f183a_0 - colorama=0.4.4=pyh9f0ad1d_0 - colorcet=2.0.6=pyhd8ed1ab_0 - commonmark=0.9.1=py_0 - conda=4.9.2=py39hf3d152e_0 - conda-build=3.21.4=py39hf3d152e_0 - conda-package-handling=1.7.2=py39h27cfd23_1 - conda-tree=0.1.0=py_0 - conda-verify=3.1.1=py39hf3d152e_1003 - cookiecutter=1.7.2=pyh9f0ad1d_0 - cppyy=1.9.3=py39ha3ed2ce_1 - cppyy-backend=1.14.2=py39h1a9c180_0 - cppyy-cling=6.21.5=py39h0f9e12e_0 - cpycppyy=1.12.2=py39h1a9c180_0 - cryptography=3.3.1=py39h3c74f83_0 - curl=7.75.0=h979ede3_0 - cycler=0.10.0=py_2 - cython=0.29.22=py39he80948d_0 - cytoolz=0.11.0=py39h3811e60_3 - dask=2021.3.1=pyhd8ed1ab_0 - dask-core=2021.3.1=pyhd8ed1ab_0 - dataclasses=0.8=pyhc8e2a94_1 - dbus=1.13.6=hfdff14a_1 - decorator=4.4.2=py_0 - defusedxml=0.7.1=pyhd8ed1ab_0 - distlib=0.3.1=pyh9f0ad1d_0 - distributed=2021.3.1=py39hf3d152e_0 - double-conversion=3.1.5=he1b5a44_2 - e2fsprogs=1.46.2=h7f98852_0 - e2fsprogs-libs=1.46.2=h7f98852_0 - eigen=3.3.9=h4bd325d_1 - entrypoints=0.3=py39hde42818_1002 - esmf=8.1.0=nompi_hed08645_0 - expat=2.2.10=h9c3ff4c_0 - fasteners=0.14.1=py_3 - ffmpeg=4.3.1=hca11adc_2 - fftw=3.3.9=nompi_hcdd671c_101 - file=5.39=hed695b0_0 - filelock=3.0.12=pyh9f0ad1d_0 - font-ttf-dejavu-sans-mono=2.37=hab24e00_0 - font-ttf-inconsolata=2.001=hab24e00_0 - font-ttf-source-code-pro=2.030=hab24e00_0 - font-ttf-ubuntu=0.83=hab24e00_0 - fontconfig=2.13.1=hba837de_1004 - fonts-conda-ecosystem=1=0 - fonts-conda-forge=1=0 - freetype=2.10.4=h0708190_1 - fribidi=1.0.10=h516909a_0 - fsspec=0.8.7=pyhd8ed1ab_0 - future=0.18.2=py39hf3d152e_3 - gcc_impl_linux-64=9.3.0=h70c0ae5_18 - gcc_linux-64=9.3.0=hf25ea35_30 - gdk-pixbuf=2.42.4=h04a7f16_2 - gettext=0.19.8.1=h0b5b191_1005 - ghostscript=9.53.3=h58526e2_2 - giflib=5.2.1=h516909a_2 - git=2.30.2=pl5320h6697202_0 - gl2ps=1.4.2=he06d7ca_0 - glew=2.1.0=h9c3ff4c_2 - glib=2.68.0=h9c3ff4c_2 - glib-tools=2.68.0=h9c3ff4c_2 - glob2=0.7=py_0 - gmp=6.2.1=h58526e2_0 - gmpy2=2.1.0b1=py39hf9ed83c_1 - gnutls=3.6.13=h85f3911_1 - graphite2=1.3.13=he1b5a44_1001 - graphviz=2.47.0=h93c640b_0 - griddataformats=0.5.0=py_0 - gsd=2.4.1=py39hce5d2b2_0 - gsl=2.6=he838d99_2 - gst-plugins-base=1.18.4=h29181c9_0 - gstreamer=1.18.4=h76c114f_0 - gtk2=2.24.33=hab0c2f8_0 - gts=0.7.6=h64030ff_2 - gxx_impl_linux-64=9.3.0=hd87eabc_18 - gxx_linux-64=9.3.0=h3fbe746_30 - h5netcdf=0.10.0=pyhd8ed1ab_0 - h5py=3.1.0=nompi_py39h25020de_100 - harfbuzz=2.8.0=h83ec7ef_1 - hdf4=4.2.13=h10796ff_1004 - hdf5=1.10.6=nompi_h6a2412b_1114 - heapdict=1.0.1=py_0 - holoviews=1.14.2=pyhd8ed1ab_0 - htop=3.0.5=h46c0cb4_0 - icu=68.1=h58526e2_0 - idna=2.10=py_0 - imageio=2.9.0=py_0 - imagemagick=7.0.11_4=pl5320hb503478_0 - importlib-metadata=3.7.3=py39hf3d152e_0 - importlib_metadata=3.7.3=hd8ed1ab_0 - inotify_simple=1.3.5=py39hf3d152e_1 - ipydatawidgets=4.2.0=pyhd3deb0d_0 - ipykernel=5.5.0=py39hef51801_1 - ipython=7.22.0=py39hef51801_0 - ipython_genutils=0.2.0=py_1 - ipywidgets=7.6.3=pyhd3deb0d_0 - jbig=2.1=h516909a_2002 - jedi=0.18.0=py39hf3d152e_2 - jinja2=2.11.3=pyh44b312d_0 - jinja2-time=0.2.0=py_2 - joblib=1.0.1=pyhd8ed1ab_0 - jpeg=9d=h516909a_0 - jq=1.6=h36c2ea0_1000 - json5=0.9.5=pyh9f0ad1d_0 - jsoncpp=1.9.4=h4bd325d_1 - jsonschema=3.2.0=pyhd8ed1ab_3 - jupyter-packaging=0.7.12=pyhd8ed1ab_0 - jupyter_client=6.1.12=pyhd8ed1ab_0 - jupyter_core=4.7.1=py39hf3d152e_0 - jupyter_server=1.5.1=py39hf3d152e_0 - jupyterlab=3.0.12=pyhd8ed1ab_0 - jupyterlab_execute_time=2.0.2=pyhd8ed1ab_0 - jupyterlab_pygments=0.1.2=pyh9f0ad1d_0 - jupyterlab_server=2.3.0=pyhd8ed1ab_0 - jupyterlab_widgets=1.0.0=pyhd8ed1ab_1 - kaleido-core=0.2.1=h3644ca4_0 - kernel-headers_linux-64=2.6.32=h77966d4_13 - kiwisolver=1.3.1=py39h1a9c180_1 - krb5=1.17.2=h926e7f8_0 - lame=3.100=h14c3975_1001 - lammps=2020.10.29=py39h3fd9d12_4 - lcms2=2.12=hddcbb42_0 - ld_impl_linux-64=2.35.1=hea4e1c9_2 - libarchive=3.5.1=h3f442fb_1 - libblas=3.9.0=8_openblas - libcblas=3.9.0=8_openblas - libclang=11.1.0=default_ha53f305_0 - libcurl=7.75.0=hc4aaa36_0 - libedit=3.1.20191231=h14c3975_1 - libev=4.33=h516909a_1 - libevent=2.1.10=hcdb4288_3 - libffi=3.3=he6710b0_2 - libgcc-devel_linux-64=9.3.0=h7864c58_18 - libgcc-ng=9.3.0=h2828fa1_18 - libgd=2.3.0=h47910db_1 - libgfortran-ng=9.3.0=hff62375_18 - libgfortran5=9.3.0=hff62375_18 - libglib=2.68.0=h3e27bee_2 - libglu=9.0.0=he1b5a44_1001 - libgomp=9.3.0=h2828fa1_18 - libiconv=1.16=h516909a_0 - libidn2=2.3.0=h516909a_0 - liblapack=3.9.0=8_openblas - liblief=0.10.1=he1b5a44_2 - libllvm10=10.0.1=he513fc3_3 - libllvm11=11.1.0=hf817b99_0 - libmagic=5.39=hed695b0_0 - libnetcdf=4.7.4=nompi_h56d31a8_107 - libnghttp2=1.43.0=h812cca2_0 - libnl=3.5.0=h7f98852_0 - libogg=1.3.4=h7f98852_1 - libopenblas=0.3.12=pthreads_h4812303_1 - libpng=1.6.37=hed695b0_2 - libpq=13.1=hfd2b0eb_2 - librsvg=2.50.3=hfa39831_1 - libseccomp=2.4.4=h36c2ea0_0 - libsodium=1.0.18=h516909a_1 - libsolv=0.7.18=h780b84a_0 - libssh2=1.9.0=ha56f1ee_6 - libstdcxx-devel_linux-64=9.3.0=hb016644_18 - libstdcxx-ng=9.3.0=h6de172a_18 - libtheora=1.1.1=h516909a_1004 - libtiff=4.2.0=hdc55705_0 - libtool=2.4.6=h58526e2_1007 - libunistring=0.9.10=h14c3975_0 - libuuid=2.32.1=h14c3975_1000 - libuv=1.41.0=h7f98852_0 - libvorbis=1.3.7=he1b5a44_0 - libwebp=1.2.0=h3452ae3_0 - libwebp-base=1.2.0=h7f98852_2 - libxcb=1.13=h7f98852_1003 - libxkbcommon=1.0.3=he3ba5ed_0 - libxml2=2.9.10=h72842e0_3 - libxslt=1.1.33=h15afd5d_2 - line_profiler=3.1.0=py39h081fc7a_1 - llvm-openmp=11.1.0=h4bd325d_0 - llvmlite=0.36.0=py39h1bbdace_0 - locket=0.2.0=py_2 - loguru=0.5.3=py39hde42818_2 - lsof=4.89=0 - lz4-c=1.9.3=h9c3ff4c_0 - lzo=2.10=h516909a_1000 - mamba=0.9.1=py39h951de11_0 - markdown=3.3.4=pyhd8ed1ab_0 - markupsafe=1.1.1=py39h3811e60_3 - mathjax=2.7.7=0 - matplotlib=3.3.4=py39hf3d152e_0 - matplotlib-base=3.3.4=py39h2fa2bec_0 - mdanalysis=1.0.0=py39he80948d_2 - mesalib=18.3.1=h590aaf7_0 - meshio=4.3.8=pyhd8ed1ab_0 - mistune=0.8.4=py39h3811e60_1003 - mmtf-python=1.1.2=py_0 - monotonic=1.5=py_0 - mpc=1.1.0=h04dde30_1009 - mpfr=4.0.2=he80fd80_1 - mpi=1.0=openmpi - mpi4py=3.0.3=py39hc649577_5 - mpmath=1.2.1=pyhd8ed1ab_0 - msgpack-python=1.0.2=py39h1a9c180_1 - mypy=0.812=pyhd8ed1ab_0 - mypy_extensions=0.4.3=py39hf3d152e_3 - mysql-common=8.0.23=ha770c72_1 - mysql-libs=8.0.23=h935591d_1 - nbclassic=0.2.6=pyhd8ed1ab_0 - nbclient=0.5.3=pyhd8ed1ab_0 - nbconvert=6.0.7=py39hf3d152e_3 - nbformat=5.1.2=pyhd8ed1ab_1 - ncdu=1.15=he28a2e2_1 - nco=4.9.8=haf8d2da_0 - ncurses=6.2=he6710b0_1 - nest-asyncio=1.4.3=pyhd8ed1ab_0 - netcdf-fortran=4.5.3=nompi_h1a0d97b_101 - netcdf4=1.5.6=nompi_py39h36800e2_100 - nettle=3.6=he412f7d_0 - networkx=2.5=py_0 - nodejs=15.12.0=h92b4a50_0 - notebook=6.3.0=py39hf3d152e_0 - nspr=4.30=h9c3ff4c_0 - nss=3.63=hb5efdd6_0 - numba=0.53.1=py39h4292f66_0 - numcodecs=0.7.3=py39he80948d_0 - numexpr=2.7.3=py39hde0f152_0 - numpy=1.20.1=py39hdbf815f_0 - olefile=0.46=pyh9f0ad1d_1 - oniguruma=6.9.3=h516909a_0 - openh264=2.1.1=h780b84a_0 - openjpeg=2.4.0=hf7af979_0 - openmpi=4.1.0=hbfc84c5_4 - openssh=8.5p1=h7271633_0 - openssl=1.1.1k=h7f98852_0 - ospray_ovito=2.2.0=h6bb024c_1 - ovito=3.4.3=py39h04863e7_0 - packaging=20.9=pyh44b312d_0 - pandas=1.2.3=py39hde0f152_0 - pandoc=2.12=h7f98852_0 - pandocfilters=1.4.2=py_1 - panel=0.11.1=pyhd8ed1ab_0 - pango=1.42.4=h80147aa_5 - param=1.10.1=pyhd3deb0d_0 - parso=0.8.1=pyhd8ed1ab_0 - partd=1.1.0=py_0 - patch=2.7.6=h7f98852_1002 - patchelf=0.11=he1b5a44_0 - pathspec=0.8.1=pyhd3deb0d_0 - patsy=0.5.1=py_0 - pcre=8.44=he1b5a44_0 - periortree=0.0.1=py39_1 - perl=5.32.0=h36c2ea0_0 - pexpect=4.8.0=pyh9f0ad1d_2 - pickleshare=0.7.5=py39hde42818_1002 - pillow=8.1.2=py39hf95b381_0 - pip=21.0.1=pyhd8ed1ab_0 - pixman=0.40.0=h36c2ea0_0 - pkg-config=0.29.2=h516909a_1008 - pkginfo=1.7.0=pyhd8ed1ab_0 - plotly=4.14.3=pyh44b312d_0 - popt=1.16=h299ea2f_2002 - poyo=0.5.0=py_0 - proj=7.1.1=h966b41f_3 - prometheus_client=0.9.0=pyhd3deb0d_0 - prompt-toolkit=3.0.18=pyha770c72_0 - prompt_toolkit=3.0.18=hd8ed1ab_0 - psutil=5.8.0=py39h3811e60_1 - pthread-stubs=0.4=h36c2ea0_1001 - ptyprocess=0.7.0=pyhd3deb0d_0 - pugixml=1.11.4=h9c3ff4c_0 - py-lief=0.10.1=py39hfbd4741_2 - pyaml=20.4.0=pyh9f0ad1d_0 - pycosat=0.6.3=py39h27cfd23_0 - pycparser=2.20=py_2 - pyct=0.4.6=py_0 - pyct-core=0.4.6=py_0 - pyfftw=0.12.0=py39h6807881_2 - pygalmesh=0.9.4=py39h6758938_0 - pygments=2.8.1=pyhd8ed1ab_0 - pyntcloud=0.1.4=pyhd8ed1ab_0 - pyopenssl=20.0.0=pyhd3eb1b0_1 - pyparsing=2.4.7=pyh9f0ad1d_0 - pyqt=5.12.3=py39hf3d152e_7 - pyqt-impl=5.12.3=py39h0fcd23e_7 - pyqt5-sip=4.19.18=py39he80948d_7 - pyqtchart=5.12=py39h0fcd23e_7 - pyqtwebengine=5.12.1=py39h0fcd23e_7 - pyrsistent=0.17.3=py39h3811e60_2 - pyside2=5.13.2=py39h363ec45_4 - pysocks=1.7.1=py39h06a4308_0 - python=3.9.2=hffdb5ce_0_cpython - python-dateutil=2.8.1=py_0 - python-graphviz=0.16=pyh243d235_2 - python-kaleido=0.2.1=pyhd8ed1ab_0 - python-libarchive-c=2.9=py39hf3d152e_2 - python-slugify=4.0.1=pyh9f0ad1d_0 - python_abi=3.9=1_cp39 - pytz=2021.1=pyhd8ed1ab_0 - pyvista=0.29.0=pyhd8ed1ab_0 - pyviz_comms=2.0.1=pyhd3deb0d_0 - pyyaml=5.4.1=py39h3811e60_0 - pyzmq=22.0.3=py39h37b5a0c_1 - qt=5.12.9=hda022c4_4 - quaternion=2021.3.17.16.51.43=py39h3811e60_0 - readline=8.0=h7b6447c_0 - regex=2021.3.17=py39h3811e60_0 - reproc=14.2.1=h36c2ea0_0 - reproc-cpp=14.2.1=h58526e2_0 - requests=2.25.0=pyhd3eb1b0_0 - retrying=1.3.3=py_2 - rhash=1.4.1=h7f98852_0 - rich=9.13.0=py39hf3d152e_1 - ripgrep=12.1.1=h516909a_1 - rsync=3.2.3=h7593e3f_1 - ruamel.yaml=0.16.12=py39h3811e60_2 - ruamel.yaml.clib=0.2.2=py39h3811e60_2 - ruamel_yaml=0.15.80=py39h27cfd23_0 - scikit-learn=0.24.1=py39h4dfa638_0 - scipy=1.6.1=py39hee8e79c_0 - scooby=0.5.6=pyh9f0ad1d_0 - seaborn=0.11.1=ha770c72_0 - seaborn-base=0.11.1=pyhd8ed1ab_1 - send2trash=1.5.0=py_0 - setuptools=51.0.0=py39h06a4308_2 - singularity=3.7.1=hca90b9e_0 - six=1.15.0=py39h06a4308_0 - sniffio=1.2.0=py39hf3d152e_1 - sortedcontainers=2.3.0=pyhd8ed1ab_0 - soupsieve=2.0.1=py_1 - sparse=0.12.0=pyhd8ed1ab_0 - sqlite=3.35.2=h74cdb3f_0 - squashfs-tools=4.4=hc541af0_1 - statsmodels=0.12.2=py39hce5d2b2_0 - sympy=1.7.1=py39hf3d152e_1 - sysroot_linux-64=2.12=h77966d4_13 - tbb=2020.2=h4bd325d_4 - tbb-devel=2020.2=h4bd325d_4 - tblib=1.7.0=pyhd8ed1ab_0 - tempest-remap=2.0.5=h1b20e2d_0 - terminado=0.9.3=py39hf3d152e_0 - testpath=0.4.4=py_0 - text-unidecode=1.3=py_0 - threadpoolctl=2.1.0=pyh5ca1d4c_0 - tk=8.6.10=hbc83047_0 - tmux=3.1=ha1ba12b_0 - toml=0.10.2=pyhd8ed1ab_0 - toolz=0.11.1=py_0 - tornado=6.1=py39h3811e60_1 - tqdm=4.54.1=pyhd3eb1b0_0 - traitlets=5.0.5=py_0 - traittypes=0.2.1=pyh9f0ad1d_2 - transforms3d=0.3.1=py_0 - typed-ast=1.4.2=py39h3811e60_0 - typing_extensions=3.7.4.3=py_0 - tzdata=2020d=h14c3975_0 - udunits2=2.2.27.27=h360fe7b_0 - unidecode=1.2.0=pyhd8ed1ab_0 - urllib3=1.25.11=py_0 - utfcpp=3.1.2=0 - util-linux=2.36=py39h28948ff_1 - vim=8.2.2661=py39h424b07e_0 - virtualenv=20.4.3=py39hf3d152e_0 - vtk=9.0.1=no_osmesa_py39h8811244_104 - wcwidth=0.2.5=pyh9f0ad1d_2 - webencodings=0.5.1=py_1 - wget=1.20.1=h22169c7_0 - wheel=0.36.1=pyhd3eb1b0_0 - whichcraft=0.6.1=py_0 - widgetsnbextension=3.5.1=py39hf3d152e_4 - wurlitzer=2.0.1=py39hf3d152e_1 - x264=1!161.3030=h7f98852_0 - xarray=0.17.0=pyhd8ed1ab_0 - xlrd=2.0.1=pyhd8ed1ab_3 - xorg-kbproto=1.0.7=h14c3975_1002 - xorg-libice=1.0.10=h516909a_0 - xorg-libsm=1.2.3=hd9c2040_1000 - xorg-libx11=1.7.0=h36c2ea0_0 - xorg-libxau=1.0.9=h14c3975_0 - xorg-libxdmcp=1.1.3=h516909a_0 - xorg-libxext=1.3.4=h7f98852_1 - xorg-libxrender=0.9.10=h7f98852_1003 - xorg-libxt=1.2.1=h7f98852_2 - xorg-renderproto=0.11.1=h14c3975_1002 - xorg-xextproto=7.3.0=h14c3975_1002 - xorg-xproto=7.0.31=h14c3975_1007 - xxhash=0.8.0=h7f98852_3 - xz=5.2.5=h7b6447c_0 - yaml=0.2.5=h7b6447c_0 - zarr=2.7.0=pyhd8ed1ab_0 - zeromq=4.3.4=h9c3ff4c_0 - zict=2.0.0=py_0 - zipp=3.4.1=pyhd8ed1ab_0 - zlib=1.2.11=h7b6447c_3 - zstd=1.4.9=ha95c52a_0 prefix: $HOME/miniconda3 ```
Command Line Output No errors reported.
Browser Output ``` Uncaught (in promise) DOMException: String contains an invalid character jlab_core.2dc148be3bf2729e0225.js:2 _render http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 d http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 (Async: promise callback) d http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 createNewWidget http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 createNew http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 createWidget http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 _createOrOpenDocument http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 open http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 openOrReveal http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 _handleOpen http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 _evtDblClick http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 handleEvent http://localhost:3721/static/lab/jlab_core.2dc148be3bf2729e0225.js?v=2dc148be3bf2729e0225:2 ```
jasongrout commented 3 years ago

This may be related to apparently a common issue in base64-encoding of unicode text: https://developer.mozilla.org.cach3.com/Web/API/WindowBase64/Base64_encoding_and_decoding#The_Unicode_Problem

Perhaps we should use a blob instead of base64-encoding the svg?

I see the error coming from this line when opening the svg by itself using the image viewer: https://github.com/jupyterlab/jupyterlab/blob/b4db7f03d2ad0b91a9c8c252c56ae5e4a9408fbb/packages/imageviewer/src/widget.ts#L183

jasongrout commented 3 years ago

This PR fixes the rendering for me: https://github.com/jupyterlab/jupyterlab/pull/10029