Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions docs/source/api.rst
Original file line number Diff line number Diff line change
Expand Up @@ -28,3 +28,8 @@ API

.. autoclass:: Client
:members:

.. automodule:: hda.api

.. autoclass:: StacMixin
:members:
6 changes: 6 additions & 0 deletions docs/source/changelog.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,12 @@
Changelog
=========

Version 2.40
------------
* Added support for STAC endpoints
* Added federated authentication
* Updated authentication endpoint

Version 2.38
------------
* Added optional S3 support
Expand Down
6 changes: 3 additions & 3 deletions docs/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -12,11 +12,11 @@
# -- Project information

project = "WEkEO HDA API Client"
copyright = "2025, ECMWF"
copyright = "2026, ECMWF"
author = "ECMWF"

release = "2.30"
version = "2.30"
release = "2.40"
version = "2.40"

# -- General configuration

Expand Down
12 changes: 2 additions & 10 deletions docs/source/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -5,19 +5,11 @@ This package provides a fully compliant Python 3 client that can be used to sear

HDA is a RESTful interface allowing users to search and download WEkEO datasets.

Documentation about its usage can be found at `WEkEO website <https://www.wekeo.eu/docs/data-access>`_.
Documentation about its usage can be found at `WEkEO website <https://help.wekeo.eu/en/>`_.

Check out the :doc:`usage </usage>` section for further information, including
how to :doc:`install </installation>` the project.

.. warning::
Starting from version 2.0, the client supports HDA v2 only. If you need to interact with HDA v1, please use client version 1.14, which is the last release compatible with that API.

Note that HDA v1 was decommissioned in Q2 2024.

Although HDA v2 is a complete overhaul of the original API, the client interface remains unchanged. The primary difference is a significantly simplified query format.
When possible, the client will still accept queries written in the legacy format and automatically convert them into the new structure.

Requirements
------------
- Python 3
Expand All @@ -33,7 +25,7 @@ Pull requests are welcome. For major changes, please open an issue first to disc

Please make sure to update this documentation as appropriate - changes on the interface, version etc.

Licence
License
-------
Please refer to LICENSE.txt

Expand Down
5 changes: 2 additions & 3 deletions docs/source/installation.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,9 +4,8 @@ Installation
Get your credentials
--------------------

1. If you don't have a WEkEO account, please self register through the WEkEO `registration form <https://www.wekeo.eu/>`_, then proceed to the step below.

2. Copy the code below in the file `$HOME/.hdarc` in your Unix/Linux environment. Adapt the following template with the credentials of your WEkEO account:
1. If you don't have a WEkEO account, please self register through the WEkEO `registration form <https://data.wekeo.copernicus.eu/register/>`_, then proceed to the step below. Alternatively, you can use your EUMETSAT or CMEMS credentials.
2. Copy the code below in the file `$HOME/.hdarc` in your Unix/Linux environment. Adapt the following template with your credentials:

.. code-block:: ini

Expand Down
8 changes: 4 additions & 4 deletions docs/source/quickstart.rst
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Quick start
===========

Once the WEkEO HDA API client is installed, it can be used to request data from the datasets listed in the `WEkEO catalogue <https://www.wekeo.eu/data?view=viewer>`_.
Once the WEkEO HDA API client is installed, it can be used to request data from the datasets listed in the `WEkEO catalogue <https://data.wekeo.copernicus.eu/data?view=catalogue>`_.

On the WEkEO portal, under **DATA**, each dataset search has a *Show API request* button, it displays the json request to be used. The request can be formatted using the interactive form. The API call must follow the syntax.

Expand All @@ -18,8 +18,8 @@ The client can be used directly into another python script as in the following e

query = {
'dataset_id': 'EO:EUM:DAT:SENTINEL-3:OL_1_EFR___',
'dtstart': '2023-07-03T13:59:00.000Z',
'dtend': '2023-07-03T14:03:00.000Z',
'dtstart': '2026-05-03T13:59:00.000Z',
'dtend': '2026-05-03T14:03:00.000Z',
}
matches = c.search(query)
print(matches)
Expand All @@ -30,7 +30,7 @@ The client can be used directly into another python script as in the following e
Please refer to the official documentation of the HDA for instructions on how to get the list of the available parameters.

.. warning::
The query format has been streamlined in version 2, but the client still accepts most of the old queries and automatically
The query format has been streamlined since version 2, but the client still accepts most of the old queries and automatically
convert them into the new format under the hood, before they are submitted to the API.
You might still want to explicitly change the queries to reflect the updated structure.

Expand Down
21 changes: 16 additions & 5 deletions docs/source/usage.rst
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ Just by exporting environment variables, the user and the password can be set to

from hda import Client, Configuration

conf = Configuration() # By default, values are retrived from the environment
config = Configuration() # By default, values are retrived from the environment
client = Client(config=config)

A last way of specifying the credentials is by providing the path for an alternative configuration file that has
Expand All @@ -42,7 +42,7 @@ the same *.hdarc* format:

from hda import Client, Configuration

conf = Configuration(path="/custom/config")
config = Configuration(path="/custom/config")
client = Client(config=config)

While it is not recommended, nothing prohibit to mix those methods. In that case, the precedence rules are:
Expand All @@ -52,6 +52,8 @@ While it is not recommended, nothing prohibit to mix those methods. In that case
3. The custom configuration file if no environment is set
4. Finally, the *$HOME/.hdarc* file, which is the default one

Please note that, since version 3.40, the usage of the API is no longer limited to WEkEO users. EUMETSAT and CMEMS credentials are equally accepted.

Advanced client usage
---------------------

Expand Down Expand Up @@ -89,7 +91,16 @@ Depending on the number of downloads, this can speed up the process, especially

This number can be easily changed by specifying a different `max_workers` value for the :class:`hda.api.Client` class.

Keep in mind though the following:
Keep in mind that each WEkEO account has usage quotas. While the numbers are pretty high, it is not recommended to hammer the API for just a small potential speed gain.

STAC catalogue
~~~~~~~~~~~~~~

Besides the search and download endpoints, a whole STAC compatible branch of API is available:

.. code-block:: python

c = Client()
c.stac.get_info()

1. As a general rule of thumb, the number of threads should be equal to the number of CPU core
2. Each WEkEO account has usage quotas. While the numbers are pretty high, it is not recommended to hammer the API for just a small potential speed gain
Please refer to the :doc:`api </api>` section for a description of the provided methods.
Loading