clear-skies-aws 2.0.13__tar.gz → 2.0.14__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 (83) hide show
  1. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.copier-answers.yml +1 -1
  2. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.github/workflows/docs.yaml +2 -0
  3. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/CHANGELOG.md +10 -0
  4. clear_skies_aws-2.0.14/LATEST_CHANGELOG.md +8 -0
  5. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/PKG-INFO +1 -1
  6. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/pyproject.toml +1 -1
  7. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/secrets/cache_storage/parameter_store_cache.py +1 -1
  8. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/secrets/parameter_store.py +20 -0
  9. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/uv.lock +1 -1
  10. clear_skies_aws-2.0.13/LATEST_CHANGELOG.md +0 -9
  11. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.editorconfig +0 -0
  12. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.github/workflows/create-version.yaml +0 -0
  13. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.github/workflows/run-tests.yml +0 -0
  14. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.github/workflows/tests-matrix.yaml +0 -0
  15. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.github/workflows/tests.yaml +0 -0
  16. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.gitignore +0 -0
  17. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.pre-commit-config.yaml +0 -0
  18. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.python-version +0 -0
  19. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/.vscode/settings.json +0 -0
  20. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/LICENSE +0 -0
  21. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/README.md +0 -0
  22. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/cliff.toml +0 -0
  23. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/ruff.toml +0 -0
  24. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/__init__.py +0 -0
  25. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/actions/__init__.py +0 -0
  26. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/actions/action_aws.py +0 -0
  27. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/actions/assume_role.py +0 -0
  28. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/actions/ses.py +0 -0
  29. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/actions/sns.py +0 -0
  30. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/actions/sqs.py +0 -0
  31. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/actions/step_function.py +0 -0
  32. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/backends/__init__.py +0 -0
  33. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/backends/backend.py +0 -0
  34. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/backends/dynamo_db_backend.py +0 -0
  35. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/backends/dynamo_db_condition_parser.py +0 -0
  36. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/backends/dynamo_db_parti_ql_backend.py +0 -0
  37. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/backends/sqs_backend.py +0 -0
  38. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/configs/__init__.py +0 -0
  39. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/__init__.py +0 -0
  40. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/cli_web_socket_mock.py +0 -0
  41. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/lambda_alb.py +0 -0
  42. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/lambda_api_gateway.py +0 -0
  43. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/lambda_api_gateway_web_socket.py +0 -0
  44. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/lambda_invoke.py +0 -0
  45. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/lambda_sns.py +0 -0
  46. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/lambda_sqs_standard.py +0 -0
  47. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/contexts/lambda_step_function.py +0 -0
  48. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/cursors/__init__.py +0 -0
  49. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/cursors/iam/__init__.py +0 -0
  50. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/cursors/iam/rds_mysql.py +0 -0
  51. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/cursors/port_forwarding/__init__.py +0 -0
  52. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/cursors/port_forwarding/ssm.py +0 -0
  53. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/di/__init__.py +0 -0
  54. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/di/aws_additional_config_auto_import.py +0 -0
  55. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/di/inject/__init__.py +0 -0
  56. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/di/inject/boto3.py +0 -0
  57. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/di/inject/boto3_session.py +0 -0
  58. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/di/inject/parameter_store.py +0 -0
  59. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/endpoints/__init__.py +0 -0
  60. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/endpoints/secrets_manager_rotation.py +0 -0
  61. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/endpoints/simple_body_routing.py +0 -0
  62. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/__init__.py +0 -0
  63. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/cli_web_socket_mock.py +0 -0
  64. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_alb.py +0 -0
  65. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_api_gateway.py +0 -0
  66. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_api_gateway_web_socket.py +0 -0
  67. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_input_output.py +0 -0
  68. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_invoke.py +0 -0
  69. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_sns.py +0 -0
  70. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_sqs_standard.py +0 -0
  71. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/input_outputs/lambda_step_function.py +0 -0
  72. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/mocks/__init__.py +0 -0
  73. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/mocks/actions/__init__.py +0 -0
  74. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/mocks/actions/ses.py +0 -0
  75. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/mocks/actions/sns.py +0 -0
  76. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/mocks/actions/sqs.py +0 -0
  77. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/mocks/actions/step_function.py +0 -0
  78. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/models/__init__.py +0 -0
  79. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/models/web_socket_connection_model.py +0 -0
  80. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/secrets/__init__.py +0 -0
  81. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/secrets/cache_storage/__init__.py +0 -0
  82. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/secrets/secrets.py +0 -0
  83. {clear_skies_aws-2.0.13 → clear_skies_aws-2.0.14}/src/clearskies_aws/secrets/secrets_manager.py +0 -0
@@ -1,5 +1,5 @@
1
1
  # Changes here will be overwritten by Copier; NEVER EDIT MANUALLY
2
- _commit: v0.0.45
2
+ _commit: v0.0.46
3
3
  _src_path: https://github.com/clearskies-py/clearskies-module-template
4
4
  author_email: tom.nijboer@cimpress.com
5
5
  author_name: Tom Nijboer
@@ -33,6 +33,8 @@ jobs:
33
33
  enable-cache: true
34
34
  - name: Publish
35
35
  run: |
36
+ uv sync --all-groups --all-extras
37
+ uv add clear-skies-doc-builder --group doc
36
38
  cd docs/python
37
39
  uv run build.py
38
40
  sudo apt update
