Git Product home page Git Product logo

jupyter-archive's People

Contributors

aidy1991 avatar albertmichaelj avatar dependabot[bot] avatar eastonsuo avatar fcollonval avatar hadim avatar jmlao8 avatar kawaidev avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

jupyter-archive's Issues

Memory leak on very large tree

On large trees (>400,000 files and > 30GB), if you execute the extension, the download starts after a few seconds (which is good), but if you cancel it, no error message appears but the RAM memory starts increasing very quickly.

It only stops after stopping the Jupyter server.

I feel like many await self.flush() calls are still in memory but have not been canceled by the extension.

At the moment, I didn't figure out how to fix this.

Create conda recipe

@hadim I would like to create a conda recipe on conda-forge. Is it ok for you? Do you want to be added as maintainer?

FYI - recipe template

{% set name = "jupyter-archive" %}
{% set version = "0.5.1" %}

package:
  name: {{ name|lower }}
  version: {{ version }}

source:
  url: https://pypi.io/packages/source/{{ name[0] }}/{{ name }}/{{ name }}-{{ version }}.tar.gz
  sha256: c578affa23afcfebb1b2a7956db46f48dc6477cf804f8af8a1be638ffa039ac9
  
build:
  noarch: python
  number: 0
  script: "{{ PYTHON }} -m pip install . -vv --no-deps"


requirements:
  host:
    - python >=3.5
    - pip
  build:
    - nodejs
  run:
    - python >=3.5
    - jupyterlab >=1
test:
  imports:
    - jupyter_archive

about:
  home: https://github.com/hadim/jupyter-archive
  summary: Make, download and extract archive files in Jupyter.
  description: Make, download and extract archive files in Jupyter.
  license: BSD 3-Clause
  license_family: BSD
  license_file: LICENSE

extra:
  recipe-maintainers:
    - hadim
    - fcollonval

Issue with labextension

When I install 0.5.4 from conda, I have an error related to settings when loading the JLab interface.

I also tried uninstalling the lab extension and installing manually with jupyter labextension uninstall @hadim/jupyter-archive but I still have the same error:

image

JupyterLab extension jupyter-archive is activated!
lab/api/settings/@hadim/jupyter-archive:archive?1574261408927:1 Failed to load resource: the server responded with a status of 404 (Not Found)
index.js:170 Error: Invalid response: 404 Not Found
    at SettingManager.fetch (index.js:41)
    at async SettingRegistry.reload (settingregistry.js:235)
(anonymous) @ index.js:170
dialog.js:32 Showing error: Error: Invalid response: 404 Not Found
    at SettingManager.fetch (index.js:41)
    at async SettingRegistry.reload (settingregistry.js:235)

Consider streaming

Hiya, I also wrote an archiver though I see this one may get integrated into jupyter_server. Please consider supporting streaming the download which is critical for large archives. Otherwise the server may time out waiting for the archive to build.

Memory leak when archive large files and network is slow at the same time

Description

  • memory go up when archiving big file

Reproduce

  1. when archive and download a big floder using jupyter_archive
  2. and the network is slower than the speed of archive
  3. the memory will go up and there is no limit !!!

solution

  • I think it is because the is no limit on the buffer
  • both _write_buffer of RequstHandler, as well as _write_buffer of IOStream, which is base of tornado framework, should be limited
  • limit the buffer can solve this issue, and I will do a pull request

Throws 404 when trying to download

Hi there,

Got myself a clean install of Jupyterlab ready to go, working all fine. I need a way to download folders as an archive, so installed this extension. However, when I click "Download as an Archive", it just throws me a 404:

404 GET /user/amuseic/directories/Notebooks/Nolen?archiveToken=sx3k30n763h6n5dy564c&archiveFormat=zip&followSymlinks=true&downloadHidden=false&_xsrf=2%7Cdf7fc5ba%7Cde6993628513bdb312f77d0

