{"id":29188022,"url":"https://github.com/cs-si/stac-fastapi-eodag","last_synced_at":"2025-07-01T22:08:41.678Z","repository":{"id":291723602,"uuid":"959834839","full_name":"CS-SI/stac-fastapi-eodag","owner":"CS-SI","description":"EODAG backend for stac-fastapi.","archived":false,"fork":false,"pushed_at":"2025-06-30T07:20:49.000Z","size":560,"stargazers_count":6,"open_issues_count":8,"forks_count":0,"subscribers_count":6,"default_branch":"main","last_synced_at":"2025-06-30T08:31:52.628Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CS-SI.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-04-03T12:34:17.000Z","updated_at":"2025-06-27T16:02:31.000Z","dependencies_parsed_at":"2025-06-03T17:56:21.173Z","dependency_job_id":"8454b170-88c1-4976-9d1c-958445a2c14a","html_url":"https://github.com/CS-SI/stac-fastapi-eodag","commit_stats":null,"previous_names":["cs-si/stac-fastapi-eodag"],"tags_count":1,"template":false,"template_full_name":null,"purl":"pkg:github/CS-SI/stac-fastapi-eodag","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2Fstac-fastapi-eodag","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2Fstac-fastapi-eodag/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2Fstac-fastapi-eodag/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2Fstac-fastapi-eodag/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CS-SI","download_url":"https://codeload.github.com/CS-SI/stac-fastapi-eodag/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CS-SI%2Fstac-fastapi-eodag/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263042353,"owners_count":23404459,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-07-01T22:08:39.910Z","updated_at":"2025-07-01T22:08:41.657Z","avatar_url":"https://github.com/CS-SI.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# stac-fastapi-eodag\n\n\u003cp align=\"center\"\u003e\n  \u003cimg src=\"https://eodag.readthedocs.io/en/latest/_static/eodag_bycs.png\" height=80 /\u003e\n  \u003cimg src=\"https://fastapi.tiangolo.com/img/logo-margin/logo-teal.png\" alt=\"FastAPI\" height=100 /\u003e\n\u003c/p\u003e\n\n[EODAG](https://github.com/CS-SI/eodag) backend for [stac-fastapi](https://github.com/stac-utils/stac-fastapi), the [FastAPI](https://fastapi.tiangolo.com/) implementation of the [STAC API spec](https://github.com/radiantearth/stac-api-spec)\n\nstac-fastapi-eodag combines the capabilities of EODAG and STAC FastAPI to provide a powerful, unified API for accessing Earth observation data from various providers.\n\n## Disclaimer\n\n⚠️ This project is a **WIP** and not ready for any production usage. Use at your own risks.\n\n## Getting started\n\n### Run stac-fastapi-eodag locally\n\n#### Prerequisites\nMake sure you have the required dependencies installed:\n\n```shell\npip install .[server]\n```\n\n#### Running the server\nOnce the server is properly set up, you can start it with:\n\n```shell\npython stac_fastapi/eodag/app.py\n\n# or run directly using uvicorn\n# the uvicorn parameters configuration will not be applied\nuvicorn stac_fastapi.eodag.app:app\n```\n\nBy default, the EODAG HTTP server runs at port 8000.\n\n### Run in a container\n\nTo run the server as a container:\n\n1. Build the container image:\n\n```shell\ndocker build -t eodag-fastapi .\n```\n\n2. Run the container:\n\n```shell\ndocker run -p 8000:8000 eodag-fastapi\n```\n\n### Docker Compose\n\nYou can also run the server using Docker Compose:\n\n```shell\ndocker compose up\n```\n\nNOTE: This will start a stac-fastapi-eodag container and an otel-collector container for the collection of metrics. The STAC API is available on `http://localhost:8080`, the metrics can be checked using `http://localhost:8000/metrics`.\n\n### Run in Kubernetes\n\nYou can install stac-fastapi-eodag in your Kubernetes cluster with the [Helm chart in this repository](./helm/stac-fastapi-eodag/README.md).\n\n## Configuration\n\nstac-fastapi-eodag supports multiple environment variables to customize the deployment of your API.\n\n### Uvicorn parameters\n\n| name | description | default value |\n| --- | --- | --- |\n| `APP_HOST` | Bind socket to this host. Use `0.0.0.0` to make the application available from every host.| 0.0.0.0 |\n| `APP_PORT` | Port from which the application is available. | 8000 |\n| `RELOAD` | Enable auto-reload. **Useful for debug, should be disabled for production.** | True |\n| `UVICORN_ROOT_PATH` | Used to compute the `base_url` when exposing the API on a subPath. For instance `/stac`. You should set `ROOT_PATH` (from stac-fastapi parameters) as well. **This parameter does not change the path on which the API is exposed. It only modify the links in the response body.** | \"\" |\n\nThe full list of available Uvicorn parameters is available from [Uvicorn settings page](https://www.uvicorn.org/settings/).\n\n### stac-fastapi parameters\n\n| name | description | default value |\n| --- | --- | --- |\n| `STAC_FASTAPI_TITLE` | Title of the API. It is displayed on the landing page. | \"stac-fastapi\" |\n| `STAC_FASTAPI_DESCRIPTION` | Description for the API. It is displayed on the landing page. | \"stac-fastapi\" |\n| `STAC_FASTAPI_VERSION` | It is the version number of your API instance. This is not the STAC version. It is displayed on the landing page. | 0.1 |\n| `STAC_FASTAPI_LANDING_PAGE_ID` | It is a unique identifier for the landing page. It is displayed on the landing page. | \"stac-fastapi\" |\n| `ENABLE_RESPONSE_MODELS` | Turn on response validation. | False |\n| `OPENAPI_URL` | Path for the OpenAPI definition of the API. | \"/api\" |\n| `DOCS_URL` | Path for the Swagger UI of the API. | \"/api.html\" |\n| `ROOT_PATH` | Used to compute the `base_url` when exposing the API on a subPath. For instance `/stac`. You should set `UVICORN_ROOT_PATH` (from Uvicorn parameters) as well. **This parameter does not change the path on which the API is exposed. It only modify the links in the response body.**  | \"\" |\n\nReach to [stac-fastapi documentation](https://stac-utils.github.io/stac-fastapi/) for exhaustive documentation on stac-fastapi.\n\n### stac-fastapi-eodag parameters\n\n| name | description | default value |\n| --- | --- | --- |\n| `DEBUG` | When set to `True`, set the EODAG logging level to `3`. Otherwise, set EODAG logging level to `2`. | False |\n| `KEEP_ORIGIN_URL` | Keep origin as alternate URL when data-download extension is enabled. | False |\n| `ORIGIN_URL_BLACKLIST` | Hide from clients items assets' origin URLs starting with URLs from the list. A string of comma separated values is expected. | \"\" |\n| `COUNT` | Whether to run a query with a count request or not. | False |\n| `FETCH_PROVIDERS` | Fetch additional collections from all EODAG providers. | False |\n| `AUTO_ORDER_WHITELIST` | List of providers for which the order should be done at the same time as the download. | [\"wekeo_main\"] |\n| `DOWNLOAD_BASE_URL` | Useful to expose asset download URL in a separate domain name. | \"\" |\n\n### OpenTelemetry parameters\n\n| name | description | default value |\n| --- | --- | --- |\n| `OTEL_EXPORTER_OTLP_ENDPOINT` | Target url to which the exporter sends the metrics. | \"\" |\n| `OTEL_METRIC_EXPORT_INTERVAL` | Time interval (in milliseconds) between the start of two export attempts. | 60000 |\n| `OTEL_EXPORTER_OTLP_TIMEOUT` |  Timeout value for all outgoing data (traces, metrics, and logs) in milliseconds. | 10000 |\n\nTo start an otel-collector container and to connect it to an instance of STAC API the following commands can be used:\n\n```shell\npip install .[server,telemetry]\ndocker run -p 4318:4318 -p 8000:8000 \\\n    -v ./config/otelcol_config.yml:/etc/otel-collector-config.yaml \\\n    otel/opentelemetry-collector:latest \\\n    --config=/etc/otel-collector-config.yaml\nexport OTEL_EXPORTER_OTLP_ENDPOINT=\"http://localhost:4318/\"\nexport OTEL_METRIC_EXPORT_INTERVAL=\"5000\"  # shorter export interval for testing\nexport APP_PORT=8080  # change app port because otel-collector uses 8000\npython stac_fastapi/eodag/app.py\n```\n\n### EODAG parameters\n\nEODAG configuration parameters are available from [EODAG documentation](https://eodag.readthedocs.io/en/stable/getting_started_guide/configure.html).\n\n## Contribute\n\nHave you spotted a typo in our documentation? Have you observed a bug while running stac-fastapi-eodag? Do you have a suggestion for a new feature?\n\nDon't hesitate and open an issue or submit a pull request, contributions are most welcome!\n\nFor guidance on setting up a development environment and how to make a contribution to eodag, see the [contributing guidelines](./CONTRIBUTING.md).\n\n## Acknowledgments\n\nWe would like to express our gratitude to the maintainers and contributors of the following projects which have been instrumental in the development of this project:\n\n- [stac-fastapi](https://github.com/stac-utils/stac-fastapi): Thanks to the stac-fastapi team for their implementation of the STAC API spec.\n- [FastAPI](https://github.com/FastAPI/FastAPI): Thanks to the FastAPI team for providing a modern, fast (high-performance) web framework for building APIs.\n\n\n## License\n\nstac-fastapi-eodag is licensed under Apache License v2.0.\nSee [LICENSE](LICENSE) file for details.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcs-si%2Fstac-fastapi-eodag","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcs-si%2Fstac-fastapi-eodag","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcs-si%2Fstac-fastapi-eodag/lists"}