clear-skies-aws 2.0.9__tar.gz → 2.0.11__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.
Files changed (84) hide show
  1. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.github/workflows/run-tests.yml +1 -1
  2. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.github/workflows/tests-matrix.yaml +11 -23
  3. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.pre-commit-config.yaml +0 -6
  4. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/CHANGELOG.md +19 -0
  5. clear_skies_aws-2.0.11/LATEST_CHANGELOG.md +8 -0
  6. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/PKG-INFO +3 -3
  7. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/pyproject.toml +3 -3
  8. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/lambda_alb.py +2 -1
  9. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/lambda_api_gateway.py +2 -1
  10. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/lambda_api_gateway_web_socket.py +2 -1
  11. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/lambda_invoke.py +2 -1
  12. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/lambda_sns.py +4 -1
  13. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/lambda_sqs_standard.py +2 -1
  14. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/lambda_alb.py +2 -1
  15. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/lambda_api_gateway.py +2 -1
  16. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/lambda_api_gateway_web_socket.py +2 -1
  17. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/lambda_input_output.py +8 -2
  18. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/lambda_invoke.py +2 -1
  19. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/lambda_sns.py +2 -1
  20. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/lambda_sqs_standard.py +2 -1
  21. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/uv.lock +299 -254
  22. clear_skies_aws-2.0.9/LATEST_CHANGELOG.md +0 -9
  23. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.copier-answers.yml +0 -0
  24. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.editorconfig +0 -0
  25. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.github/workflows/create-version.yaml +0 -0
  26. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.github/workflows/docs.yaml +0 -0
  27. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.github/workflows/tests.yaml +0 -0
  28. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.gitignore +0 -0
  29. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/.python-version +0 -0
  30. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/LICENSE +0 -0
  31. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/README.md +0 -0
  32. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/cliff.toml +0 -0
  33. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/ruff.toml +0 -0
  34. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/__init__.py +0 -0
  35. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/actions/__init__.py +0 -0
  36. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/actions/action_aws.py +0 -0
  37. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/actions/assume_role.py +0 -0
  38. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/actions/ses.py +0 -0
  39. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/actions/sns.py +0 -0
  40. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/actions/sqs.py +0 -0
  41. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/actions/step_function.py +0 -0
  42. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/backends/__init__.py +0 -0
  43. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/backends/backend.py +0 -0
  44. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/backends/dynamo_db_backend.py +0 -0
  45. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/backends/dynamo_db_condition_parser.py +0 -0
  46. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/backends/dynamo_db_parti_ql_backend.py +0 -0
  47. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/backends/sqs_backend.py +0 -0
  48. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/configs/__init__.py +0 -0
  49. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/__init__.py +0 -0
  50. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/contexts/cli_web_socket_mock.py +0 -0
  51. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/cursors/__init__.py +0 -0
  52. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/cursors/iam/__init__.py +0 -0
  53. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/cursors/iam/rds_mysql.py +0 -0
  54. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/cursors/port_forwarding/__init__.py +0 -0
  55. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/cursors/port_forwarding/ssm.py +0 -0
  56. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/di/__init__.py +0 -0
  57. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/di/aws_additional_config_auto_import.py +0 -0
  58. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/di/inject/__init__.py +0 -0
  59. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/di/inject/boto3.py +0 -0
  60. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/di/inject/boto3_session.py +0 -0
  61. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/di/inject/parameter_store.py +0 -0
  62. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/endpoints/__init__.py +0 -0
  63. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/endpoints/secrets_manager_rotation.py +0 -0
  64. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/endpoints/simple_body_routing.py +0 -0
  65. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/__init__.py +0 -0
  66. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/input_outputs/cli_web_socket_mock.py +0 -0
  67. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/mocks/__init__.py +0 -0
  68. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/mocks/actions/__init__.py +0 -0
  69. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/mocks/actions/ses.py +0 -0
  70. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/mocks/actions/sns.py +0 -0
  71. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/mocks/actions/sqs.py +0 -0
  72. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/mocks/actions/step_function.py +0 -0
  73. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/models/__init__.py +0 -0
  74. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/models/web_socket_connection_model.py +0 -0
  75. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/__init__.py +0 -0
  76. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/additional_configs/__init__.py +0 -0
  77. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/additional_configs/iam_db_auth.py +0 -0
  78. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/additional_configs/iam_db_auth_with_ssm.py +0 -0
  79. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +0 -0
  80. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssm_bastion.py +0 -0
  81. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/akeyless_with_ssm_cache.py +0 -0
  82. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/parameter_store.py +0 -0
  83. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/secrets.py +0 -0
  84. {clear_skies_aws-2.0.9 → clear_skies_aws-2.0.11}/src/clearskies_aws/secrets/secrets_manager.py +0 -0
