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:passwordtoken=...: OAuth tokenusername:passphraseandidentity=path/to/private_keythe 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)
| 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.