jupyterlab-haddock3-configurator

Jupter Lab extension to create/edit haddock3 configuratiion file

https://github.com/i-vresse/jupyterlab-haddock3-configurator

Science Score: 67.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
    Found CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
    Found .zenodo.json file
  • DOI references
    Found 3 DOI reference(s) in README
  • Academic publication links
    Links to: zenodo.org
  • Academic email domains
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (13.4%) to scientific vocabulary
Last synced: 6 months ago · JSON representation ·

Repository

Jupter Lab extension to create/edit haddock3 configuratiion file

Basic Info
Statistics
  • Stars: 0
  • Watchers: 5
  • Forks: 0
  • Open Issues: 2
  • Releases: 2
Created over 3 years ago · Last pushed over 3 years ago
Metadata Files
Readme Changelog Contributing License Code of conduct Citation

README.md

haddock3_configurator

Github Actions StatusBinder DOI fair-software.eu

Edit haddock3 config file in Jupyter Lab.

Features:

  • Create a new haddock3 config file from the Jupyter Lab launcher
  • Open a haddock3 config file, edit it and save it

Quirks:

  • To save press save button followed by CTRL-s

Image

See running in JupyterLite at https://i-vresse.github.io/jupyterlab-haddock3-configurator/.

Requirements

  • JupyterLab >= 3.0

Install

To install the extension, execute:

bash pip install https://github.com/i-VRESSE/jupyterlab-haddock3-configurator/releases/download/v0.1.1/haddock3_configurator-0.1.1-py3-none-any.whl

Uninstall

To remove the extension, execute:

bash pip uninstall haddock3_configurator

Usage

To open haddock3 configurator widget

  1. In launcher
  2. Click on Haddock3 config in other category

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.

```bash

Clone the repo to your local environment

Change directory to the haddock3_configurator directory

Install package in development mode

pip install jupyterlab pip install -e .

Link your development version of the extension with JupyterLab

jupyter labextension develop . --overwrite

@i-vresse/wb-form needs @rjsf/core" "^4.2.2

@jupyterlab/ui-components needs @rjsf/core" "^3.1.0"

This gives Typescript conflig so drop older d.ts file

vite defers import.meta.url till runtime, but webpack gives build error so create dummy files

jlpm prepare:dev

You might need to re-run pip install again

Rebuild extension Typescript source after making changes

jlpm 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.

```bash

Watch the source directory in one terminal, automatically rebuilding when needed

jlpm 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 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:

bash jupyter lab build --minimize=False

Development uninstall

bash pip uninstall haddock3_configurator

In development mode, you will also need to remove the symlink created by jupyter labextension develop command. To find its location, you can run jupyter labextension list to figure out where the labextensions folder is located. Then you can remove the symlink named jupyterlab-haddock3-configurator within that folder.

Testing the extension

Frontend tests

This extension is using Jest for JavaScript code testing.

To execute them, execute:

sh jlpm jlpm test

Integration tests

This extension uses Playwright for the integration tests (aka user level tests). More precisely, the JupyterLab helper Galata is used to handle testing the extension in JupyterLab.

More information are provided within the ui-tests README.

Packaging the extension

See RELEASE

Owner

  • Name: Interactive Virtual Research Environment for Scientific Software Execution
  • Login: i-VRESSE
  • Kind: organization

Project with Netherlands eScience Center and Bonvin Lab

Citation (CITATION.cff)

# This CITATION.cff file was generated with cffinit.
# Visit https://bit.ly/cffinit to generate yours today!

cff-version: 1.2.0
title: i-VRESSE jupyterlab haddock3 configurator
message: >-
  If you use this software, please cite it using the
  metadata from this file.
type: software
authors:
  - given-names: Stefan
    family-names: Verhoeven
    affiliation: Netherlands eScience Center
    orcid: 'https://orcid.org/0000-0002-5821-2060'
repository-code: 'https://github.com/i-VRESSE/jupyterlab-haddock3-configurator'
abstract: >-
  Jupter Lab extension to create/edit haddock3 configuration file.
license: Apache-2.0
identifiers:
  - type: doi
    value: 10.5281/zenodo.7034466
    description: >-
      This DOI represents all versions, and will
      always resolve to the latest one.

GitHub Events

Total
Last Year

Dependencies

package.json npm
  • @babel/core ^7.0.0 development
  • @babel/preset-env ^7.0.0 development
  • @jupyterlab/builder ^3.1.0 development
  • @jupyterlab/testutils ^3.0.0 development
  • @types/jest ^26.0.0 development
  • @types/react ^17.0.47 development
  • @typescript-eslint/eslint-plugin ^4.8.1 development
  • @typescript-eslint/parser ^4.8.1 development
  • eslint ^7.14.0 development
  • eslint-config-prettier ^6.15.0 development
  • eslint-plugin-prettier ^3.1.4 development
  • jest ^26.0.0 development
  • npm-run-all ^4.1.5 development
  • prettier ^2.1.1 development
  • rimraf ^3.0.2 development
  • stylelint ^14.3.0 development
  • stylelint-config-prettier ^9.0.3 development
  • stylelint-config-recommended ^6.0.0 development
  • stylelint-config-standard ~24.0.0 development
  • stylelint-prettier ^2.0.0 development
  • ts-jest ^26.0.0 development
  • typescript ~4.1.3 development
  • @i-vresse/wb-core ^1.1.1
  • @jupyterlab/application ^3.4.4
  • @jupyterlab/apputils ^3.4.4
  • @jupyterlab/docregistry ^3.4.4
  • @jupyterlab/filebrowser ^3.4.4
  • @jupyterlab/launcher ^3.4.4
  • @jupyterlab/settingregistry ^3.1.0
ui-tests/package.json npm
  • @jupyterlab/galata ^4.3.0 development
yarn.lock npm
  • 1350 dependencies
.github/workflows/binder-on-pr.yml actions
  • actions/github-script v3 composite
.github/workflows/build.yml actions
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • jupyterlab/maintainer-tools/.github/actions/base-setup v1 composite
.github/workflows/check-release.yml actions
  • actions/cache v1 composite
  • actions/cache v2 composite
  • actions/checkout v2 composite
  • actions/setup-node v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • jupyter-server/jupyter_releaser/.github/actions/check-release v1 composite
.github/workflows/pages.yml actions
  • actions/checkout v2 composite
  • actions/deploy-pages main composite
  • actions/download-artifact v2 composite
  • actions/setup-python v2 composite
  • actions/upload-artifact v2 composite
  • actions/upload-pages-artifact v1 composite
  • jupyterlab/maintainer-tools/.github/actions/base-setup v1 composite
.github/workflows/update-integration-tests.yml actions
  • actions/checkout v2 composite
  • jupyterlab/maintainer-tools/.github/actions/update-snapshots v1 composite
binder/environment.yml pypi
lite/requirements.txt pypi
  • ipywidgets >=7.7,<8
  • jupyterlab *
  • jupyterlite ==0.1.0b12
  • theme-darcula *
pyproject.toml pypi
setup.py pypi