Skip to main content

A Jupyterlab extension to make, download and extract archive files.

Project description

jupyter-archive

Extension status Github Actions Status Binder Version PyPI Conda (channel only)

A Jupyterlab extension to make, download and extract archive files.

Features:

  • Download selected or current folder as an archive.
  • Supported formats: 'zip', 'tar.gz', 'tar.bz2' and 'tar.xz'.
  • Archiving and downloading are non-blocking for Jupyter. UI can still be used.
  • Archive format can be set in the JLab settings.
  • Alternatively, you can choose the format in the file browser menu (the format setting needs to be set to null).
  • Decompress an archive directly in file browser.
  • Notebok client extension not available. Contributions are welcome.

jupyter-archive in action

Configuration

The server extension has some configuration settings -- the values below are the default one:

{
  "JupyterArchive": {
    "stream_max_buffer_size": 104857600, // The max size of tornado IOStream buffer
    "handler_max_buffer_length": 10240, // The max length of chunks in tornado RequestHandler
    "archive_download_flush_delay": 100 // The delay in ms at which we send the chunk of data to the client.
  }
}

You can also set new values with the following environment variables:

  • JA_IOSTREAM_MAX_BUFFER_SIZE
  • JA_HANDLER_MAX_BUFFER_LENGTH
  • JA_ARCHIVE_DOWNLOAD_FLUSH_DELAY

Requirements

  • JupyterLab >= 3.0

For JupyterLab 2.x, have look there.

Install

pip install jupyter-archive

Or

conda install -c conda-forge jupyter-archive

Uninstall

pip uninstall jupyter-archive

Or

conda remove jupyter-archive

Contributing

Development install

Note: You will need NodeJS to build the extension package.

The jlpm command is JupyterLab's pinned version of yarn that is installed with JupyterLab. You may use yarn or npm in lieu of jlpm below.

# Clone the repo to your local environment
# Change directory to the jupyter-archive directory
# Install package in development mode
pip install -e .
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Server extension must be manually installed in develop mode
jupyter server extension enable jupyter_archive
# Rebuild extension Typescript source after making changes
jlpm run build

You can watch the source directory and run JupyterLab at the same time in different terminals to watch for changes in the extension's source and automatically rebuild the extension.

# Watch the source directory in one terminal, automatically rebuilding when needed
jlpm run watch
# Run JupyterLab in another terminal
jupyter lab

With the watch command running, every saved change will immediately be built locally and available in your running JupyterLab. Refresh JupyterLab to load the change in your browser (you may need to wait several seconds for the extension to be rebuilt).

By default, the jlpm run build command generates the source maps for this extension to make it easier to debug using the browser dev tools. To also generate source maps for the JupyterLab core extensions, you can run the following command:

jupyter lab build --minimize=False

License

Under BSD license. See LICENSE.

Authors

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

jupyter-archive-3.3.1.tar.gz (24.2 kB view details)

Uploaded Source

Built Distribution

jupyter_archive-3.3.1-py3-none-any.whl (32.7 kB view details)

Uploaded Python 3

File details

Details for the file jupyter-archive-3.3.1.tar.gz.

File metadata

  • Download URL: jupyter-archive-3.3.1.tar.gz
  • Upload date:
  • Size: 24.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.0 CPython/3.10.4

File hashes

Hashes for jupyter-archive-3.3.1.tar.gz
Algorithm Hash digest
SHA256 ef63a47fe68f41bd7fe1a4212dd8433e0d07019b1000961c541fd70c2bd393f5
MD5 2493cc15bbcd24b57b6707de1436a04b
BLAKE2b-256 8bbf8f4b347588b3af65d1c78ec87f56c82eed8aa013ad2254ba56d39e973e69

See more details on using hashes here.

File details

Details for the file jupyter_archive-3.3.1-py3-none-any.whl.

File metadata

File hashes

Hashes for jupyter_archive-3.3.1-py3-none-any.whl
Algorithm Hash digest
SHA256 9a459e2b3e47c9fdb354c7b1d1576d7118cf4781758e92b08e8c02461a1ee421
MD5 6dd43c64f52b43845edadc99275e206a
BLAKE2b-256 f7262785f46e74885daa89d893a93a1ab8e9ed375f380dc7593b2bcfa5553982

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page