Skip to content

Commit

Permalink
Merge branch 'develop'
Browse files Browse the repository at this point in the history
  • Loading branch information
sbrunato committed Jan 18, 2023
2 parents 802539e + d7d5531 commit d39ccac
Show file tree
Hide file tree
Showing 30 changed files with 4,166 additions and 2,623 deletions.
19 changes: 11 additions & 8 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,10 +16,10 @@ jobs:
steps:
- name: Checkout the repo
uses: actions/checkout@v2
- name: Set up Python 3.6
- name: Set up Python 3.7
uses: actions/setup-python@v2
with:
python-version: '3.6'
python-version: '3.7'
- name: Run pre-commit action
uses: pre-commit/action@v2.0.0
build:
Expand All @@ -30,20 +30,20 @@ jobs:
- name: Install node
uses: actions/setup-node@v1
with:
node-version: '12.x'
node-version: '16.x'
- name: Install Python
uses: actions/setup-python@v2
with:
python-version: '3.6'
python-version: '3.7'
architecture: 'x64'

- name: Setup pip cache
uses: actions/cache@v2
with:
path: ~/.cache/pip
key: pip-3.6-${{ hashFiles('package.json') }}
key: pip-3.7-${{ hashFiles('package.json') }}
restore-keys: |
pip-3.6-
pip-3.7-
pip-
- name: Get yarn cache directory path
Expand All @@ -66,7 +66,10 @@ jobs:
jlpm run eslint:check
python -m pip install .
jupyter server extension list 2>&1 | grep -ie "eodag[_-]labextension.*OK"
jupyter server extension list 2>&1 | grep -ie "eodag[_-]labextension.*OK"\
|| (jupyter server extension list && exit 1)
jupyter labextension list 2>&1 | grep -ie "eodag[_-]labextension.*OK"\
|| (jupyter labextension list && exit 1)
jupyter labextension list 2>&1 | grep -ie "eodag[_-]labextension.*OK"
python -m jupyterlab.browser_check
32 changes: 15 additions & 17 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
fail_fast: false
repos:
- repo: https://github.com/pre-commit/pre-commit-hooks.git
rev: v3.4.0
rev: v4.3.0
hooks:
- id: trailing-whitespace
- id: end-of-file-fixer
Expand All @@ -15,7 +15,7 @@ repos:
- id: check-merge-conflict

- repo: https://github.com/pycqa/isort
rev: 5.8.0
rev: 5.10.1
hooks:
- id: isort
name: isort (python)
Expand All @@ -27,41 +27,39 @@ repos:
types: [pyi]

- repo: https://github.com/pycqa/pydocstyle
rev: 6.0.0
rev: 6.1.1
hooks:
- id: pydocstyle
language_version: python3.6

- repo: https://github.com/psf/black
rev: 21.4b0
rev: 22.8.0
hooks:
- id: black
language_version: python3.6

- repo: https://gitlab.com/pycqa/flake8
rev: 3.9.1
rev: 5.0.4
hooks:
- id: flake8

- repo: https://github.com/pre-commit/mirrors-eslint
rev: v7.14.0
rev: v8.24.0
hooks:
- id: eslint
additional_dependencies:
- eslint@7.32.0
- typescript@4.2.4
- prettier@2.4.1
- '@typescript-eslint/eslint-plugin@4.32.0'
- '@typescript-eslint/parser@4.32.0'
- eslint-config-prettier@^8.3.0
- eslint-plugin-prettier@^4.0.0
- eslint@8.23.1
- typescript@4.3.5
- prettier@2.7.1
- '@typescript-eslint/eslint-plugin@5.38.0'
- '@typescript-eslint/parser@5.38.0'
- eslint-config-prettier@^8.5.0
- eslint-plugin-prettier@^4.2.1

- repo: https://github.com/pre-commit/mirrors-prettier
rev: v2.4.1
rev: v2.7.1
hooks:
- id: prettier

- repo: https://github.com/igorshubovych/markdownlint-cli
rev: v0.29.0
rev: v0.32.2
hooks:
- id: markdownlint
22 changes: 20 additions & 2 deletions CHANGES.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,30 @@
# Release history

## 3.3.0 (2023-01-18)