I've changed the host, since I'm running this on a VM that I don't work on, so host is local ip using a reversed proxy with Nginx to a DNS service. Is that why it might not work, and how might I fix that?

Kind regards,
Remy

Filename decoding issue for zip files archived by macOS

Description

just the same as weichsel/ZIPFoundation#63
python zipfile lib using flag to determind the encoding of the file https://github.com/python/cpython/blob/main/Lib/zipfile.py#L1384 but osx compress won't set that
so we may need to guess the encoding for zip

Reproduce

  1. Go to '...'
  2. Click on '...'
  3. Scroll down to '...'
  4. See error '...'

Expected behavior

Context

  • Python package version:
  • Extension version:
  • Operating System and its version:
  • Browser and its version:
Command Line Output
Paste the output from your command line running `jupyter lab` here, use `--debug` if possible.
Web Browser Output
Paste the output from your browser web console here.

Allow to contain `.` in extraction file name

Is your feature request related to a problem? Please describe.

I have a suggestion for improvement regarding the extract function of jupyter_archive.
Currently, extract fails if the target file name contains . in the target filename.
I think this is because the file extension retrieved by suffixes() is compared with the white list.
To allow file names to contain . in the filename, jupyter-archive will be more useful, I think.

Describe the solution you'd like

How about checking the extension white list for backward matching?
For example, if we have a file named hoge.old.tar.gz, it will backward match tar.gz, so we can run extraction.

Describe alternatives you've considered

Additional context

  • Python package version:
  • Extension version:
  • Operating System and its version:

Installing jupyter-archive breaks right click context menu in Jupyterlab 4

Description

After installing jupyter-archive, if I right click on items in the Jupyter Lab file browser the context menu doesn't appear as expected. In the Javascript console the following error is reported: TypeError: Path must be a string. Received undefined.

Initially reported here: jupyterlab/jupyterlab/issues/14948

Context

  • Operating System and version: Pop!_OS 22.04 LTS
  • Browser and version: Firefox 116.0 (64-bit)
  • JupyterLab version: 4.0.4

Download stops in 'New Tab'

