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.0.tar.gz (24.1 kB view details)

Uploaded Source

Built Distribution

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

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyter-archive-3.3.0.tar.gz
  • Upload date:
  • Size: 24.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for jupyter-archive-3.3.0.tar.gz
Algorithm Hash digest
SHA256 d5d9441877ccdbd63f4ac8e20429b19732eac1a11a1b1abd8e3c19edf0a4482d
MD5 22622097cf6047753d674a9223183f2e
BLAKE2b-256 8d1f325d144d2474e97dd4a21a10fe995a049304633fa644290e0c005bb92aaf

See more details on using hashes here.

File details

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

File metadata

  • Download URL: jupyter_archive-3.3.0-py3-none-any.whl
  • Upload date:
  • Size: 32.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.8.0 pkginfo/1.8.2 readme-renderer/34.0 requests/2.27.1 requests-toolbelt/0.9.1 urllib3/1.26.9 tqdm/4.63.0 importlib-metadata/4.11.3 keyring/23.5.0 rfc3986/2.0.0 colorama/0.4.4 CPython/3.10.2

File hashes

Hashes for jupyter_archive-3.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 12c0b5c0d44e72b6e0bc37fce696c612d617717a2be7e50e80b3b9c3ca2d1708
MD5 9fff63445fc6937d28803a9dfc280693
BLAKE2b-256 4545d2030c31f062eab2a9fd5d2c173bd9b0ebb7d81f611412d41b421f717856

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