From d9c2e73113ec12152d1c5ed0bf284b767f515e36 Mon Sep 17 00:00:00 2001 From: Zachary Deziel Date: Mon, 17 Jul 2023 09:12:02 -0400 Subject: [PATCH 1/6] Add deployment information to mkdocs, and reference eoapi-template. --- README.md | 2 ++ docs/src/intro.md | 87 +++++++++++++++++++++++++---------------------- 2 files changed, 48 insertions(+), 41 deletions(-) diff --git a/README.md b/README.md index 0949d31..5c20228 100644 --- a/README.md +++ b/README.md @@ -66,6 +66,8 @@ This repository has the demonstration runtimes that are consistently updated wit The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [k8s-eoapi](https://github.com/developmentseed/k8s-eoapi)). +A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template). + ## Contribution & Development See [CONTRIBUTING.md](https://github.com/developmentseed/eoAPI/blob/main/CONTRIBUTING.md) diff --git a/docs/src/intro.md b/docs/src/intro.md index 78c0846..119ebb4 100644 --- a/docs/src/intro.md +++ b/docs/src/intro.md @@ -1,60 +1,38 @@ ---- -hide: - - navigation ---- -

- +

Create a full Earth Observation API with Metadata, Raster and Vector services.

-## **E**arth **O**bservation **API** - -`eoAPI` combines several *state-of-the-art* projects to create a full Earth Observation API. Each service can be used and deployed independently but `eoAPI` creates the interconnections between each service: - -- **pgSTAC** database [https://github.com/stac-utils/pgstac](https://github.com/stac-utils/pgstac) - -- **STAC API** built on top of [https://github.com/stac-utils/stac-fastapi](https://github.com/stac-utils/stac-fastapi) - -- **STAC Items And Mosaic Raster Tiles** API built on top of [https://github.com/stac-utils/titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) - -- **OGC Features and Vector Tiles** API built on top of [https://github.com/developmentseed/tipg](https://github.com/developmentseed/tipg) +

+ + Test + + + Downloads + +

--- -## Why should you use `eoAPI` - -- **Focus on your use case:** `eoAPI` is used for large-scale data processing, building geographic information systems (GIS), creating real-time data applications, climate research and environmental monitoring, machine learning model training, and more. - -- **Unified Repository:** `eoAPI` provides a single, unified repository to several state-of-the-art Earth Observation (EO) data services, including Metadata search (STAC), Raster, and Vector services. This can simplify the process of accessing and working with these services. - -- **Interoperability:** `eoAPI` is designed to enable interoperability among its included services. This can make building complex applications that leverage different types of EO data easier. - -- **Open Source and Community Support:** As an open-source project, `eoAPI` allows developers to inspect its code, contribute to its development, and use it as a base for custom solutions. It also benefits from the support and innovation of a community of developers and EO data users. - -- **Scalability and Flexibility:** Each service in `eoAPI` can be used or deployed independently, which provides a lot of flexibility. If a developer's application only requires one or two of eoAPI's services, they don't need to deploy the entire suite. - -- **Facilitate Earth Observation Tasks:** `eoAPI` includes specialized tools for working with EO data, such as dynamic tiling, metadata searching, and features/vector tiles API. These can significantly facilitate EO data processing, analysis, and visualization. +**Documentation**: https://eoapi.dev -- **Ease of Deployment:** `eoAPI` supports containerized deployment using Docker, making it easier to set up, scale, and maintain applications built on it. Spin up the demo locally and start experimenting in minutes. +**Source Code**: https://github.com/developmentseed/eoAPI --- -## Services Overview - +## **E**arth **O**bservation **API** -- **STAC Metadata**: Built with [stac-fastapi.pgstac](https://github.com/stac-utils/stac-fastapi) and extended with a custom extension to connect it to **`TiTiler`** and a **[Search Viewer](http://localhost:8081/index.html)**. See [docs](http://localhost:8081/docs) for API details. +`eoAPI` combines several *state-of-the-art* projects to create a full Earth Observation API. Each service can be used and deployed independently but `eoAPI` creates the interconnections between each service: -- **Raster Tiles**: Built with [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) and [pgstac](https://github.com/stac-utils/pgstac) to enable large scale mosaic based on results of STAC searches queries. See [docs](http://localhost:8082/docs) for API details. +- **pgSTAC** database [https://github.com/stac-utils/pgstac](https://github.com/stac-utils/pgstac) -- **OGC Features & Vector Tiles**: Built with [tipg](https://github.com/developmentseed/tipg) to create a lightweight OGC Features and Tiles API with a PostGIS database. See [docs](http://localhost:8083/api.html) for API details. +- **STAC API** built on top of [https://github.com/stac-utils/stac-fastapi](https://github.com/stac-utils/stac-fastapi) -See [service details](./services.md) for more information. +- **STAC Items And Mosaic Raster Tiles** API built on top of [https://github.com/stac-utils/titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) -*Note: The documentation links referenced require lauching the application with `docker-compose` or another deployment*. +- **OGC Features and Vector Tiles** API built on top of [https://github.com/developmentseed/tipg](https://github.com/developmentseed/tipg) ---- ## Getting started @@ -62,7 +40,7 @@ See [service details](./services.md) for more information. - Navigate to the project: `cd eoAPI` - Run services with `docker-compose up` - Follow the [MAXAR open data demo](https://github.com/vincentsarago/MAXAR_opendata_to_pgstac) (or get inspired by the other [demos](./demo/)) to load some data into eoAPI -- Checkout the [Search Viewer](http://localhost:8081/index.html), and the API documentation ([STAC Metadata](http://localhost:8081/docs), [Raster Tiles](http://localhost:8082/docs), [Vector Tiles](http://localhost:8083/api.html)) +- Check out the [Search Viewer](http://localhost:8081/index.html), and the API documentation ([STAC Metadata](http://localhost:8081/docs), [Raster Tiles](http://localhost:8082/docs), [Vector Tiles](http://localhost:8083/api.html)) Alternatively, you may launch the application locally: ```bash @@ -78,5 +56,32 @@ export DATABASE_URL=postgresql://username:password@0.0.0.0:5439/postgis # Conne .venv/bin/uvicorn eoapi.{SERVICE}.app:app --port 8000 --reload ``` -Note: services might have incompatible dependencies which you can resolve by using virtual environement per service +Note: services might have incompatible dependencies which you can resolve by using a virtual environment for each service + +--- + +## Deployment + +This repository has the demonstration runtimes that are consistently updated with new functionality. + +The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [k8s-eoapi](https://github.com/developmentseed/k8s-eoapi)). + +A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template). + +## Contribution & Development + +See [CONTRIBUTING.md](https://github.com/developmentseed/eoAPI/blob/main/CONTRIBUTING.md) + +## License + +See [LICENSE](https://github.com/developmentseed/eoAPI/blob/main/LICENSE) + +## Authors + +Created by [Development Seed]() + +See [contributors](https://github.com/developmentseed/eoAPI/graphs/contributors) for a listing of individual contributors. + +## Changes +See [CHANGES.md](https://github.com/developmentseed/eoAPI/blob/main/CHANGES.md). From 9f5993de209332ffca9da55e7d0e497e76c956a9 Mon Sep 17 00:00:00 2001 From: Zachary Deziel Date: Mon, 17 Jul 2023 09:17:46 -0400 Subject: [PATCH 2/6] Fix path to eoAPI logo --- docs/src/intro.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/src/intro.md b/docs/src/intro.md index 119ebb4..81caea4 100644 --- a/docs/src/intro.md +++ b/docs/src/intro.md @@ -1,6 +1,6 @@

- +

Create a full Earth Observation API with Metadata, Raster and Vector services.

From 5ef4f581f49daeb7fe1e0d4e0122d293fbaca19f Mon Sep 17 00:00:00 2001 From: Zachary Deziel Date: Mon, 17 Jul 2023 09:32:57 -0400 Subject: [PATCH 3/6] Reduce intro.md to limited information on getting started. Inverse deployment and contributing in headers/footers within mkdocs.yml. Add eoapi-template reference to deployment.md. Reduce content in intro.md to match previous version. --- docs/mkdocs.yml | 3 ++- docs/src/deployment.md | 4 ++++ docs/src/intro.md | 28 ---------------------------- 3 files changed, 6 insertions(+), 29 deletions(-) diff --git a/docs/mkdocs.yml b/docs/mkdocs.yml index 5b823f8..7dac23f 100644 --- a/docs/mkdocs.yml +++ b/docs/mkdocs.yml @@ -22,8 +22,9 @@ nav: - Home: "index.md" - Intro: "intro.md" - Services: "services.md" - - Development - Contributing: "contributing.md" - Deployment: "deployment.md" + - Development - Contributing: "contributing.md" + plugins: - search diff --git a/docs/src/deployment.md b/docs/src/deployment.md index 25e27a1..379d4d5 100644 --- a/docs/src/deployment.md +++ b/docs/src/deployment.md @@ -3,6 +3,10 @@ hide: - navigation --- +The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [k8s-eoapi](https://github.com/developmentseed/k8s-eoapi)). + +A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template). + ## AWS (Lambda) An example of Cloud Stack is available for AWS (RDS for the database and Lambda for the APIs) diff --git a/docs/src/intro.md b/docs/src/intro.md index 81caea4..538ffff 100644 --- a/docs/src/intro.md +++ b/docs/src/intro.md @@ -57,31 +57,3 @@ export DATABASE_URL=postgresql://username:password@0.0.0.0:5439/postgis # Conne ``` Note: services might have incompatible dependencies which you can resolve by using a virtual environment for each service - ---- - -## Deployment - -This repository has the demonstration runtimes that are consistently updated with new functionality. - -The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [k8s-eoapi](https://github.com/developmentseed/k8s-eoapi)). - -A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template). - -## Contribution & Development - -See [CONTRIBUTING.md](https://github.com/developmentseed/eoAPI/blob/main/CONTRIBUTING.md) - -## License - -See [LICENSE](https://github.com/developmentseed/eoAPI/blob/main/LICENSE) - -## Authors - -Created by [Development Seed]() - -See [contributors](https://github.com/developmentseed/eoAPI/graphs/contributors) for a listing of individual contributors. - -## Changes - -See [CHANGES.md](https://github.com/developmentseed/eoAPI/blob/main/CHANGES.md). From e4a08f47339573ebfa7d916d972880ce5d1915df Mon Sep 17 00:00:00 2001 From: Zachary Deziel Date: Mon, 17 Jul 2023 12:59:52 -0400 Subject: [PATCH 4/6] Rename k8s-eoapi to eoapi-k8s to match renaming of repository name --- docs/src/deployment.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/docs/src/deployment.md b/docs/src/deployment.md index 379d4d5..593a09d 100644 --- a/docs/src/deployment.md +++ b/docs/src/deployment.md @@ -3,7 +3,7 @@ hide: - navigation --- -The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [k8s-eoapi](https://github.com/developmentseed/k8s-eoapi)). +The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [eoapi-k8s](https://github.com/developmentseed/eoapi-k8s)). A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template). @@ -88,4 +88,4 @@ If you get an error saying that the max VPC's has been reached, this means that ## K8S -A Kubernetes chart is currently being developed at https://github.com/developmentseed/k8s-eoapi +A Kubernetes chart is currently being developed at https://github.com/developmentseed/eoapi-k8s From 8e17e8c100d82e1896aa48870f687f13936b9788 Mon Sep 17 00:00:00 2001 From: Zachary Deziel Date: Mon, 17 Jul 2023 13:13:50 -0400 Subject: [PATCH 5/6] Revert intro.md to the state before this branch (749b85dc1d4568969dcd3dea6835f58a0028d271). --- docs/src/intro.md | 59 ++++++++++++++++++++++++++++++++--------------- 1 file changed, 41 insertions(+), 18 deletions(-) diff --git a/docs/src/intro.md b/docs/src/intro.md index 538ffff..78c0846 100644 --- a/docs/src/intro.md +++ b/docs/src/intro.md @@ -1,38 +1,60 @@ +--- +hide: + - navigation +--- +

Create a full Earth Observation API with Metadata, Raster and Vector services.

-

- - Test - - - Downloads - -

+## **E**arth **O**bservation **API** + +`eoAPI` combines several *state-of-the-art* projects to create a full Earth Observation API. Each service can be used and deployed independently but `eoAPI` creates the interconnections between each service: + +- **pgSTAC** database [https://github.com/stac-utils/pgstac](https://github.com/stac-utils/pgstac) + +- **STAC API** built on top of [https://github.com/stac-utils/stac-fastapi](https://github.com/stac-utils/stac-fastapi) + +- **STAC Items And Mosaic Raster Tiles** API built on top of [https://github.com/stac-utils/titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) + +- **OGC Features and Vector Tiles** API built on top of [https://github.com/developmentseed/tipg](https://github.com/developmentseed/tipg) --- -**Documentation**: https://eoapi.dev +## Why should you use `eoAPI` -**Source Code**: https://github.com/developmentseed/eoAPI +- **Focus on your use case:** `eoAPI` is used for large-scale data processing, building geographic information systems (GIS), creating real-time data applications, climate research and environmental monitoring, machine learning model training, and more. + +- **Unified Repository:** `eoAPI` provides a single, unified repository to several state-of-the-art Earth Observation (EO) data services, including Metadata search (STAC), Raster, and Vector services. This can simplify the process of accessing and working with these services. + +- **Interoperability:** `eoAPI` is designed to enable interoperability among its included services. This can make building complex applications that leverage different types of EO data easier. + +- **Open Source and Community Support:** As an open-source project, `eoAPI` allows developers to inspect its code, contribute to its development, and use it as a base for custom solutions. It also benefits from the support and innovation of a community of developers and EO data users. + +- **Scalability and Flexibility:** Each service in `eoAPI` can be used or deployed independently, which provides a lot of flexibility. If a developer's application only requires one or two of eoAPI's services, they don't need to deploy the entire suite. + +- **Facilitate Earth Observation Tasks:** `eoAPI` includes specialized tools for working with EO data, such as dynamic tiling, metadata searching, and features/vector tiles API. These can significantly facilitate EO data processing, analysis, and visualization. + +- **Ease of Deployment:** `eoAPI` supports containerized deployment using Docker, making it easier to set up, scale, and maintain applications built on it. Spin up the demo locally and start experimenting in minutes. --- -## **E**arth **O**bservation **API** +## Services Overview -`eoAPI` combines several *state-of-the-art* projects to create a full Earth Observation API. Each service can be used and deployed independently but `eoAPI` creates the interconnections between each service: -- **pgSTAC** database [https://github.com/stac-utils/pgstac](https://github.com/stac-utils/pgstac) +- **STAC Metadata**: Built with [stac-fastapi.pgstac](https://github.com/stac-utils/stac-fastapi) and extended with a custom extension to connect it to **`TiTiler`** and a **[Search Viewer](http://localhost:8081/index.html)**. See [docs](http://localhost:8081/docs) for API details. -- **STAC API** built on top of [https://github.com/stac-utils/stac-fastapi](https://github.com/stac-utils/stac-fastapi) +- **Raster Tiles**: Built with [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) and [pgstac](https://github.com/stac-utils/pgstac) to enable large scale mosaic based on results of STAC searches queries. See [docs](http://localhost:8082/docs) for API details. -- **STAC Items And Mosaic Raster Tiles** API built on top of [https://github.com/stac-utils/titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) +- **OGC Features & Vector Tiles**: Built with [tipg](https://github.com/developmentseed/tipg) to create a lightweight OGC Features and Tiles API with a PostGIS database. See [docs](http://localhost:8083/api.html) for API details. -- **OGC Features and Vector Tiles** API built on top of [https://github.com/developmentseed/tipg](https://github.com/developmentseed/tipg) +See [service details](./services.md) for more information. +*Note: The documentation links referenced require lauching the application with `docker-compose` or another deployment*. + +--- ## Getting started @@ -40,7 +62,7 @@ - Navigate to the project: `cd eoAPI` - Run services with `docker-compose up` - Follow the [MAXAR open data demo](https://github.com/vincentsarago/MAXAR_opendata_to_pgstac) (or get inspired by the other [demos](./demo/)) to load some data into eoAPI -- Check out the [Search Viewer](http://localhost:8081/index.html), and the API documentation ([STAC Metadata](http://localhost:8081/docs), [Raster Tiles](http://localhost:8082/docs), [Vector Tiles](http://localhost:8083/api.html)) +- Checkout the [Search Viewer](http://localhost:8081/index.html), and the API documentation ([STAC Metadata](http://localhost:8081/docs), [Raster Tiles](http://localhost:8082/docs), [Vector Tiles](http://localhost:8083/api.html)) Alternatively, you may launch the application locally: ```bash @@ -56,4 +78,5 @@ export DATABASE_URL=postgresql://username:password@0.0.0.0:5439/postgis # Conne .venv/bin/uvicorn eoapi.{SERVICE}.app:app --port 8000 --reload ``` -Note: services might have incompatible dependencies which you can resolve by using a virtual environment for each service +Note: services might have incompatible dependencies which you can resolve by using virtual environement per service + From 106135ce3a4ac8d33763ad26a2a6b9746e0cb470 Mon Sep 17 00:00:00 2001 From: Vincent Sarago Date: Tue, 18 Jul 2023 10:54:45 +0200 Subject: [PATCH 6/6] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 5c20228..695e0f7 100644 --- a/README.md +++ b/README.md @@ -64,7 +64,7 @@ Note: services might have incompatible dependencies which you can resolve by usi This repository has the demonstration runtimes that are consistently updated with new functionality. -The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [k8s-eoapi](https://github.com/developmentseed/k8s-eoapi)). +The default runtimes are available through separate repositories ([eoapi-cdk](https://github.com/developmentseed/eoapi-cdk) and [eoapi-k8s](https://github.com/developmentseed/eoapi-k8s)). A demonstration application is accessible with the repository [eoapi-template](https://github.com/developmentseed/eoapi-template).