eoapi-cdk 5.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,8 @@
1
+ ISC License:
2
+
3
+ Copyright (c) 2004-2010 by Internet Systems Consortium, Inc. ("ISC")
4
+ Copyright (c) 1995-2003 by Internet Software Consortium
5
+
6
+ Permission to use, copy, modify, and/or distribute this software for any purpose with or without fee is hereby granted, provided that the above copyright notice and this permission notice appear in all copies.
7
+
8
+ THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
@@ -0,0 +1 @@
1
+ include pyproject.toml
@@ -0,0 +1,78 @@
1
+ Metadata-Version: 2.1
2
+ Name: eoapi-cdk
3
+ Version: 5.0.0
4
+ Summary: A set of constructs deploying pgSTAC with CDK
5
+ Home-page: https://github.com/developmentseed/eoapi-cdk.git
6
+ Author: Anthony Lukach<anthony@developmentseed.org>
7
+ License: ISC
8
+ Project-URL: Source, https://github.com/developmentseed/eoapi-cdk.git
9
+ Platform: UNKNOWN
10
+ Classifier: Intended Audience :: Developers
11
+ Classifier: Operating System :: OS Independent
12
+ Classifier: Programming Language :: JavaScript
13
+ Classifier: Programming Language :: Python :: 3 :: Only
14
+ Classifier: Programming Language :: Python :: 3.7
15
+ Classifier: Programming Language :: Python :: 3.8
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Typing :: Typed
19
+ Classifier: Development Status :: 4 - Beta
20
+ Classifier: License :: OSI Approved
21
+ Requires-Python: ~=3.7
22
+ Description-Content-Type: text/markdown
23
+ License-File: LICENSE
24
+
25
+ # eoAPI CDK Constructs
26
+
27
+ eoapi-cdk is a package of [AWS CDK constructs](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/constructs-best-practices.html) designed to encapsulate eoAPI services and best practices as simple reusable components.
28
+
29
+ For more background on the included services see [The Earth Observation API](https://eoapi.dev/)
30
+
31
+ ## Included constructs
32
+
33
+ Detailed API docs for the constructs can be found [here](https://developmentseed.org/eoapi-cdk/).
34
+
35
+ ### [pgSTAC Database](https://developmentseed.org/eoapi-cdk/#pgstacdatabase-)
36
+
37
+ An [RDS](https://aws.amazon.com/rds/) instance with [pgSTAC](https://github.com/stac-utils/pgstac) installed and the Postgres parameters optimized for the selected instance type.
38
+
39
+ ### [STAC API](https://developmentseed.org/eoapi-cdk/#pgstacapilambda-)
40
+
41
+ A STAC API implementation using [stac-fastapi](https://github.com/stac-utils/stac-fastapi) with a [pgSTAC backend](https://github.com/stac-utils/stac-fastapi-pgstac). Packaged as a complete runtime for deployment with API Gateway and Lambda.
42
+
43
+ ### [pgSTAC Titiler API](https://developmentseed.org/eoapi-cdk/#titilerpgstacapilambda-)
44
+
45
+ A complete dynamic tiling API using [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) to create dynamic mosaics of assets based on [STAC Search queries](https://github.com/radiantearth/stac-api-spec/tree/master/item-search). Packaged as a complete runtime for deployment with API Gateway and Lambda and fully integrated with the pgSTAC Database construct.
46
+
47
+ ### [STAC Ingestor](https://developmentseed.org/eoapi-cdk/#stacingestor-)
48
+
49
+ An API for large scale STAC data ingestion and validation into a pgSTAC instance.
50
+
51
+ ![ingestor](/diagrams/ingestor_diagram.png)
52
+
53
+ Authentication for the STAC Ingestor API can be configured with JWTs authenticated by JWKS. To learn more about securing FastAPI applications with this approach see [Securing FastAPI with JWKS (AWS Cognito, Auth0)](https://alukach.com/posts/fastapi-rs256-jwt/).
54
+
55
+ A sample Cognito-based authentication system is available at [aws-asdi-auth](https://github.com/developmentseed/aws-asdi-auth).
56
+
57
+ ### [Bastion Host](https://developmentseed.org/eoapi-cdk/#bastionhost-)
58
+
59
+ A bastion host is a secure gateway that provides access to resources in a private subnet. In this case it provides the ability to make administrative connections to eoAPI's pgSTAC instance.
60
+
61
+ ![Alt text](/diagrams/bastion_diagram.png)
62
+
63
+ For more background on bastion hosts in AWS see [this article](https://dev.to/aws-builders/bastion-host-in-aws-vpc-2i63).
64
+
65
+ And for configuration instructions for this construct see [the docs](https://developmentseed.org/eoapi-cdk/#bastionhost-).
66
+
67
+ ## Published Packages
68
+
69
+ * https://pypi.org/project/eoapi-cdk/
70
+ * https://www.npmjs.com/package/eoapi-cdk/
71
+
72
+ ## Release
73
+
74
+ Versioning is automatically handled via [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) and [Semantic Release](https://semantic-release.gitbook.io/semantic-release/).
75
+
76
+ *Warning*: If you rebase `main`, you must ensure that the commits referenced by tags point to commits that are within the `main` branch. If a commit references a commit that is no longer on the `main` branch, Semantic Release will fail to detect the correct version of the project. [More information](https://github.com/semantic-release/semantic-release/issues/1121#issuecomment-517945233).
77
+
78
+
@@ -0,0 +1,52 @@
1
+ # eoAPI CDK Constructs
2
+
3
+ eoapi-cdk is a package of [AWS CDK constructs](https://docs.aws.amazon.com/prescriptive-guidance/latest/best-practices-cdk-typescript-iac/constructs-best-practices.html) designed to encapsulate eoAPI services and best practices as simple reusable components.
4
+
5
+ For more background on the included services see [The Earth Observation API](https://eoapi.dev/)
6
+
7
+ ## Included constructs
8
+
9
+ Detailed API docs for the constructs can be found [here](https://developmentseed.org/eoapi-cdk/).
10
+
11
+ ### [pgSTAC Database](https://developmentseed.org/eoapi-cdk/#pgstacdatabase-)
12
+
13
+ An [RDS](https://aws.amazon.com/rds/) instance with [pgSTAC](https://github.com/stac-utils/pgstac) installed and the Postgres parameters optimized for the selected instance type.
14
+
15
+ ### [STAC API](https://developmentseed.org/eoapi-cdk/#pgstacapilambda-)
16
+
17
+ A STAC API implementation using [stac-fastapi](https://github.com/stac-utils/stac-fastapi) with a [pgSTAC backend](https://github.com/stac-utils/stac-fastapi-pgstac). Packaged as a complete runtime for deployment with API Gateway and Lambda.
18
+
19
+ ### [pgSTAC Titiler API](https://developmentseed.org/eoapi-cdk/#titilerpgstacapilambda-)
20
+
21
+ A complete dynamic tiling API using [titiler-pgstac](https://github.com/stac-utils/titiler-pgstac) to create dynamic mosaics of assets based on [STAC Search queries](https://github.com/radiantearth/stac-api-spec/tree/master/item-search). Packaged as a complete runtime for deployment with API Gateway and Lambda and fully integrated with the pgSTAC Database construct.
22
+
23
+ ### [STAC Ingestor](https://developmentseed.org/eoapi-cdk/#stacingestor-)
24
+
25
+ An API for large scale STAC data ingestion and validation into a pgSTAC instance.
26
+
27
+ ![ingestor](/diagrams/ingestor_diagram.png)
28
+
29
+ Authentication for the STAC Ingestor API can be configured with JWTs authenticated by JWKS. To learn more about securing FastAPI applications with this approach see [Securing FastAPI with JWKS (AWS Cognito, Auth0)](https://alukach.com/posts/fastapi-rs256-jwt/).
30
+
31
+ A sample Cognito-based authentication system is available at [aws-asdi-auth](https://github.com/developmentseed/aws-asdi-auth).
32
+
33
+ ### [Bastion Host](https://developmentseed.org/eoapi-cdk/#bastionhost-)
34
+
35
+ A bastion host is a secure gateway that provides access to resources in a private subnet. In this case it provides the ability to make administrative connections to eoAPI's pgSTAC instance.
36
+
37
+ ![Alt text](/diagrams/bastion_diagram.png)
38
+
39
+ For more background on bastion hosts in AWS see [this article](https://dev.to/aws-builders/bastion-host-in-aws-vpc-2i63).
40
+
41
+ And for configuration instructions for this construct see [the docs](https://developmentseed.org/eoapi-cdk/#bastionhost-).
42
+
43
+ ## Published Packages
44
+
45
+ * https://pypi.org/project/eoapi-cdk/
46
+ * https://www.npmjs.com/package/eoapi-cdk/
47
+
48
+ ## Release
49
+
50
+ Versioning is automatically handled via [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) and [Semantic Release](https://semantic-release.gitbook.io/semantic-release/).
51
+
52
+ *Warning*: If you rebase `main`, you must ensure that the commits referenced by tags point to commits that are within the `main` branch. If a commit references a commit that is no longer on the `main` branch, Semantic Release will fail to detect the correct version of the project. [More information](https://github.com/semantic-release/semantic-release/issues/1121#issuecomment-517945233).
@@ -0,0 +1,9 @@
1
+ [build-system]
2
+ requires = ["setuptools~=62.1.0", "wheel~=0.37.1"]
3
+ build-backend = "setuptools.build_meta"
4
+
5
+ [tool.pyright]
6
+ defineConstant = { DEBUG = true }
7
+ pythonVersion = "3.7"
8
+ pythonPlatform = "All"
9
+ reportSelfClsParameterName = false
@@ -0,0 +1,4 @@
1
+ [egg_info]
2
+ tag_build =
3
+ tag_date = 0
4
+
@@ -0,0 +1,67 @@
1
+ import json
2
+ import setuptools
3
+
4
+ kwargs = json.loads(
5
+ """
6
+ {
7
+ "name": "eoapi-cdk",
8
+ "version": "5.0.0",
9
+ "description": "A set of constructs deploying pgSTAC with CDK",
10
+ "license": "ISC",
11
+ "url": "https://github.com/developmentseed/eoapi-cdk.git",
12
+ "long_description_content_type": "text/markdown",
13
+ "author": "Anthony Lukach<anthony@developmentseed.org>",
14
+ "bdist_wheel": {
15
+ "universal": true
16
+ },
17
+ "project_urls": {
18
+ "Source": "https://github.com/developmentseed/eoapi-cdk.git"
19
+ },
20
+ "package_dir": {
21
+ "": "src"
22
+ },
23
+ "packages": [
24
+ "eoapi_cdk",
25
+ "eoapi_cdk._jsii"
26
+ ],
27
+ "package_data": {
28
+ "eoapi_cdk._jsii": [
29
+ "eoapi-cdk@5.0.0.jsii.tgz"
30
+ ],
31
+ "eoapi_cdk": [
32
+ "py.typed"
33
+ ]
34
+ },
35
+ "python_requires": "~=3.7",
36
+ "install_requires": [
37
+ "aws-cdk-lib>=2.75.0, <3.0.0",
38
+ "aws-cdk.aws-apigatewayv2-integrations-alpha>=2.47.0.a0, <3.0.0",
39
+ "aws-cdk.aws-lambda-python-alpha>=2.47.0.a0, <3.0.0",
40
+ "constructs>=10.1.113, <11.0.0",
41
+ "jsii>=1.69.0, <2.0.0",
42
+ "publication>=0.0.3",
43
+ "typeguard~=2.13.3"
44
+ ],
45
+ "classifiers": [
46
+ "Intended Audience :: Developers",
47
+ "Operating System :: OS Independent",
48
+ "Programming Language :: JavaScript",
49
+ "Programming Language :: Python :: 3 :: Only",
50
+ "Programming Language :: Python :: 3.7",
51
+ "Programming Language :: Python :: 3.8",
52
+ "Programming Language :: Python :: 3.9",
53
+ "Programming Language :: Python :: 3.10",
54
+ "Typing :: Typed",
55
+ "Development Status :: 4 - Beta",
56
+ "License :: OSI Approved"
57
+ ],
58
+ "scripts": []
59
+ }
60
+ """
61
+ )
62
+
63
+ with open("README.md", encoding="utf8") as fp:
64
+ kwargs["long_description"] = fp.read()
65
+
66
+
67
+ setuptools.setup(**kwargs)