@@ -67,8 +67,8 @@ jobs:
67
67
  python-version: ${{ matrix.python-version }}
68
68
  run-mypy: ${{ needs.changes.outputs.tests == 'true' }}
69
69
  run-pytest: ${{ needs.changes.outputs.tests == 'true' }}
70
- run-black: ${{ needs.changes.outputs.tests == 'true' }}
71
70
  run-ruff-check: ${{ needs.changes.outputs.tests == 'true' }}
71
+ run-ruff-format: ${{ needs.changes.outputs.tests == 'true' }}
72
72
  secrets: inherit
73
73
  strategy:
74
74
  matrix:
@@ -14,10 +14,10 @@ on:
14
14
  run-pytest:
15
15
  required: true
16
16
  type: boolean
17
- run-black:
17
+ run-ruff-check:
18
18
  required: true
19
19
  type: boolean
20
- run-ruff-check:
20
+ run-ruff-format:
21
21
  required: true
22
22
  type: boolean
23
23
 
@@ -69,27 +69,6 @@ jobs:
69
69
  - run: git diff --exit-code --stat
70
70
  continue-on-error: true
71
71
 
72
- black:
73
- name: black
74
- runs-on: ${{ inputs.runner }}
75
- if: inputs.run-black
76
- steps:
77
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683
78
- - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
79
- with:
80
- persist-credentials: false
81
-
82
- - name: Install uv and set the python version
83
- uses: astral-sh/setup-uv@v6
84
- with:
85
- python-version: ${{ inputs.python-version }}
86
- enable-cache: true
87
- - name: Install dependencies
88
- run: uv sync --locked --all-extras --dev
89
- - uses: psf/black@stable
90
- with:
91
- options: "--check --verbose"
92
- src: "./src"
93
72
 
94
73
  ruff-check:
95
74
  name: ruff-check
@@ -99,3 +78,12 @@ jobs:
99
78
  - uses: astral-sh/ruff-action@v3
100
79
  with:
101
80
  args: "check --diff"
81
+
82
+ ruff-format:
83
+ name: ruff-format
84
+ runs-on: ${{ inputs.runner }}
85
+ if: inputs.run-ruff-format
86
+ steps:
87
+ - uses: astral-sh/ruff-action@v3
88
+ with:
89
+ args: "format --diff"
@@ -36,12 +36,6 @@ repos:
36
36
  hooks:
37
37
  - id: uv-lock
38
38
 
39
- - repo: https://github.com/psf/black
40
- rev: 25.1.0
41
- hooks:
42
- - id: black
43
- files: \.py$
44
-
45
39
  - repo: https://github.com/astral-sh/ruff-pre-commit
46
40
  rev: v0.12.1
47
41
  hooks:
@@ -5,9 +5,26 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [2.0.11] - 2026-01-21
9
+
10
+ ### Fixed
11
+ - Set correct type for context
12
+
13
+ ### Removed
14
+ - Remove black
15
+
16
+ ## [2.0.10] - 2026-01-21
17
+
18
+ ### Changed
19
+ - Bump version to v2.0.10 by @github-actions[bot]
20
+
21
+ ### Fixed
22
+ - Jinja2 import
23
+
8
24
  ## [2.0.9] - 2026-01-14
9
25
 
10
26
  ### Changed
27
+ - Bump version to v2.0.9 by @github-actions[bot]
11
28
  - Lock update
12
29
  - Check if url is set
13
30
 
@@ -130,6 +147,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
130
147
  * @cmancone made their first contribution
131
148
  * @ made their first contribution
132
149
  * @github-actions[bot] made their first contribution
150
+ [2.0.11]: https://github.com/clearskies-py/aws/compare/v2.0.10..v2.0.11
151
+ [2.0.10]: https://github.com/clearskies-py/aws/compare/v2.0.9..v2.0.10
133
152
  [2.0.9]: https://github.com/clearskies-py/aws/compare/v2.0.8..v2.0.9
134
153
  [2.0.8]: https://github.com/clearskies-py/aws/compare/v2.0.7..v2.0.8
135
154
  [2.0.7]: https://github.com/clearskies-py/aws/compare/v2.0.6..v2.0.7
@@ -0,0 +1,8 @@
1
+ ## [2.0.11] - 2026-01-21
2
+
3
+ ### Fixed
4
+ - Set correct type for context
5
+
6
+ ### Removed
7
+ - Remove black
8
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clear-skies-aws
3
- Version: 2.0.9
3
+ Version: 2.0.11
4
4
  Summary: clearskies bindings for working in AWS
5
5
  Project-URL: Repository, https://github.com/clearskies-py/clearskies-aws
6
6
  Project-URL: Issues, https://github.com/clearskies-py/clearskies-aws/issues
@@ -15,16 +15,16 @@ Classifier: Intended Audience :: Developers
15
15
  Classifier: License :: OSI Approved :: MIT License
16
16
  Classifier: Programming Language :: Python :: 3
17
17
  Requires-Python: <4.0,>=3.11
18
+ Requires-Dist: awslambdaric>=3.1.1
18
19
  Requires-Dist: boto3<2.0.0,>=1.26.148
19
20
  Requires-Dist: clear-skies<3.0.0,>=2.0.20
21
+ Requires-Dist: jinja2>=3.1.6
20
22
  Requires-Dist: types-boto3[dynamodb,secretsmanager,ses,sns,sqs,ssm,stepfunctions]<2.0.0,>=1.38.13
21
23
  Provides-Extra: akeyless
22
24
  Requires-Dist: akeyless-cloud-id<0.5.0,>=0.2.3; extra == 'akeyless'
23
25
  Requires-Dist: akeyless<6.0.0,>=5.0.0; extra == 'akeyless'
24
26
  Provides-Extra: mysql
25
27
  Requires-Dist: clear-skies[mysql]; extra == 'mysql'
26
- Provides-Extra: ses
27
- Requires-Dist: jinja2<4.0.0,>=3.1.2; extra == 'ses'
28
28
  Description-Content-Type: text/markdown
29
29
 
30
30
  # clearskies-aws
@@ -3,13 +3,15 @@
3
3
  name = "clear-skies-aws"
4
4
  description = "clearskies bindings for working in AWS"
5
5
  license = "MIT"
6
- version = "2.0.9"
6
+ version = "2.0.11"
7
7
  readme = "./README.md"
8
8
  authors = [{name = "tnijboer"}, {name = "Conor Mancone", email = "cmancone@gmail.com"}]
9
9
  requires-python = '>=3.11,<4.0'
10
10
  dependencies = [
11
+ "awslambdaric>=3.1.1",
11
12
  'boto3 (>=1.26.148,<2.0.0)',
12
13
  "clear-skies>=2.0.20,<3.0.0",
14
+ "jinja2>=3.1.6",
13
15
  'types-boto3[dynamodb,sns,sqs,ses,ssm,secretsmanager,stepfunctions] (>=1.38.13,<2.0.0)',
14
16
  ]
