Configuration#
[1]:
from eodag import EODataAccessGateway
Add or update a provider#
An EODataAccessGateway object has the methods add_provider() to quickly add a new provider, and update_providers_config() that allows to either add a new provider or to update an existing one. The example below shows how to add a STAC provider using both methods.
[2]:
dag = EODataAccessGateway()
dag.providers
[2]:
| ProvidersDict (16) | |||||||||
cop_dataspace: Provider( 'priority': '0', 'title': 'Copernicus Data Space Ecosystem', 'url': 'https://dataspace.copernicus.eu/' )
| |||||||||
cop_ghsl: Provider( 'priority': '0', 'title': 'Copernicus Global Human Settlement Layer', 'url': 'https://human-settlement.emergency.copernicus.eu/index.php' )
| |||||||||
cop_marine: Provider( 'priority': '0', 'title': 'Copernicus Marine Data Store', 'url': 'https://marine.copernicus.eu/' )
| |||||||||
creodias: Provider( 'priority': '0', 'title': 'CloudFerro DIAS', 'url': 'https://creodias.eu/' )
| |||||||||
dlr_eoc_geoservice: Provider( 'priority': '0', 'title': 'DLR Earth Observation Center (EOC) Geoservice', 'url': 'https://geoservice.dlr.de' )
| |||||||||
earth_search: Provider( 'priority': '0', 'title': 'Earth Search', 'url': 'https://www.element84.com/earth-search/' )
| |||||||||
earth_search_gcs: Provider( 'priority': '0', 'title': 'Google Cloud Storage through Earth Search', 'url': 'https://www.element84.com/earth-search/' )
| |||||||||
ecmwf: Provider( 'priority': '0', 'title': 'ECMWF archive products', 'url': 'https://www.ecmwf.int' )
| |||||||||
eocat: Provider( 'priority': '0', 'title': 'ESA Catalog provides interoperable access, following ISO/OGC[...]', 'url': 'https://eocat.esa.int/eo-catalogue' )
| |||||||||
eumetsat_ds: Provider( 'priority': '0', 'title': 'EUMETSAT Data Store', 'url': 'https://data.eumetsat.int' )
| |||||||||
fedeo_ceda: Provider( 'priority': '0', 'title': 'CEDA datasets through FedEO Catalog', 'url': 'https://fedeo.ceos.org/' )
| |||||||||
geodes: Provider( 'priority': '0', 'title': 'French National Space Agency (CNES) Earth Observation portal', 'url': 'https://geodes.cnes.fr' )
| |||||||||
planetary_computer: Provider( 'priority': '0', 'title': 'Microsoft Planetary Computer', 'url': 'https://planetarycomputer.microsoft.com' )
| |||||||||
sara: Provider( 'priority': '0', 'title': 'Sentinel Australasia Regional Access', 'url': 'https://www.copernicus.gov.au/' )
| |||||||||
theia: Provider( 'priority': '0', 'title': 'Data Terra Theia, environmental thematic hub for land data access.', 'url': 'https://api.datastore-mtd.theia.data-terra.org/' )
| |||||||||
usgs_satapi_aws: Provider( 'priority': '0', 'title': 'USGS Landsatlook SAT API', 'url': 'https://landsatlook.usgs.gov/stac-server' )
|
[3]:
dag.add_provider("uvt", "https://stac.sage.uvt.ro/search")
which is equivalent to:
[4]:
dag.update_providers_config("""
uvt2:
search:
type: StacSearch
api_endpoint: https://stac.sage.uvt.ro/search
products:
GENERIC_COLLECTION:
_collection: '{collection}'
download:
type: HTTPDownload
""")
[5]:
"uvt" in dag.providers, "uvt2" in dag.providers
[5]:
(True, True)
For advanced provider configuration, see Developer guide / Add a provider
Set a provider’s priority#
The method set_preferred_provider() can be used to dynamically set the preferred provider/prioritary.
And the method get_preferred_provider() will return the current preferred/prioritary provider associated to its priority.
By default, if priority is not passed as argument, add_provider() sets the added provider as the preferred one:
[6]:
dag.get_preferred_provider()
[6]:
('uvt', 1)
[7]:
dag.set_preferred_provider("uvt2")
dag.get_preferred_provider()
[7]:
('uvt2', 2)
Logging#
Logging is activated with the setup_logging() method. It’s a useful way to see what eodag does under the hood (e.g. requesting the provider, adapting the response, etc.). It’s also useful to detect when things go wrong and create an issue on GitHub if relevant.
The method accepts the following values for its verbose parameter:
0: no logging and no progress bar1: no logging but progress bars displayed2: log at the INFO level3: log at the DEBUG level (even more information)
[8]:
from eodag import setup_logging
setup_logging(verbose=2)
[9]:
EODataAccessGateway()
2026-06-12 05:13:12,294 eodag.provider [INFO ] Loading user configuration from: /home/docs/.config/eodag/eodag.yml
2026-06-12 05:13:12,316 eodag.core [INFO ] usgs: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,316 eodag.core [INFO ] aws_eos: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,317 eodag.core [INFO ] cop_ads: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,318 eodag.core [INFO ] cop_cds: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,319 eodag.core [INFO ] meteoblue: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,320 eodag.core [INFO ] hydroweb_next: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,321 eodag.core [INFO ] wekeo_main: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,322 eodag.core [INFO ] wekeo_ecmwf: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,323 eodag.core [INFO ] wekeo_cmems: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,324 eodag.core [INFO ] creodias_s3: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,325 eodag.core [INFO ] dedt_lumi: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,326 eodag.core [INFO ] dedt_mn5: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,327 eodag.core [INFO ] dedl: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,327 eodag.core [INFO ] geodes_s3: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,327 eodag.core [INFO ] cop_ewds: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,329 eodag.core [INFO ] cop_dataspace_s3: provider needing auth for search has been pruned because no credentials could be found
2026-06-12 05:13:12,330 eodag.core [INFO ] Locations configuration loaded from /home/docs/.config/eodag/locations.yml
[9]:
<eodag.api.core.EODataAccessGateway at 0x74c6efea4f50>
[ ]: