Skip to main content

WEkEO HDA API Client

This package provides a fully compliant Python 3 client that can be used to search and download products using the Harmonized Data Access WEkEO API.

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

Documentation about its usage can be found at https://www.wekeo.eu/.

Requirements

  • Python 3
  • requests
  • tqdm

Install the WEkEO HDA Key

  1. If you don't have a WEkEO account, please self register at the WEkEO registration page https://www.wekeo.eu/web/guest/user-registration and go to the steps 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:

     url: https://wekeo-broker.apps.mercator.dpi.wekeo.eu/databroker
     user: [username]
     password: [password]
    

Install the WEkEO HDA client

The WEkEO HDA client is a python based library. It provides support for both Python 2.7.x and Python 3.

You can Install the WEkEO HDA client via the package management system pip, by running on Unix/Linux the command shown below.

pip install hda

This will also install the required dependencies.

Use the WEkEO HDA client for data access

Once the WEkEO HDA API client is installed, it can be used to request data from the datasets listed in the WEkEO 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.

The client can be used directly into another python script as in the following example:

from hda import Client

c = Client(debug=True)

query = {
    "datasetId": "EO:CODA:DAT:SENTINEL-3:OL_1_EFR___",
    "dateRangeSelectValues": [{
        "end": "2019-07-03T14:03:00.000Z",
        "name": "dtrange",
        "start": "2019-07-03T13:59:00.000Z"
    }],
    "stringChoiceValues": []
}
matches = c.search(query)
print(matches)
matches.download()

Note that the query must be a json valid object. Please refer to the official documentation of the HDA for instructions on how to get the list of the available parameters.

Alternatively, it can be wrapped into a script to be executed from the command line. Please refer to the demos/demo.py file for a simple demostration.

Reference

There are a number of options the drives the Client instance:

  • url: The HDA URL. Normally set in the .hdarc file, can be overwritten directly by passing a value to the client.
  • user: The HDA user. Normally set in the .hdarc file, can be overwritten directly by passing a value to the client.
  • password: The HDA password. Normally set in the .hdarc file, can be overwritten directly by passing a value to the client.
  • token: Credentials can be passed directly with a valid JWT Token that will take precedence over user and password. Normally unused, as the client will require a fresh token upon any API call.
  • quiet: Pass True to disable logging. Default: False.
  • debug: Pass True to enable debug. Requires quiet to be False. Default: False.
  • verify: Whether to verify for SSL certificate of the HDA or not. Normally there is no need to modify the default value. Default: None.
  • timeout: The time, in seconds, before the client should stop waiting for a response. Default: None.
  • retry_max: The number of retries before the client should stop trying to get a successful response. Default: 500.
  • sleep_max: The time, in seconds, to wait between two attempts. Default: 120.
  • info_callback: A callback function that can be attached to the info logging level messages. Will replace the default logging. Default: None.
  • warning_callback: A callback function that can be attached to the warning logging level messages. Will replace the default logging. Default: None.
  • error_callback: A callback function that can be attached to the error logging level messages. Will replace the default logging. Default: None.
  • debug_callback: A callback function that can be attached to the debug logging level messages. Will replace the default logging. Default: None.
  • progress: Whether to show or hide a progress bar. Default: True.

Contribution

Contribute to the development of this client by creating an account on GitHub. You can follow this guidelines for a general overview of the needed steps: https://github.com/firstcontributions/first-contributions.

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.

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

Licence

Please refer to LICENSE.txt

Release files for hda 0.3.5

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hda 0.3.5
File Size Uploaded
hda-0.3.5.tar.gz 14.2 kB Details

Release files / hda-0.3.5.tar.gz

Download URL hda-0.3.5.tar.gz
Size 14.2 kB
Tags Source
SHA-256 checksum
How to use checksums
a362befc9d2d571dd824b375c41574fc4837c7a9c291480882453ac13d27b84e
BLAKE2b-256 checksum
How to use checksums
83d652e4958541597d95c9143b9b0273803aa7335e10ccbda9afaf50a39fdb8a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/4.0.1 CPython/3.11.0

Release history Release notifications | RSS feed

2.40

2 release files

2.39

2 release files

2.38

2 release files

2.35

2 release files

2.34

2 release files

2.33

2 release files

2.32

2 release files

2.29

2 release files

2.28

2 release files

2.27

2 release files

2.26

2 release files

2.22

1 release file

2.21

1 release file

2.20

1 release file

2.18

1 release file

2.17

1 release file

2.16

1 release file

2.14

1 release file

2.13

1 release file

2.12

1 release file

2.11

1 release file

2.0

1 release file

1.19

1 release file

1.15

1 release file

1.14

1 release file

1.13

1 release file

1.1

1 release file

0.3.7

1 release file

This release

0.3.5 This release

1 release file

0.3.4

1 release file

0.2.2

1 release file

0.2.1

1 release file

0.2.0

1 release file

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page