15
17
  classifiers = [
@@ -27,7 +29,6 @@ Documentation = "https://clearskies.info/modules/clearskies-aws/"
27
29
 
28
30
  [project.optional-dependencies]
29
31
  akeyless = ['akeyless-cloud-id (>=0.2.3,<0.5.0)', 'akeyless (>=5.0.0,<6.0.0)']
30
- ses = ['jinja2 (>=3.1.2,<4.0.0)']
31
32
  mysql = ['clear-skies[mysql]']
32
33
 
33
34
  [build-system]
@@ -77,7 +78,6 @@ markers = [
77
78
  # This is the dedicated section for uv"s configuration
78
79
  [dependency-groups]
79
80
  dev = [
80
- "black>=25.1.0",
81
81
  "mypy>=1.18.1",
82
82
  "pre-commit>=4.3.0",
83
83
  "pytest>=8.4.1",
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from awslambdaric.lambda_context import LambdaContext
5
6
  from clearskies.contexts.context import Context
6
7
 
7
8
  from clearskies_aws.input_outputs import LambdaAlb as LambdaAlbInputOutput
@@ -77,5 +78,5 @@ class LambdaAlb(Context):
77
78
  ```
78
79
  """
79
80
 
80
- def __call__(self, event: dict[str, Any], context: dict[str, Any]) -> Any: # type: ignore[override]
81
+ def __call__(self, event: dict[str, Any], context: LambdaContext | dict[str, Any]) -> Any: # type: ignore[override]
81
82
  return self.execute_application(LambdaAlbInputOutput(event, context))
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from awslambdaric.lambda_context import LambdaContext
5
6
  from clearskies.contexts.context import Context
6
7
 
7
8
  from clearskies_aws.input_outputs import LambdaApiGateway as LambdaApiGatewayInputOutput
@@ -77,5 +78,5 @@ class LambdaApiGateway(Context):
77
78
  ```
78
79
  """
79
80
 
80
- def __call__(self, event: dict[str, Any], context: dict[str, Any]) -> dict[str, Any]: # type: ignore[override]
81
+ def __call__(self, event: dict[str, Any], context: LambdaContext | dict[str, Any]) -> dict[str, Any]: # type: ignore[override]
81
82
  return self.execute_application(LambdaApiGatewayInputOutput(event, context))
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from awslambdaric.lambda_context import LambdaContext
5
6
  from clearskies.contexts.context import Context
6
7
 
7
8
  from clearskies_aws.input_outputs import (
@@ -74,6 +75,6 @@ class LambdaApiGatewayWebSocket(Context):
74
75
  """
75
76
 
76
77
  def __call__( # type: ignore[override]
77
- self, event: dict[str, Any], context: dict[str, Any], url: str = "", request_method: str = ""
78
+ self, event: dict[str, Any], context: LambdaContext | dict[str, Any], url: str = "", request_method: str = ""
78
79
  ) -> dict[str, Any]:
79
80
  return self.execute_application(LambdaApiGatewayWebSocketInputOutput(event, context, url))
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from awslambdaric.lambda_context import LambdaContext
5
6
  from clearskies.authentication import Public
6
7
  from clearskies.contexts.context import Context
7
8
 
@@ -126,7 +127,7 @@ class LambdaInvoke(Context):
126
127
  """
127
128
 
128
129
  def __call__( # type: ignore[override]
129
- self, event: dict[str, Any], context: dict[str, Any], request_method: str = "", url: str = ""
130
+ self, event: dict[str, Any], context: LambdaContext | dict[str, Any], request_method: str = "", url: str = ""
130
131
  ) -> dict[str, Any]:
131
132
  return self.execute_application(
132
133
  LambdaInvokeInputOutput(
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from awslambdaric.lambda_context import LambdaContext
5
6
  from clearskies.authentication import Public
6
7
  from clearskies.contexts.context import Context
7
8
 
@@ -114,7 +115,9 @@ class LambdaSns(Context):
114
115
  ```
115
116
  """
116
117
 
117
- def __call__(self, event: dict[str, Any], context: dict[str, Any], request_method: str = "", url: str = ""): # type: ignore[override]
118
+ def __call__(
119
+ self, event: dict[str, Any], context: LambdaContext | dict[str, Any], request_method: str = "", url: str = ""
120
+ ): # type: ignore[override]
118
121
  try:
119
122
  return self.execute_application(
120
123
  LambdaSnsInputOutput(event, context, request_method=request_method, url=url)
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import traceback
4
4
  from typing import Any
5
5
 
6
+ from awslambdaric.lambda_context import LambdaContext
6
7
  from clearskies.authentication import Public
7
8
  from clearskies.contexts.context import Context
8
9
 
@@ -121,7 +122,7 @@ class LambdaSqsStandard(Context):
121
122
  """
122
123
 
123
124
  def __call__( # type: ignore[override]
124
- self, event: dict[str, Any], context: dict[str, Any], url: str = "", request_method: str = ""
125
+ self, event: dict[str, Any], context: LambdaContext | dict[str, Any], url: str = "", request_method: str = ""
125
126
  ) -> dict[str, Any]:
126
127
  item_failures = []
127
128
  for record in event["Records"]:
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from awslambdaric.lambda_context import LambdaContext
5
6
  from clearskies.configs import String
6
7
  from clearskies.input_outputs import Headers
7
8
 
@@ -11,7 +12,7 @@ from clearskies_aws.input_outputs import lambda_input_output
11
12
  class LambdaAlb(lambda_input_output.LambdaInputOutput):
12
13
  """Application Load Balancer specific Lambda input/output handler."""
13
14
 
14
- def __init__(self, event: dict[str, Any], context: dict[str, Any]):
15
+ def __init__(self, event: dict[str, Any], context: LambdaContext | dict[str, Any]):
15
16
  # Call parent constructor
16
17
  super().__init__(event, context)
17
18
 
@@ -2,6 +2,7 @@ from __future__ import annotations
2
2
 
3
3
  from typing import Any
4
4
 
5
+ from awslambdaric.lambda_context import LambdaContext
5
6
  from clearskies.configs import String
6
7
  from clearskies.input_outputs import Headers
7
8
 
@@ -13,7 +14,7 @@ class LambdaApiGateway(lambda_input_output.LambdaInputOutput):
13
14
 
14
15
  resource = String(default="")
15
16
 
16
- def __init__(self, event: dict, context: dict[str, Any]):
17
+ def __init__(self, event: dict, context: LambdaContext | dict[str, Any]):
17
18
  # Call parent constructor
18
19
  super().__init__(event, context)
19
20
 
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import json
4
4
  from typing import Any
5
5
 
6
+ from awslambdaric.lambda_context import LambdaContext
6
7
  from clearskies.configs import String
7
8
  from clearskies.input_outputs import Headers
8
9
 
@@ -15,7 +16,7 @@ class LambdaApiGatewayWebSocket(lambda_input_output.LambdaInputOutput):
15
16
  route_key = String(default="")
16
17
  connection_id = String(default="")
17
18
 
18
- def __init__(self, event: dict[str, Any], context: dict[str, Any], url: str = ""):
19
+ def __init__(self, event: dict[str, Any], context: LambdaContext | dict[str, Any], url: str = ""):
19
20
  # Call parent constructor
20
21
  super().__init__(event, context)
21
22
 
@@ -6,6 +6,8 @@ from abc import abstractmethod
6
6
  from typing import Any, cast
7
7
  from urllib.parse import urlencode
8
8
 
9
+ from awslambdaric.lambda_context import LambdaContext
10
+ from clearskies.configs import Any as AnyConfig
9
11
  from clearskies.configs import AnyDict, String
10
12
  from clearskies.input_outputs import InputOutput
11
13
 
@@ -14,14 +16,18 @@ class LambdaInputOutput(InputOutput):
14
16
  """Base class for Lambda input/output handlers that provides common Lambda functionality."""
15
17
 
16
18
  event = AnyDict(default={})
17
- context = AnyDict(default={})
19
+ context = AnyConfig(default={})
18
20
  path = String(default="/")
19
21
 
20
22
  _cached_body = None
21
23
  _body_was_cached = False
22
24
 
23
25
  def __init__(
24
- self, event: dict[str, Any], context: dict[str, Any], url: str | None = "", request_method: str | None = ""
26
+ self,
27
+ event: dict[str, Any],
28
+ context: LambdaContext | dict[str, Any],
29
+ url: str | None = "",
30
+ request_method: str | None = "",
25
31
  ):
26
32
  # Store event and context
27
33
  self.event = event
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import json
4
4
  from typing import Any
5
5
 
6
+ from awslambdaric.lambda_context import LambdaContext
6
7
  from clearskies.exceptions import ClientError
7
8
  from clearskies.input_outputs import Headers
8
9
 
@@ -15,7 +16,7 @@ class LambdaInvoke(lambda_input_output.LambdaInputOutput):
15
16
  def __init__(
16
17
  self,
17
18
  event: dict[str, Any],
18
- context: dict[str, Any],
19
+ context: LambdaContext | dict[str, Any],
19
20
  request_method: str = "",
20
21
  url: str = "",
21
22
  ):
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import json
4
4
  from typing import Any
5
5
 
6
+ from awslambdaric.lambda_context import LambdaContext
6
7
  from clearskies.exceptions import ClientError
7
8
  from clearskies.input_outputs import Headers
8
9
 
@@ -14,7 +15,7 @@ class LambdaSns(lambda_input_output.LambdaInputOutput):
14
15
 
15
16
  record: dict[str, Any]
16
17
 
17
- def __init__(self, event: dict, context: dict[str, Any], url: str = "", request_method: str = ""):
18
+ def __init__(self, event: dict, context: LambdaContext | dict[str, Any], url: str = "", request_method: str = ""):
18
19
  # Call parent constructor
19
20
  super().__init__(event, context)
20
21
 
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import json
4
4
  from typing import Any
5
5
 
6
+ from awslambdaric.lambda_context import LambdaContext
6
7
  from clearskies.configs import AnyDict, String
7
8
  from clearskies.exceptions import ClientError
8
9
  from clearskies.input_outputs import Headers
@@ -20,7 +21,7 @@ class LambdaSqsStandard(lambda_input_output.LambdaInputOutput):
20
21
  self,
21
22
  record: dict[str, Any],
22
23
  event: dict[str, Any],
23
- context: dict[str, Any],
24
+ context: LambdaContext | dict[str, Any],
24
25
  url: str = "",
25
26
  request_method: str = "",
26
27
  ):