Science Score: 26.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
○DOI references
-
○Academic publication links
-
○Committers with academic emails
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (13.8%) to scientific vocabulary
Keywords
catalog
cbers
copernicus
downloader
earth-observation
eodag
geographic-data
geospatial
gis
landsat
modis
remote-sensing
satellite-imagery
search
sentinel
spatial-imagery
stac
Keywords from Contributors
electricitymap
sar
climate
iceye
maxar
planetscope
pleiades
radarsat
rasterio
saocom
Last synced: 6 months ago
·
JSON representation
Repository
Earth Observation Data Access Gateway
Basic Info
- Host: GitHub
- Owner: CS-SI
- License: apache-2.0
- Language: Python
- Default Branch: develop
- Homepage: https://eodag.readthedocs.io
- Size: 84.1 MB
Statistics
- Stars: 383
- Watchers: 13
- Forks: 51
- Open Issues: 175
- Releases: 51
Topics
catalog
cbers
copernicus
downloader
earth-observation
eodag
geographic-data
geospatial
gis
landsat
modis
remote-sensing
satellite-imagery
search
sentinel
spatial-imagery
stac
Created over 6 years ago
· Last pushed 6 months ago
Metadata Files
Readme
Changelog
Contributing
License
Code of conduct
Notice
README.rst
.. image:: https://eodag.readthedocs.io/en/latest/_static/eodag_bycs.png
:target: https://github.com/CS-SI/eodag
|
.. |pypi-badge| image:: https://badge.fury.io/py/eodag.svg
:target: https://badge.fury.io/py/eodag
.. |conda-badge| image:: https://img.shields.io/conda/vn/conda-forge/eodag
:target: https://anaconda.org/conda-forge/eodag
.. |rtd-badge| image:: https://readthedocs.org/projects/eodag/badge/?version=latest&style=flat
:target: https://eodag.readthedocs.io/en/latest/
.. |gha-badge| image:: https://github.com/CS-SI/eodag/actions/workflows/test.yml/badge.svg
:target: https://github.com/CS-SI/eodag/actions
.. |ghi-badge| image:: https://img.shields.io/github/issues/CS-SI/eodag.svg
:target: https://github.com/CS-SI/eodag/issues
.. |binder-badge| image:: https://mybinder.org/badge_logo.svg
:target: https://mybinder.org/v2/git/https%3A%2F%2Fgithub.com%2FCS-SI%2Feodag.git/master?filepath=docs%2Fnotebooks%2Fintro_notebooks.ipynb
|pypi-badge| |conda-badge| |rtd-badge| |gha-badge| |ghi-badge| |binder-badge|
.. |license-badge| image:: https://img.shields.io/pypi/l/eodag.svg
:target: https://pypi.org/project/eodag/
.. |versions-badge| image:: https://img.shields.io/pypi/pyversions/eodag.svg
:target: https://pypi.org/project/eodag/
|license-badge| |versions-badge|
|
..
Checkout **EODAG Jupyterlab extension**: `eodag-labextension `_!
This will bring a friendly UI to your notebook and help you search and browse for EO products using ``eodag``.
EODAG (Earth Observation Data Access Gateway) is a command line tool and a plugin-oriented Python framework for searching,
aggregating results and downloading remote sensed images while offering a unified API for data access regardless of the
data provider. The EODAG SDK is structured around three functions:
* List product types: list of supported products and their description
* Search products (by product type or uid): searches products according to the search criteria provided
* Download products: download product “as is"
EODAG is developed in Python. It is structured according to a modular plugin architecture, easily extensible and able to
integrate new data providers. Three types of plugins compose the tool:
* Catalog search plugins, responsible for searching data (STAC, OpenSearch, OData, ...), building paths, retrieving quicklook,
combining results
* Download plugins, allowing to download and retrieve data locally (via HTTP, S3, ...), always with the same directory
organization
* Authentication plugins, which are used to authenticate the user on the external services used (JSON Token, Basic Auth, OAUTH, ...).
Read `the documentation `_ for more insights.
.. image:: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/eodag_overview.png
:alt: EODAG overview
:class: no-scaled-link
Installation
============
EODAG is available on `PyPI `_:
.. code-block:: bash
python -m pip install eodag
And with ``conda`` from the `conda-forge channel `_:
.. code-block:: bash
conda install -c conda-forge eodag
..
[!IMPORTANT]
`Breaking change `_ **in v3.0.0**:
Please note that EODAG
comes with a minimal set of dependencies. If you want more features, please install using one of the
`available extras `_.
Usage
=====
For downloading you will need to fill your credentials for the desired providers in your
`eodag user configuration file `_.
The file will automatically be created with empty values on the first run.
Python API
----------
Example usage for interacting with the api in your Python code:
.. code-block:: python
from eodag import EODataAccessGateway
dag = EODataAccessGateway()
search_results = dag.search(
productType='S2_MSI_L1C',
geom={'lonmin': 1, 'latmin': 43.5, 'lonmax': 2, 'latmax': 44}, # accepts WKT polygons, shapely.geometry, ...
start='2021-01-01',
end='2021-01-15'
)
product_paths = dag.download_all(search_results)
This will search for Sentinel 2 level-1C products on the default provider and return the found products first page and
an estimated total number of products matching the search criteria. And then it will download these products. Please
check the `Python API User Guide `_ for more details.
..
[!IMPORTANT]
`Breaking change `_ **in v3.0.0**:
`search() `_ method now returns
only a single ``SearchResult`` instead of a 2 values tuple.
STAC REST API
-------------
An eodag instance can be exposed through a STAC compliant REST api from the command line (``eodag[server]`` needed):
.. code-block:: bash
$ eodag serve-rest --help
Usage: eodag serve-rest [OPTIONS]
Start eodag HTTP server
Set EODAG_CORS_ALLOWED_ORIGINS environment variable to configure Cross-
Origin Resource Sharing allowed origins as comma-separated URLs (e.g.
'http://somewhere,htttp://somewhere.else').
Options:
-f, --config PATH File path to the user configuration file with its
credentials, default is ~/.config/eodag/eodag.yml
-l, --locs PATH File path to the location shapefiles configuration file
-d, --daemon run in daemon mode
-w, --world run uvicorn using IPv4 0.0.0.0 (all network interfaces),
otherwise bind to 127.0.0.1 (localhost).
-p, --port INTEGER The port on which to listen [default: 5000]
--debug Run in debug mode (for development purpose)
--help Show this message and exit.
# run server
$ eodag serve-rest
# list available product types for ``peps`` provider:
$ curl "http://127.0.0.1:5000/collections?provider=peps" | jq ".collections[].id"
"S1_SAR_GRD"
"S1_SAR_OCN"
"S1_SAR_SLC"
"S2_MSI_L1C"
"S2_MSI_L2A"
# search for items
$ curl "http://127.0.0.1:5000/search?collections=S2_MSI_L1C&bbox=0,43,1,44&datetime=2018-01-20/2018-01-25" \
| jq ".numberMatched"
6
# get download link
$ curl "http://127.0.0.1:5000/collections/S2_MSI_L1C/items" \
| jq ".features[0].assets.downloadLink.href"
"http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
# download
$ wget "http://127.0.0.1:5002/collections/S2_MSI_L1C/items/S2B_MSIL1C_20240917T115259_N0511_R137_T21CWS_20240917T145134/download"
``eodag-server`` is available on `https://hub.docker.com/r/csspace/eodag-server `_:
.. code-block:: bash
docker run -p 5000:5000 --rm csspace/eodag-server:3.8.1
You can also browse over your STAC API server using `STAC Browser `_.
Simply run:
.. code-block:: bash
git clone https://github.com/CS-SI/eodag.git
cd eodag
docker-compose up
# or for a more verbose logging:
EODAG_LOGGING=3 docker-compose up
And browse http://127.0.0.1:5001:
.. image:: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example_600.png
:target: https://raw.githubusercontent.com/CS-SI/eodag/develop/docs/_static/stac_browser_example.png
:alt: STAC browser example
:width: 600px
For more information, see `STAC REST API usage `_.
Command line interface
----------------------
Start playing with the CLI:
- To search for some products::
eodag search --productType S2_MSI_L1C --box 1 43 2 44 --start 2021-03-01 --end 2021-03-31
The request above searches for ``S2_MSI_L1C`` product types in a given bounding box, in March 2021. It saves the results in a GeoJSON file (``search_results.geojson`` by default).
Results are paginated, you may want to get all pages at once with ``--all``, or search products having 20% of maximum coud cover with ``--cloudCover 20``. For more information on available options::
eodag search --help
- To download the result of the previous call to search::
eodag download --search-results search_results.geojson
- To download only the result quicklooks of the previous call to search::
eodag download --quicklooks --search-results search_results.geojson
- To list all available product types and supported providers::
eodag list
- To list available product types on a specified supported provider::
eodag list -p creodias
- To see all the available options and commands::
eodag --help
- To print log messages, add ``-v`` to eodag master command. e.g. ``eodag -v list``. The more ``v`` given (up to 3), the more verbose the tool is. For a full verbose output, do for example: ``eodag -vvv list``
Contribute
==========
Have you spotted a typo in our documentation? Have you observed a bug while running EODAG?
Do you have a suggestion for a new feature?
Don't hesitate and open an issue or submit a pull request, contributions are most welcome!
For guidance on setting up a development environment and how to make a
contribution to eodag, see the `contributing guidelines`_.
.. _contributing guidelines: https://github.com/CS-SI/eodag/blob/develop/CONTRIBUTING.rst
License
=======
EODAG is licensed under Apache License v2.0.
See LICENSE file for details.
Authors
=======
EODAG has been created by `CS GROUP - France `_.
Credits
=======
EODAG is built on top of amazingly useful open source projects. See NOTICE file for details about those projects and
their licenses.
Thank you to all the authors of these projects!
Owner
- Name: CS GROUP
- Login: CS-SI
- Kind: organization
- Email: cpll@csgroup.eu
- Location: France
- Website: http://www.csgroup.eu
- Repositories: 35
- Profile: https://github.com/CS-SI
https://www.linkedin.com/company/cs-sopra-steria-company
GitHub Events
Total
- Create event: 259
- Release event: 13
- Issues event: 160
- Watch event: 56
- Delete event: 217
- Member event: 3
- Issue comment event: 642
- Push event: 3,816
- Pull request event: 506
- Pull request review comment event: 221
- Pull request review event: 348
- Fork event: 11
Last Year
- Create event: 259
- Release event: 13
- Issues event: 160
- Watch event: 56
- Delete event: 217
- Member event: 3
- Issue comment event: 642
- Push event: 3,816
- Pull request event: 506
- Pull request review comment event: 221
- Pull request review event: 348
- Fork event: 11
Committers
Last synced: 6 months ago
Top Committers
| Name | Commits | |
|---|---|---|
| Sylvain Brunato | 6****o@u****m | 522 |
| Sylvain Brunato | s****o@c****r | 194 |
| Adrien Oyono | a****o@g****m | 162 |
| github-actions[bot] | 4****]@u****m | 132 |
| Adrien Oyono | a****o@c****r | 110 |
| Julia Lahovnik | 1****k@u****m | 71 |
| Adrien Oyono | e****e@y****r | 44 |
| anesson-cs | 1****s@u****m | 38 |
| orhygine | a****s@g****m | 38 |
| Maxime Liquet | 3****t@u****m | 32 |
| Aubin Lambaré | a****e@c****u | 28 |
| LIQUET Maxime | m****t@c****u | 28 |
| alambare-csgroup | 9****p@u****m | 27 |
| dalpasso | 1****o@u****m | 26 |
| Clément Cazorla | c****a@c****r | 18 |
| CGuichard | 3****d@u****m | 17 |
| bjgiraudon | 6****n@u****m | 14 |
| amarandon | 1****n@u****m | 13 |
| cauriol | c****l@c****m | 13 |
| Aubin Lambaré | a****e@c****m | 10 |
| Timothey Larrouy | t****y@c****m | 6 |
| Diwakar Kushwaha | d****k@g****m | 4 |
| BRUNATO Sylvain | s****o@c****u | 3 |
| Julien Gaucher | 1****s@u****m | 3 |
| Meylheuc | b****c@c****r | 3 |
| RitejAyed | r****1@g****m | 3 |
| Alvaro Huarte | a****7@y****s | 2 |
| Guillermo Tesoro Calvo | r****m@g****m | 2 |
| Stéphan AIME | s****e@c****r | 2 |
| Antonio Valentino | a****o@t****t | 1 |
| and 14 more... | ||
Committer Domains (Top 20 + Academic)
c-s.fr: 6
cs-soprasteria.com: 4
csgroup.eu: 3
gmx.de: 1
lesosoftware.com: 1
tiscali.it: 1
yahoo.es: 1
Issues and Pull Requests
Last synced: 6 months ago
All Time
- Total issues: 355
- Total pull requests: 1,277
- Average time to close issues: 5 months
- Average time to close pull requests: 13 days
- Total issue authors: 72
- Total pull request authors: 27
- Average comments per issue: 0.77
- Average comments per pull request: 2.18
- Merged pull requests: 1,012
- Bot issues: 1
- Bot pull requests: 299
Past Year
- Issues: 128
- Pull requests: 577
- Average time to close issues: 27 days
- Average time to close pull requests: 5 days
- Issue authors: 31
- Pull request authors: 18
- Average comments per issue: 0.38
- Average comments per pull request: 1.88
- Merged pull requests: 437
- Bot issues: 1
- Bot pull requests: 177
Top Authors
Issue Authors
- sbrunato (173)
- anesson-cs (22)
- amarandon (18)
- alambare-csgroup (17)
- alambare (9)
- jlahovnik (9)
- maximlt (6)
- floriandeboissieu (6)
- remi-braun (5)
- andretheronsa (4)
- savmickael (3)
- LucHermitte (3)
- iliion (3)
- benoitlambare (3)
- varisht-tathya (3)
Pull Request Authors
- sbrunato (488)
- github-actions[bot] (297)
- jlahovnik (132)
- alambare (87)
- anesson-cs (60)
- dalpasso (45)
- alambare-csgroup (37)
- cauriol (27)
- amarandon (26)
- bjgiraudon (23)
- diwakark89 (11)
- RitejAyed (6)
- timothey-cs (6)
- gtesoro (6)
- jgaucher-cs (6)
Top Labels
Issue Labels
enhancement (177)
bug (136)
dedl (33)
server (26)
provider (23)
documentation (18)
priority::1 (3)
pending (3)
tests (3)
priority::0 (1)
duplicate (1)
stale (1)
refactoring (1)
style (1)
automated pr (1)
Pull Request Labels
automated pr (297)
dedl (78)
bug (28)
server (12)
pending (11)
enhancement (8)
provider (2)
dependencies (2)
github_actions (2)
Packages
- Total packages: 4
-
Total downloads:
- pypi 10,393 last-month
-
Total dependent packages: 6
(may contain duplicates) -
Total dependent repositories: 9
(may contain duplicates) - Total versions: 268
- Total maintainers: 3
pypi.org: eodag
Earth Observation Data Access Gateway
- Homepage: https://github.com/CS-SI/eodag
- Documentation: https://eodag.readthedocs.io
- License: Apache 2.0
-
Latest release: 3.8.1
published 6 months ago
Rankings
Dependent packages count: 1.4%
Stargazers count: 3.9%
Average: 4.2%
Downloads: 4.4%
Dependent repos count: 5.2%
Forks count: 6.4%
Maintainers (3)
Last synced:
6 months ago
proxy.golang.org: github.com/CS-SI/eodag
- Documentation: https://pkg.go.dev/github.com/CS-SI/eodag#section-documentation
- License: apache-2.0
-
Latest release: v3.8.1+incompatible
published 6 months ago
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
6 months ago
proxy.golang.org: github.com/cs-si/eodag
- Documentation: https://pkg.go.dev/github.com/cs-si/eodag#section-documentation
- License: apache-2.0
-
Latest release: v3.8.1+incompatible
published 6 months ago
Rankings
Dependent packages count: 5.5%
Average: 5.6%
Dependent repos count: 5.8%
Last synced:
6 months ago
conda-forge.org: eodag
EODAG (Earth Observation Data Access Gateway) is a command line tool and a plugin-oriented Python framework for searching, aggregating results and downloading remote sensed images while offering a unified API for data access regardless of the data provider.
- Homepage: https://github.com/CS-SI/eodag
- License: Apache-2.0
-
Latest release: 2.6.2
published over 3 years ago
Rankings
Dependent repos count: 24.4%
Stargazers count: 25.2%
Forks count: 32.5%
Average: 33.4%
Dependent packages count: 51.6%
Last synced:
6 months ago
Dependencies
.github/workflows/deploy.yml
actions
- actions/checkout v3 composite
- actions/setup-python v4 composite
- pypa/gh-action-pypi-publish release/v1 composite
.github/workflows/fetch.yml
actions
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/setup-python v4 composite
- peter-evans/create-pull-request v4 composite
.github/workflows/test.yml
actions
- 5monkeys/cobertura-action master composite
- EnricoMi/publish-unit-test-result-action v2 composite
- actions/cache v3 composite
- actions/checkout v3 composite
- actions/download-artifact v3 composite
- actions/setup-python v4 composite
- actions/upload-artifact v3 composite
- pre-commit/action v3.0.0 composite
docker-compose.yml
docker
pyproject.toml
pypi
requirements-dev.txt
pypi
- python-dateutil <3.0.0,>=2.1 development
requirements-docs.txt
pypi
- nbconvert >6.3.0
requirements-tutorials.txt
pypi
- xarray >=0.10
requirements.txt
pypi
setup.py
pypi