When I try to download a directory as zip archive:
图片
("打包下载" means "Download as an archive)

The process will stop in a blank tab page, and I can't receive any file.

My version of jupyterlab is 3.4.4 and version of jupyter-archive is 3.3.1.

Not able to download files

When I try to download a folder which is above 10-15MB, it will start to download and after a few seconds download will fail saying Network Error. Not sure what is the issue, is there a cap on the size of zip file download?

PS. Jupyter notebooks are hosted on Kubernetes.

Better non blocking

The current version uses async features and indeed, downloading is done on-the-fly.

But since the code is running in the main thread and is very resource-intensive, JLab UI often blocks. The easiest example is trying to navigate in folders during a download of an archive.

A solution would be to run archive_and_download() in another thread using ioloop.IOLoop.current().run_in_executor. But this is not compatible with the call self.flush inside archive_and_download() to send the data over the network. So far I haven't found a good solution.

Any ideas are welcome.

pip install yields errors

Building wheels for collected packages: jupyter-archive
  Building wheel for jupyter-archive (setup.py): started
  Building wheel for jupyter-archive (setup.py): finished with status 'error'
  ERROR: Command errored out with exit status 1:
   command: /opt/conda/bin/python3.7 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-bjc365l5/jupyter-archive/setup.py'"'"'; __file__='"'"'/tmp/pip-install-bjc365l5/jupyter-archive/
setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-aqm8i
2yt
       cwd: /tmp/pip-install-bjc365l5/jupyter-archive/
  Complete output (69 lines):
  running bdist_wheel
  running jsdeps
  Installing build dependencies with npm.  This may take a while...
  > npm install
  npm WARN deprecated [email protected]: You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1
  npm WARN lifecycle @hadim/[email protected]~prepare: cannot run in wd @hadim/[email protected] yarn run clean && yarn run build (wd=/tmp/pip-install-bjc365l5/jupyter-archive)
  npm notice created a lockfile as package-lock.json. You should commit this file.
  npm WARN @lumino/[email protected] requires a peer of [email protected] but none is installed. You must install peer dependencies yourself.

  added 150 packages from 1016 contributors and audited 150 packages in 10.607s

  19 packages are looking for funding
    run `npm fund` for details

  found 0 vulnerabilities

  > npm run build:all

  > @hadim/[email protected] build:all /tmp/pip-install-bjc365l5/jupyter-archive
  > yarn run build:labextension

  yarn run v1.22.4
  $ cd jupyter_archive && rimraf labextension && mkdirp labextension && cd labextension && npm pack ../..
  npm WARN lifecycle @hadim/[email protected]~prepare: cannot run in wd @hadim/[email protected] yarn run clean && yarn run build (wd=/tmp/pip-install-bjc365l5/jupyter-archive)
  npm notice
  npm notice 📦  @hadim/[email protected]
  npm notice === Tarball Contents ===
  npm notice 1.5kB LICENSE
  npm notice 0     style/index.css
  npm notice 1.1kB schema/archive.json
  npm notice 1.9kB package.json
  npm notice 2.8kB README.md
  npm notice === Tarball Details ===
  npm notice name:          @hadim/jupyter-archive
  npm notice version:       0.7.0
  npm notice filename:      hadim-jupyter-archive-0.7.0.tgz
  npm notice package size:  3.1 kB
  npm notice unpacked size: 7.2 kB
  npm notice shasum:        208a93becb2ecbc8754dad19bac28b378d891d5e
  npm notice integrity:     sha512-sFk9DKVARdD6a[...]ha6Ye8y9Iewzw==
  npm notice total files:   5
  npm notice
  hadim-jupyter-archive-0.7.0.tgz
  Done in 13.37s.
  Traceback (most recent call last):
    File "<string>", line 1, in <module>
    File "/tmp/pip-install-bjc365l5/jupyter-archive/setup.py", line 67, in <module>
      extras_require={"test": ["jupyterlab", "pytest"]},
    File "/opt/conda/lib/python3.7/site-packages/setuptools/__init__.py", line 144, in setup
      return distutils.core.setup(**attrs)
    File "/opt/conda/lib/python3.7/distutils/core.py", line 148, in setup
      dist.run_commands()
    File "/opt/conda/lib/python3.7/distutils/dist.py", line 966, in run_commands
      self.run_command(cmd)
    File "/opt/conda/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-bjc365l5/jupyter-archive/setupbase.py", line 465, in run
      [self.run_command(cmd) for cmd in cmds]
    File "/tmp/pip-install-bjc365l5/jupyter-archive/setupbase.py", line 465, in <listcomp>
      [self.run_command(cmd) for cmd in cmds]
    File "/opt/conda/lib/python3.7/distutils/cmd.py", line 313, in run_command
      self.distribution.run_command(command)
    File "/opt/conda/lib/python3.7/distutils/dist.py", line 985, in run_command
      cmd_obj.run()
    File "/tmp/pip-install-bjc365l5/jupyter-archive/setupbase.py", line 261, in run
      c.run()
    File "/tmp/pip-install-bjc365l5/jupyter-archive/setupbase.py", line 387, in run
      raise ValueError(("missing files: %s" % missing))
  ValueError: missing files: ['/tmp/pip-install-bjc365l5/jupyter-archive/lib/index.js']
  ----------------------------------------
  ERROR: Failed building wheel for jupyter-archive

Integration to Jupyter Notebook and JLab

@jasongrout: Both the backend and frontend extension are working nicely.

About the integration to notebook and jupyterlab, I am fine doing it but I need guidance as to where the code should go. Should they have their own module or not? Where should they go?

Also, feel free to ping the relevant person if needed.

file not found error

hi there @hadim i'm testing out this extension for our jupyter hub. it looks like a great tool! When i load it locally on my machine - i'm getting "file not found" errors when i attemt to download a directory. The error looks like this:

Firefox can’t find the file at http://localhost:8888/directories/0-professional-certificate?archiveToken=h86we7ln86agc3zwhs89&archiveFormat=zip&_xsrf=2|23bbaae0|b5712342d851a6ec0a4a8e7fe6b64323|1588721445.

or just a 404 error.

Is there anything that i can try to figure out why this is happening? i'm trying to find a way for my students to back up their work on our hub before i shut it down at the end of the semester. this tool could work if i can get it to work! thank you for any suggestions :)

Broken archived file with slow network and large data

Description

I found a problem with data loss when I tried to archive download a large file in a slow network environment.
The download will complete successfully, but this file will fail to extract on local PC.

As a result of my investigation, I found that if the archive process completes when the stream._write_buffer exceeds the DownloadArchiveHandler.stream_max_buffer_size, the DownloadArchiveHandler._ write_buffer will be lost. This is because flush, which is called after the archive process finishes, is skipped.

In my application, I solved this by modifying DownloadArchiveHandler.flush() to add a force option, but this method is a bit clunky to use in common use cases.
However, this method is a bit rough to use in general use cases, because the stream buffer will temporarily exceed the max size.

I have also tried implementing a while loop to wait until the stream buffer becomes small enough, and confirmed that this solves the problem.

Reproduce

I think this problem is a little difficult to reproduce. Even in my application, I was unable to reproduce it in a local environment, but was able to reproduce it by accessing it from a slow network environment.

In addition to the speed of the network, it also depends on the size of the file to be downloaded.

On my slow network environment, I had this problem when I tried to archive and download a 200MB file. If the network speed is a little faster than this, the problem does not occur until I download a larger file.

I tried the network throttle in the chrome dev tool, but it failed to limit the speed of the file download. Please let me know if there is a better way.

Expected behavior

The download completes normally, and the file can be extracted.

Context

  • Python package version:
  • Extension version:
  • Operating System and its version:
  • Browser and its version:
Command Line Output
Paste the output from your command line running `jupyter lab` here, use `--debug` if possible.
Web Browser Output
Paste the output from your browser web console here.

If there is any other information you need, please let me know.

upload and unzip option

Description

with this extension it makes it easy to download an archive folder. it would be cool if it also supported "upload and unzip archive".
this would make it simple for users to store data somewhere else but have a simple workflow for uploading and downloading their working dir. I can imagine this being good in the context of JupyterLite also.

Data corruption due to race condition

Description

In jupyter-archive, reading and writing of _write_buffer is performed in different threads. So, for example, if a write to _write_buffer is performed between L1066 and L1067 in RequestHandler.flush(), buffer data will be lost.

Ref: https://github.com/tornadoweb/tornado/blob/master/tornado/web.py#L1066-L1067

I found that using threading.Lock() to lock write() and flush() solved the problem.
I will send PR if necessary.

Reproduce

It is very difficult to reproduce this intentionally. If you archive several GB files, it will happen more often, but not all the time.
In my application, I was able to reproduce it with high frequency for certain data, but I think it depends on the environment of application.

Expected behavior

Data can be extracted without corruption.

Context

  • Python package version:
  • Extension version:
  • Operating System and its version:
  • Browser and its version:
Command Line Output
Paste the output from your command line running `jupyter lab` here, use `--debug` if possible.
Web Browser Output
Paste the output from your browser web console here.

Allow excluding hidden directories

First of all, thanks for this extension! It is going to be a huge help for me. One thing that would be great to be able to do is set a configuration that excludes hidden directories. I teach a class using a JupyterHub K8s deployment where the students need to be able to take the material with them, but they don't need all of the hidden directories that inevitably pop up around a docker container. This is particularly true because all of the class material is in github projects, and the students pull it down using nbgitpuller, so they end up with .git folders everywhere which aren't useful to them after the class is over.

Would you have any interest in adding a configuration that allows to exclude hidden directories? I looked through the code briefly, and I don't think this is implemented, but I could be wrong.

Update to JupyterLab v3

Tasks:

  • Update to JupyterLab v3
    • Switch to GitHub action
    • Port test to jupyter_server and pytest syntax
  • Restore license and authors on read me
  • Use new LabIcon instead of iconClass (#44)
  • Automate publication
  • Publish

No unzip option to unzip a file inside jupyter lab.

I have installed jupyter-archive via conda.

conda install -c conda-forge jupyter-archive

I expected that this will show a unzip option but it doesn't

I have enabled 3rd party extensions too.

Clicking "open with" provides the "Editor" option but that does not unzip the file

Instead this happens

Issue

I expected to see a unzip/extract option

Looking for maintainers

I am not really using neither working on that extension anymore. Integration to jupyter failed (see jupyter-server/jupyter_server#252).

That being said I think this extension is used by a small (or probably a tiny) community. Would someone like to have admin access in order to keep maintaining the project?

ping @fcollonval here

Update 2.x version code?

Is your feature request related to a problem? Please describe.

Describe the solution you'd like

I am using Jupyterlab2 with some custom front-end plugin
So I am using 2.x version jupyter-archive
But there are many bug fixes that have not been synced to version 2.x, like zip a dir named aaa.bbb, the zip file name is displayed as aaa.zip, and I found that this had been fixed in 3.x version
Do we have any updates planned for version 2.x? Maybe I can refer to the code for version 3.x to update version 2.x?

Describe alternatives you've considered

Additional context

  • Python package version:
  • Extension version:
  • Operating System and its version:

Support download folder as archive in JupyterLite

JupyerLite provides an in-browser version of JupyterLab supported by an in-browser WASM based Python environment. Notebooks can be uploaded to JupyterLite and saved to browser storage, along with edited notebooks and data files etc. Being able to easily export notebooks as a zip archive from the in-browser environment would be really useful.

Currently, using the jupyter-archive extension to download a folder as an archive file in Chrome pops up a browser status message to the effect of download.html File wasn't available on site and no archive file is downloaded.

Refusing to serve hidden file, via 404 Error

Description

I am running a JupyterHub on a Kubernetes Cluster. I use two different images, a tensorflow-gpu and a tensorflow-cpu image. In the GPU image the download works fine, but in the CPU image it does not work. When I click "Download as an archive", all I get is an empty browser tab.

Reproduce

  1. docker run --name tf-cpu -d -it -p 8888:8888 -e GRANT_SUDO=yes -e JUPYTER_ENABLE_LAB=yes --user root christofkaufmann/tensorflow-cpu-notebook:fa57d1fa && sleep 2 && docker logs tf-cpu && docker exec -it tf-cpu bash
  2. Click on the printed link http://127.0.0.1:8888/lab?token=...
  3. Right-click on the folder "work" and select "Download as an archive".
  4. Nothing happens, beside opening a new browser tab.

Expected behavior

An archive should be created and downloaded, like with the GPU image (christofkaufmann/tensorflow-gpu-notebook:fa57d1fa). In the GPU image the packages are older. If you need the versions, let me know.

Context

This refers to the CPU image where the bug is triggered.

  • Python package version: 3.3.0 from conda-forge
  • Extension version:
    JupyterLab v3.5.2
    /opt/conda/share/jupyter/labextensions
            jupyterlab_pygments v0.2.2 enabled OK (python, jupyterlab_pygments)
            jupyterlab-execute-time v2.3.1 enabled OK (python, jupyterlab_execute_time)
            jupyterlab-system-monitor v0.8.0 enabled OK (python, jupyterlab-system-monitor)
            jupyterlab-topbar-extension v0.6.1 enabled OK (python, jupyterlab-topbar)
            jupyter-matplotlib v0.11.2 enabled OK
            @hadim/jupyter-archive v3.3.0 enabled OK (python, jupyter-archive)
            @jupyterlab/server-proxy v3.2.2 enabled OK
            @jupyter-server/resource-usage v0.7.1 enabled OK (python, jupyter-resource-usage)
            @jupyter-widgets/jupyterlab-manager v5.0.5 enabled OK (python, jupyterlab_widgets)
    
    Config dir: /home/jovyan/.jupyter
    
    Config dir: /opt/conda/etc/jupyter
        jupyter_archive enabled
        - Validating jupyter_archive...
          jupyter_archive 3.3.0 OK
        jupyter_server_proxy enabled
        - Validating jupyter_server_proxy...
          jupyter_server_proxy  OK
        jupyter_resource_usage enabled
        - Validating jupyter_resource_usage...
          jupyter_resource_usage 0.7.1 OK
        jupyter_server_terminals enabled
        - Validating jupyter_server_terminals...
          jupyter_server_terminals 0.4.3 OK
        jupyterlab enabled
        - Validating jupyterlab...
          jupyterlab 3.5.2 OK
        nbclassic enabled
        - Validating nbclassic...
          nbclassic 0.4.8 OK
        nbgitpuller enabled
        - Validating nbgitpuller...
          nbgitpuller 1.1.1 OK
        notebook_shim enabled
        - Validating notebook_shim...
          notebook_shim  OK
    
    Config dir: /usr/local/etc/jupyter
    
  • Server is running Debian 11, but it should not matter, because it runs inside a container.
  • Firefox 110.0.1, Chrome 110.0.5481.177
Command Line Output This is the relevant part of the log output from the `jupyter-USER` pod.
/opt/conda/lib/python3.10/site-packages/jupyter_archive/handlers.py:123: RuntimeWarning: coroutine 'AsyncFileContentsManager.is_hidden' was never awaited
  if cm.is_hidden(archive_path) and not cm.allow_hidden:
RuntimeWarning: Enable tracemalloc to get the object allocation traceback
[I 2023-03-15 17:16:17.137 SingleUserLabApp handlers:124] Refusing to serve hidden file, via 404 Error
Web Browser Output An empty tab is opened, as described in #99.

So, I think the important bit is the message /opt/conda/lib/python3.10/site-packages/jupyter_archive/handlers.py:123: RuntimeWarning: coroutine 'AsyncFileContentsManager.is_hidden' was never awaited

Lost option "Extract Archive" with version 3.4.0

Description

In jupyter-archive version 3.3.4, we still have the option "Extract Archive" option when right-clicking on a .zip file. It seems the option is gone in 3.4.0. Is this intended or a real bug?

Screenshot from the working version 3.3.4:
image

Reproduce

  1. Right-click on .zip file on the left file browser panel. The option "Extract Archive" should be there.

Expected behavior

The option "Extract Archive" should be there.

Context

  • Extension version: see conda env export
  • Operating System and its version: Rocky Linux 8
  • Browser and its version: Firefox 124.0.2
Command Line Output
Don't have this info since the JupyterLab is spawned by JupyterHub.
Web Browser Output
Unsatisfied version 1.37.2 from @jupyterlab/application-top of shared singleton module @lumino/widgets (required ^2.3.1-alpha.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 1.11.1 from @jupyterlab/application-top of shared singleton module @lumino/signaling (required ^2.0.0) [remoteEntry.7b569f28d2ab8ae4828e.js:1:5716](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/jupyterlab-jupytext/static/remoteEntry.7b569f28d2ab8ae4828e.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/codemirror (required ^4.0.10) [remoteEntry.7b569f28d2ab8ae4828e.js:1:5716](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/jupyterlab-jupytext/static/remoteEntry.7b569f28d2ab8ae4828e.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/codeeditor (required ^4.0.10) [remoteEntry.7b569f28d2ab8ae4828e.js:1:5716](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/jupyterlab-jupytext/static/remoteEntry.7b569f28d2ab8ae4828e.js)
Unsatisfied version 6.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/services (required ^7.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 1.11.1 from @jupyterlab/application-top of shared singleton module @lumino/signaling (required ^2.0.0) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 1.10.3 from @jupyterlab/application-top of shared singleton module @lumino/messaging (required ^2.0.0) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 1.9.2 from @jupyterlab/application-top of shared singleton module @lumino/algorithm (required ^2.0.0) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/apputils (required ^4.1.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/codemirror (required ^4.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 1.10.4 from @jupyterlab/application-top of shared singleton module @lumino/disposable (required ^2.0.0) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 5.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/coreutils (required ^6.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/codeeditor (required ^4.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 1.12.1 from @jupyterlab/application-top of shared singleton module @lumino/coreutils (required ^2.0.0) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
No satisfying version (^4.0.9) of shared module @jupyterlab/nbformat found in shared scope default.
Available versions: 3.6.7 from @jupyterlab/application-top [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 0.2.4 from @jupyterlab/application-top of shared singleton module @jupyter/ydoc (required ^1.1.1) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/settingregistry (required ^4.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 1.37.2 from @jupyterlab/application-top of shared singleton module @lumino/widgets (required ^2.0.1) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/translation (required ^4.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/notebook (required ^4.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/rendermime (required ^4.0.9) [remoteEntry.370de6f77fd53f20b297.js:1:5721](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/nbdime-jupyterlab/static/remoteEntry.370de6f77fd53f20b297.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/filebrowser (required ^4.0.5) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 6.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/services (required ^7.0.5) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/settingregistry (required ^4.0.5) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/translation (required ^4.0.5) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 5.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/coreutils (required ^6.0.5) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/apputils (required ^4.1.5) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 1.9.2 from @jupyterlab/application-top of shared singleton module @lumino/algorithm (required ^2.0.0) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 1.37.2 from @jupyterlab/application-top of shared singleton module @lumino/widgets (required ^2.0.1) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/ui-components (required ^4.0.5) [remoteEntry.c3551e86769ef3973316.js:1:5033](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@hadim/jupyter-archive/static/remoteEntry.c3551e86769ef3973316.js)
Unsatisfied version 1.11.1 from @jupyterlab/application-top of shared singleton module @lumino/signaling (required ^2.0.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 1.9.2 from @jupyterlab/application-top of shared singleton module @lumino/algorithm (required ^2.0.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/notebook (required ^4.1.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 1.8.2 from @jupyterlab/application-top of shared singleton module @lumino/properties (required ^2.0.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/logconsole (required ^4.1.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
No satisfying version (^4.1.0) of shared module @jupyterlab/outputarea found in shared scope default.
Available versions: 3.6.7 from @jupyterlab/application-top [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 1.10.4 from @jupyterlab/application-top of shared singleton module @lumino/disposable (required ^2.0.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/translation (required ^4.1.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/rendermime (required ^4.1.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 6.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/services (required ^7.1.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/settingregistry (required ^4.1.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/mainmenu (required ^4.1.0) [remoteEntry.9f387e5e108e458f62c3.js:1:7192](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyter-widgets/jupyterlab-manager/static/remoteEntry.9f387e5e108e458f62c3.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/application (required ^4.1.4) [remoteEntry.1d058ab1c1661989f918.js:1:4885](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyterhub/jupyter-server-proxy/static/remoteEntry.1d058ab1c1661989f918.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/apputils (required ^4.2.4) [remoteEntry.1d058ab1c1661989f918.js:1:4885](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyterhub/jupyter-server-proxy/static/remoteEntry.1d058ab1c1661989f918.js)
Unsatisfied version 5.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/coreutils (required ^6.1.4) [remoteEntry.1d058ab1c1661989f918.js:1:4885](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyterhub/jupyter-server-proxy/static/remoteEntry.1d058ab1c1661989f918.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/filebrowser (required ^4.1.4) [remoteEntry.1d058ab1c1661989f918.js:1:4885](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyterhub/jupyter-server-proxy/static/remoteEntry.1d058ab1c1661989f918.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/launcher (required ^4.1.4) [remoteEntry.1d058ab1c1661989f918.js:1:4885](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyterhub/jupyter-server-proxy/static/remoteEntry.1d058ab1c1661989f918.js)
Unsatisfied version 6.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/services (required ^7.1.4) [remoteEntry.1d058ab1c1661989f918.js:1:4885](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@jupyterhub/jupyter-server-proxy/static/remoteEntry.1d058ab1c1661989f918.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/ui-components (required ^4.1.5) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 5.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/coreutils (required ^6.1.5) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 1.11.1 from @jupyterlab/application-top of shared singleton module @lumino/signaling (required ^2.0.0) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/apputils (required ^4.2.5) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/application (required ^4.1.5) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/notebook (required ^4.1.5) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 17.0.2 from @jupyterlab/application-top of shared singleton module react (required ^18.2.0) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
No satisfying version (^4.1.5) of shared module @jupyterlab/docregistry found in shared scope default.
Available versions: 3.6.7 from @jupyterlab/application-top [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/mainmenu (required ^4.1.5) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 1.12.1 from @jupyterlab/application-top of shared singleton module @lumino/coreutils (required ^2.0.0) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Unsatisfied version 3.6.7 from @jupyterlab/application-top of shared singleton module @jupyterlab/settingregistry (required ^4.1.5) [remoteEntry.668cb6b9e5e946ee05b9.js:1:5472](https://pavics.ouranos.ca/jupyter/user/lvu2/lab/extensions/@voila-dashboards/jupyterlab-preview/static/remoteEntry.668cb6b9e5e946ee05b9.js)
Failed to create module: package: nbdime-jupyterlab; module: ./extension [index.out.js:34:12](webpack://jupyterlab/application-top/build/index.out.js)
Error: Shared module @codemirror/state doesn't exist in shared scope default
    i remoteEntry.370de6f77fd53f20b297.js:1
    g remoteEntry.370de6f77fd53f20b297.js:1
    v remoteEntry.370de6f77fd53f20b297.js:1
    8204 remoteEntry.370de6f77fd53f20b297.js:1
    consumes remoteEntry.370de6f77fd53f20b297.js:1
    consumes remoteEntry.370de6f77fd53f20b297.js:1
    e remoteEntry.370de6f77fd53f20b297.js:1
    e remoteEntry.370de6f77fd53f20b297.js:1
    extension remoteEntry.370de6f77fd53f20b297.js:1
    n remoteEntry.370de6f77fd53f20b297.js:1
    G index.out.js:31
    H index.out.js:98
    H index.out.js:95
[index.out.js:615:14](webpack://jupyterlab/application-top/build/index.out.js)
Plugin 'jupyterlab-jupytext:plugin' failed to activate. [index.es6.js:2288:24](webpack://jupyterlab/application-top/node_modules/@lumino/application/dist/index.es6.js)
TypeError: e is undefined
    b index.es6.js:2191
    l index.es6.js:52
    a index.es6.js:33
    c index.es6.js:26
    c index.es6.js:22
    resolveRequiredService index.es6.js:2184
    n index.es6.js:2081
    b index.es6.js:2081
    l index.es6.js:52
    a index.es6.js:33
    c index.es6.js:26
    c index.es6.js:22
    activatePlugin index.es6.js:2065
    r index.es6.js:2287
    start index.es6.js:2286
    H index.out.js:638
[index.es6.js:2289:24](webpack://jupyterlab/application-top/node_modules/@lumino/application/dist/index.es6.js)
Language pack 'en_US' not installed! [manager.js:46:20](webpack://jupyterlab/application-top/node_modules/@jupyterlab/translation/lib/manager.js)
hub-extension: Found configuration  
Object { hubHost: "", hubPrefix: "/jupyter/hub/" }
[index.js:36:12](webpack://jupyterlab/application-top/node_modules/@jupyterlab/hub-extension/lib/index.js)
Starting application in workspace: "default" [index.js:325:16](webpack://jupyterlab/application-top/node_modules/@jupyterlab/application-extension/lib/index.js)
JupyterLab extension jupyter-archive is activated!

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.