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

Uploaded Source

Built Distribution

jupyter_archive-3.3.3-py3-none-any.whl (33.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: jupyter-archive-3.3.3.tar.gz
  • Upload date:
  • Size: 24.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.1 CPython/3.11.0

File hashes

Hashes for jupyter-archive-3.3.3.tar.gz
Algorithm Hash digest
SHA256 dafe1221be5c6af3fb382e3272056eacf9ca2a6881078f1ac5fb367be0217685
MD5 c6fc2f53b488d49ee7d46864fd67dcb4
BLAKE2b-256 b7996e8c211459671b97f590323f2fbcf7e7dfc054e9f291a637839a1686870e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for jupyter_archive-3.3.3-py3-none-any.whl
Algorithm Hash digest
SHA256 c84107c7b99d04844e321ea5c67b72d6d8b1218018e8aad0795e1e07a182aaba
MD5 dcfedd0f49d8347f5959a3d069f53856
BLAKE2b-256 4a6f544b0db4fdd98116a1b4f75142ab3efd8dd7031ddf61f29308a22f46d094

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