Skip to main content

A JupyterLab extension to manage HydroShare resource files in JupyterLab

Project description

hsfiles_jupyter

A JupyterLab extension for managing HydroShare resource files in JupyterLab. This extension assumes that the user has loaded a HydroShare resource to a JupyterHub environment using the 'Open with' functionality in HydroShare.

Installation

# Create and activate python environment, requires python >= 3.9

python3 -m venv .venv
source .venv/bin/activate
python3 -m pip install --upgrade pip

# Install
python3 -m pip install hsfiles_jupyter

# Link extension to JupyterLab
python3 -m hsfiles_jupyter

# Launch JupyterLab and access the functionality of this extension from the JupyterLab file browser menu!
python3 -m jupyter lab

Setup for Development

  1. Clone the repository: git clone https://github.com/hydroshare/hsfiles_jupyter.git
  2. Navigate to the project root directory: cd hsfiles_jupyter
  3. Create a branch: git checkout -b my-branch
  4. Create a virtual environment: python3 -m venv .venv
  5. Activate the virtual environment: source .venv/bin/activate
  6. Install dependencies using pip install -e .[dev]

Frontend

  1. Navigate to the frontend directory.
  2. Run npm install to install dependencies.
  3. Run npm run build to compile the TypeScript code.
  4. Run jupyter lab build to build the frontend assets.
  5. Run jupyter labextension install . to install the extension.

Backend

  1. Navigate to the hsfiles_jupyter directory (project root).
  2. Run python3 -m hsfiles_jupyter to link extension to JupyterLab.

Usage

  1. Setup a notebook dir to be used as the root directory in JupyterLab. Example: ~/Documents/hsfiles_jupyter

    1.1. Create a directory called "Downloads" under the notebook root directory. Example: ~/Documents/hsfiles_jupyter/Downloads

    1.2. Download a HydroShare resource that you own and extract the contents to the "Downloads" directory.

  2. Export your HydroShare credentials as environment variables. This is needed for local development only:

export HS_USER=your_hydroshare_username
export HS_PASS=your_hydroshare_password
  1. Start JupyterLab: jupyter lab --debug --notebook-dir=~/Documents/hsfiles_jupyter
  2. This will open the JupyterLab in browser. Open the "Downloads" directory in the file browser and navigate to data/contents folder, and you should see the contents of the resource your downloaded. Right-click on any of the resource files, and you should see HydroShare specific file action menu options".

Create distribution package to publish to PyPI

  1. Clone the repository: git clone https://github.com/hydroshare/hsfiles_jupyter.git
  2. Navigate to the project root directory: cd hsfiles_jupyter
  3. Checkout the main branch: git checkout -b main origin/main
  4. Create a virtual environment: python3 -m venv .venv
  5. Activate the virtual environment: source .venv/bin/activate
  6. Install dependencies using pip install .[dev]
  7. Navigate to frontend directory: cd frontend
  8. Run npm install to install dependencies.
  9. Run npm run build to compile the TypeScript code.
  10. Navigate to the project root directory: cd ..
  11. Run python3 -m build to create the distribution package.
  12. Run twine upload dist/* to publish the package to PyPI.

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

hsfiles_jupyter-0.1.0.tar.gz (19.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

hsfiles_jupyter-0.1.0-py3-none-any.whl (20.0 kB view details)

Uploaded Python 3

File details

Details for the file hsfiles_jupyter-0.1.0.tar.gz.

File metadata

  • Download URL: hsfiles_jupyter-0.1.0.tar.gz
  • Upload date:
  • Size: 19.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.6

File hashes

Hashes for hsfiles_jupyter-0.1.0.tar.gz
Algorithm Hash digest
SHA256 34fc05298f65ed014e52a5b1fab6ef80a9b45bac9a4517337ce5a711dff57c09
MD5 33eff2ff910b7e7b77dd19c1a2bc4f75
BLAKE2b-256 81a6dac2ddf731dadf6e2159051ef1aa4fcb787f6ada6092805c407b6b0ef871

See more details on using hashes here.

File details

Details for the file hsfiles_jupyter-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for hsfiles_jupyter-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cdd43566cfc21dae6c83840c70b8bd58d10c167d949166089c0aaa28cdf21351
MD5 e775bc071c699d3c0909426a038dc947
BLAKE2b-256 77cf521b49b977dad6f213503c17012fb0ea9e5542bcabfb04607c607590554a

See more details on using hashes here.

Supported by

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