- Layout update and new button to directly generate search code [(#95)](https://github.com/CS-SI/eodag-labextension/pull/95)
- Throws an error message if no notebook is opened to insert code in [(#85)](https://github.com/CS-SI/eodag-labextension/pull/85)
- Guess product type using keywords in search form [(#96)](https://github.com/CS-SI/eodag-labextension/pull/96)[(#100)](https://github.com/CS-SI/eodag-labextension/pull/100)
- Implements a way to disable cloud cover [(#78)](https://github.com/CS-SI/eodag-labextension/pull/78)
- Settings button and replace existing search code option [(#104)](https://github.com/CS-SI/eodag-labextension/pull/104)
- Help for additional parameters and buttons disabled when missing product type [(#102)](https://github.com/CS-SI/eodag-labextension/pull/102)
- Harmonized product highlight between list and map in search overview [(#91)](https://github.com/CS-SI/eodag-labextension/pull/91)
- Restores EODAG serve-rest services (STAC API) through `./eodag` endpoint
[(#83)](https://github.com/CS-SI/eodag-labextension/pull/83)
- Fixes `cloudCover` usage during search [(#82)](https://github.com/CS-SI/eodag-labextension/pull/82)
- Updates [Contributing guidelines](https://github.com/CS-SI/eodag-labextension/blob/develop/CONTRIBUTING.md)
[(#79)](https://github.com/CS-SI/eodag-labextension/pull/79)
- Documentation update [(#106)](https://github.com/CS-SI/eodag-labextension/pull/106)
- `eodag` minimal version requirement set to 2.8.0 [(#107)](https://github.com/CS-SI/eodag-labextension/pull/107)
- Updates dependencies and developement tools versions [(#74)](https://github.com/CS-SI/eodag-labextension/pull/74)[(#75)](https://github.com/CS-SI/eodag-labextension/pull/75)[(#80)](https://github.com/CS-SI/eodag-labextension/pull/80)[(#62)](https://github.com/CS-SI/eodag-labextension/pull/62)[(#63)](https://github.com/CS-SI/eodag-labextension/pull/63)[(#64)](https://github.com/CS-SI/eodag-labextension/pull/64)[(#66)](https://github.com/CS-SI/eodag-labextension/pull/66)[(#67)](https://github.com/CS-SI/eodag-labextension/pull/67)[(#76)](https://github.com/CS-SI/eodag-labextension/pull/76)[(#77)](https://github.com/CS-SI/eodag-labextension/pull/77)[(#84)](https://github.com/CS-SI/eodag-labextension/pull/84)[(#99)](https://github.com/CS-SI/eodag-labextension/pull/99)[(#103)](https://github.com/CS-SI/eodag-labextension/pull/103)[(#105)](https://github.com/CS-SI/eodag-labextension/pull/105)

## 3.2.5 (2022-01-07)

- Fixes leaflet container size, fixes #59 (#60)
- Fixes leaflet container size, fixes #59 [(#60)](https://github.com/CS-SI/eodag-labextension/pull/60)

## 3.2.4 (2021-12-23)

- Fixes unwanted interactions with ipywidget, fixes #56 (#57)
- Fixes unwanted interactions with ipywidget, fixes #56 [(#57)](https://github.com/CS-SI/eodag-labextension/pull/57)

## 3.2.3 (2021-10-07)

Expand Down
4 changes: 3 additions & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,16 @@ The `jlpm` command is JupyterLab's pinned version of
# Clone the repo to your local environment
# Change directory to the eodag-labextension directory
# If you want to work in a virtual environment
virtualenv -p `which python3.6` venv
virtualenv -p `which python3` venv
source venv/bin/activate
# Install package in development mode
pip install -r requirements-dev.txt
# Link your development version of the extension with JupyterLab
jupyter labextension develop . --overwrite
# Rebuild extension Typescript source after making changes
jlpm run build
# You need to enable the extension
jupyter server extension enable eodag_labextension
```

You can watch the source directory and run JupyterLab at the same time in
Expand Down
74 changes: 43 additions & 31 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,18 +17,18 @@ The extension is composed of a Python package named `eodag-labextension`, and ad
Lab. The package consist of a Python Jupyter notebook REST service consumed by the client and served at `/eodag/` or
`/user/<username>/eodag/` for JupyterHub (a home page is available at that URL).

- [Requirements](#Requirements)
- [Compatibility](#Compatibility)
- [Install](#Install)
- [Configuration](#Configuration)
- [QuickStart](#QuickStart)
- [Search](#Search)
- [Results display](#Results-display)
- [Apply to the Jupyter notebook](#Apply-to-the-Jupyter-notebook)
- [User manual](#User-manual)
- [Contribute](#Contribute)
- [Troubleshooting](#Troubleshooting)
- [License](#License)
- [Requirements](#requirements)
- [Compatibility](#compatibility)
- [Install](#install)
- [Configuration](#configuration)
- [QuickStart](#quickstart)
- [Search](#search)
- [Results overview](#results-overview)
- [Apply to the Jupyter notebook](#apply-to-the-jupyter-notebook)
- [User manual](#user-manual)
- [Contribute](#contribute)
- [Troubleshooting](#troubleshooting)
- [License](#license)

## Requirements

Expand Down Expand Up @@ -63,46 +63,58 @@ Make sure that that file is configured properly.
You can use `eodag-labextension` inside a Jupyter notebook. Start Jupyter lab with `jupyter lab`, and in Jupyter lab
open a notebook.

![extension logo](https://raw.githubusercontent.com/CS-SI/eodag-labextension/develop/notebooks/images/eodag_labext_form.png)

### Search
## Search

![extension logo](https://raw.githubusercontent.com/CS-SI/eodag-labextension/develop/notebooks/images/eodag_labext_icon.png)
Open the EODAG tab on the left side of the JupuytuerLab interface by clicking on that icon.
Click on this icon in the left of JupyterLab interface to open EODAG-Labextension tab.

![form](https://raw.githubusercontent.com/CS-SI/eodag-labextension/develop/notebooks/images/eodag_labext_form.png)

With displayed search form, you can enter search extent and following search criteria:

- **Product type**: the searched product type. List filtering is performed using product types description keywords.
For each entry of the drop-down list, a tooltip is displayed at hovering time with corresponding description.
![product types](https://raw.githubusercontent.com/CS-SI/eodag-labextension/develop/notebooks/images/eodag_labext_product_types.png)

With displayed search form, you can enter select your data geographically and apply some search criteria:
- **Date range**: minimal and maximal dates of the search temporal window.
- **Max cloud cover**: maximum cloud cover allowed in search results in percent. 100% will disable cloud cover
filtering.
- **Additional parameters**: used to enter key-value pairs criteria for the request. See
[available parameters in EODAG documentation](https://eodag.readthedocs.io/en/stable/add_provider.html#opensearch-parameters-csv).

- **Product type**: the searched product type. For each entry of the drop-down list, a tooltip is displayed at
hovering time with corresponding description.
- **Start date**: minimal date of the search temporal window.
- **End date**: maximal date of the search temporal window.
- **Max cloud cover**: maximum cloud cover allowed in search results in percent.
- **Additional parameters**: used to enter key-value pairs criteria for the request.
As **search geometry** you can draw multiple extents, or use none. Each extent can be a rectangle or a free polygon.

You can draw multiple extents, or use none. Each extent can be a rectangle or a free polygon.
Product type is mandatory. Other criteria are optional.
_Product type is mandatory. Other criteria are optional._

Once search criteria are filled out, click on the "Search" button to proceed to next step. At the end of the search,
a popup opens and displays results.
Once search criteria are filled out, click on:

- `Generate Code` to automatically generate and insert the corresponding eodag search code bellow the active cell.
- `Preview Results` to perform a search in background, display results, and generate search code in a second step.

![settings logo](https://raw.githubusercontent.com/CS-SI/eodag-labextension/develop/notebooks/images/eodag_labext_settings_icon.png)
Click on this icon to open EODAG-Labextension settings. You will be enable to choose whether newly inserted code should
replace existing search code or not.

### Results overview

![extension popup](https://raw.githubusercontent.com/CS-SI/eodag-labextension/develop/notebooks/images/eodag_labext_popup.png)

The results overview popup is compopsed of 3 parts:

- a map showing products extent
- a table listing products
- a map showing products extent,
- a table listing products,
- a pane containing metadata for currently selected product.

The results table allows you to access product metadata by clicking on the desired product line. The magnifying glass
button allows you to zoom in on the product's in the map view. By scrolling down in the list of results, the search is
automatically restarted to retrieve the following results.

In the metadata view, clicking on the thumbnail displays it in native resolution. Clicking it again reduces its size
In the metadata view, clicking on the _Quicklook_ displays it in native resolution. Clicking it again reduces its size
again.

### Apply to the Jupyter notebook

If the search result is correct, clicking on the "`Apply`" button will insert the Python eodag code in a new cell
If the search result is correct, clicking on the "`Generate code`" button will insert the Python eodag code in a new cell
after the selected cell of the currently open notebook. The popup is automatically closed. From there, it is possible
to work in the notebook on the search results by executing the eodag search.

Expand Down
Loading

0 comments on commit d39ccac

Please sign in to comment.