Skip to main content

inhpc_dm

JupyterLab extension for InHPC-DE data management

WORK IN PROGRESS!

Requirements

  • JupyterLab >= 4.0

Overview

This extension consists of a front-end part (basically an enhanced filebrowser) and a back-end (server) part, that has the job of mounting remote file systems and invoking transfer commands. The InHPC datamanagement extension is based on Jupyter-FS and pyfilesystem.

When remote filesystems are defined via the plugin settings, they can be selected in the frontend. Then, operations on these remote file systems can be performed.

Installation

The extension can be installed from PyPI with

pip install -U inhpc_dm

To enable the extension, you have two options.

The first option is to locate the Jupyter server config file, e.g ~/.jupyter/jupyter_server_config.json, and add the following

    "ServerApp": {
      "contents_manager_class": "inhpc_dm.metamanager.MetaManager"
    }

if the file does not exist, you can create it yourself.

Alternatively - especially if you are using a virtual environment - launch Jupyter with the argument

    --ServerApp.contents_manager_class=inhpc_dm.metamanager.MetaManager

For example

  jupyter-lab --ServerApp.contents_manager_class=inhpc_dm.metamanager.MetaManager

(for more information, please refer to the Jupyter documentation)

Usage

Adding backends (remote file systems)

In the Jupyter Settings Editor (find it at the main menu at "Settings/Settings Editor"), locate the "InHPC Datamanagement" section.

Under "Resources" you can now add or edit remote (or local) file system URLs.

For example, to add a local directory, you can use the URL osfs:///path/to/local/dir

UFTP is supported via

 uftp://[username:password]@uftp_auth_server_url:directory?[token=...|identity=....]

supporting different means of authentication. Choose one of:

  • username:password
  • token=... : OAuth token
  • username:passphrase and identity=path/to/private_key the remote user name and a path to a private key file. You can use ~ to refer to your HOME on the server where Jupyter is running. If the key is password-less, leave the passphrase empty.

You can use {{VARIABLE}} elements in the URL, in that case the extension will open a dialog where you can enter value(s) for those variables..

The main InHPC Datamanagement window

The main window is launched either from the Launcher, or via the command palette.

It is structured into two windows. For each of the sides, you can select one of the beforehand configured file systems by clicking the "+" icon at the top.

After selecting a file system, a context menu (right click), as well as the buttons in the top toolbars on each side give you access to a number of features, such as opening files, renaming etc.

To trigger a data movement, select file(s) on one side, and click on the appropriate arrow in the middle toolbar. The datamanagement extension will choose the optimal way of transfer.

In the bottom of the view, there is a list of transfer actions with a bit of information.

Contributing

Development install

Note: You will need JupyterLab, npm and NodeJS to build the extension package.

To install NodeJS and npm, you can use the package manager on your system, e.g. on a Debian system:

apt install nodejs npm
# Clone the repo to your local environment
# Change directory to the inhpc_dm directory

# Install packages required for development e.g. JupyterLab
pip install -r requirements-dev.txt

# Install package
pip install .

# Start the extension by starting JupyterLab e.g. with the argument
jupyter-lab --ServerApp.contents_manager_class=inhpc_dm.metamanager.MetaManager

# You can alternatively add this in the config file (see above in the installation section)

optionally you can do these steps before starting JupyterLab:

# Link your development version of the extension with JupyterLab
jupyter-labextension build .

# Enable server extension
jupyter server extension enable --user inhpc_dm

# Rebuild extension Typescript source after making changes
jlpm run build

# Run Jupyter lab
jupyter-lab --ServerApp.contents_manager_class=inhpc_dm.metamanager.MetaManager

Uninstall

pip uninstall inhpc_dm

Metadata

Release files for inhpc-dm 0.9.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for inhpc-dm 0.9.0
File Size Uploaded Provenance
inhpc_dm-0.9.0.tar.gz 218.9 kB Without provenance Details

Release files / inhpc_dm-0.9.0.tar.gz

Download URL inhpc_dm-0.9.0.tar.gz
Size 218.9 kB
Tags Source
SHA-256 checksum
How to use checksums
c4b594c8eebdca5e42fee7dca9d98c5bc4e1f5b18a7e3164dce9362dfd3dc9d4
BLAKE2b-256 checksum
How to use checksums
93d79558290864c687484763d45d090a616788b60acf4bf1046dfd7c9f8a1b50
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.14.6

Security for inhpc-dm 0.9.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page