@@ -5,12 +5,21 @@ 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.14] - 2026-01-28
9
+
10
+ ### Added
11
+ - Add retry for parameter store
12
+
13
+ ### Fixed
14
+ - Docs by updating to latest copier version
15
+
8
16
  ## [2.0.13] - 2026-01-28
9
17
 
10
18
  ### Added
11
19
  - Add support for aws secrets
12
20
 
13
21
  ### Changed
22
+ - Bump version to v2.0.13 by @github-actions[bot]
14
23
  - Update dependencies in [#13](https://github.com/clearskies-py/aws/pull/13)
15
24
  - Update to clearskies >=2.0.39
16
25
 
@@ -176,6 +185,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
176
185
  * @cmancone made their first contribution
177
186
  * @ made their first contribution
178
187
  * @github-actions[bot] made their first contribution
188
+ [2.0.14]: https://github.com/clearskies-py/aws/compare/v2.0.13..v2.0.14
179
189
  [2.0.13]: https://github.com/clearskies-py/aws/compare/v2.0.12..v2.0.13
180
190
  [2.0.12]: https://github.com/clearskies-py/aws/compare/v2.0.11..v2.0.12
181
191
  [2.0.11]: https://github.com/clearskies-py/aws/compare/v2.0.10..v2.0.11
@@ -0,0 +1,8 @@
1
+ ## [2.0.14] - 2026-01-28
2
+
3
+ ### Added
4
+ - Add retry for parameter store
5
+
6
+ ### Fixed
7
+ - Docs by updating to latest copier version
8
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clear-skies-aws
3
- Version: 2.0.13
3
+ Version: 2.0.14
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
@@ -3,7 +3,7 @@
3
3
  name = "clear-skies-aws"
4
4
  description = "clearskies bindings for working in AWS"
5
5
  license = "MIT"
6
- version = "2.0.13"
6
+ version = "2.0.14"
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'
@@ -55,7 +55,7 @@ class ParameterStoreCache(SecretCache):
55
55
  allow_cleanup = Boolean(default=False)
56
56
 
57
57
  @parameters_to_properties
58
- def __init__(self, prefix: str | None = None, allow_cleanup: bool = False):
58
+ def __init__(self, prefix: str | None = None, allow_cleanup: bool = False) -> None:
59
59
  """
60
60
  Initialize the Parameter Store cache.
61
61
 
@@ -3,6 +3,7 @@ from __future__ import annotations
3
3
  import re
4
4
  from typing import Any
5
5
 
6
+ from botocore.config import Config
6
7
  from botocore.exceptions import ClientError
7
8
  from clearskies.exceptions.not_found import NotFound
8
9
  from types_boto3_ssm import SSMClient
@@ -22,6 +23,9 @@ class ParameterStore(secrets.Secrets[SSMClient]):
22
23
  AWS SSM parameter paths only allow: a-z, A-Z, 0-9, -, _, ., /, @, and :
23
24
  Any disallowed characters in the path are replaced with hyphens.
24
25
 
26
+ The client is configured with adaptive retry mode which automatically handles
27
+ throttling exceptions with exponential backoff (up to 10 retries).
28
+
25
29
  ### Example Usage
26
30
 
27
31
  ```python
@@ -61,12 +65,25 @@ class ParameterStore(secrets.Secrets[SSMClient]):
61
65
  Return the boto3 SSM client.
62
66
 
63
67
  Creates a new client if one doesn't exist yet, using the AWS_REGION environment variable.
68
+ Configured with adaptive retry mode for better throttling handling.
64
69
  """
65
70
  if hasattr(self, "ssm"):
66
71
  return self.ssm
72
+
73
+ # Configure adaptive retry mode with increased max attempts for throttling
74
+ # Adaptive mode automatically adjusts retry behavior based on error responses
75
+ # and includes exponential backoff with jitter
76
+ retry_config = Config(
77
+ retries={
78
+ "max_attempts": 10,
79
+ "mode": "adaptive",
80
+ }
81
+ )
82
+
67
83
  self.ssm = self.boto3.client(
68
84
  "ssm",
69
85
  region_name=self.environment.get("AWS_REGION"),
86
+ config=retry_config,
70
87
  )
71
88
  return self.ssm
72
89
 
@@ -84,6 +101,9 @@ class ParameterStore(secrets.Secrets[SSMClient]):
84
101
 
85
102
  Returns the decrypted parameter value for the given path. If silent_if_not_found
86
103
  is True, returns None when the parameter is not found instead of raising NotFound.
104
+
105
+ Throttling is handled automatically by boto3's adaptive retry mode configured
106
+ on the client (up to 10 retries with exponential backoff and jitter).
87
107
  """
88
108
  sanitized_path = self._sanitize_path(path)
89
109
  try:
@@ -210,7 +210,7 @@ mysql = [
210
210
 
211
211
  [[package]]
212
212
  name = "clear-skies-aws"
213
- version = "2.0.13"
213
+ version = "2.0.14"
214
214
  source = { editable = "." }
215
215
  dependencies = [
216
216
  { name = "awslambdaric" },
@@ -1,9 +0,0 @@
1
- ## [2.0.13] - 2026-01-28
2
-
3
- ### Added
4
- - Add support for aws secrets
5
-
6
- ### Changed
7
- - Update dependencies in [#13](https://github.com/clearskies-py/aws/pull/13)
8
- - Update to clearskies >=2.0.39
9
-