clear-skies-aws 2.0.14__py3-none-any.whl → 2.0.16__py3-none-any.whl

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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: clear-skies-aws
3
- Version: 2.0.14
3
+ Version: 2.0.16
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
@@ -17,7 +17,7 @@ Classifier: Programming Language :: Python :: 3
17
17
  Requires-Python: <4.0,>=3.11
18
18
  Requires-Dist: awslambdaric>=3.1.1
19
19
  Requires-Dist: boto3<2.0.0,>=1.26.148
20
- Requires-Dist: clear-skies<3.0.0,>=2.0.39
20
+ Requires-Dist: clear-skies<3.0.0,>=2.0.42
21
21
  Requires-Dist: jinja2>=3.1.6
22
22
  Requires-Dist: types-boto3[dynamodb,secretsmanager,ses,sns,sqs,ssm,stepfunctions]<2.0.0,>=1.38.13
23
23
  Provides-Extra: akeyless
@@ -7,10 +7,10 @@ clearskies_aws/actions/sns.py,sha256=YS1TbEwtU-0lDbjG2HyTBs2J-ML5OL3ModAiGTMeK-c
7
7
  clearskies_aws/actions/sqs.py,sha256=r0z8njU87n09UgAq3l34JuNIbaBE85D_z8IE6ciIs9Q,3359
8
8
  clearskies_aws/actions/step_function.py,sha256=Y6tGbQJIAD_IwV9ohwYfuv3vqtryTwpFTNGUFgdj_DQ,2689
9
9
  clearskies_aws/backends/__init__.py,sha256=lmjWPoLN7Ebmdj3Pv5X1tJDcRWN3PsR8aGG9nDcqOrs,635
10
- clearskies_aws/backends/backend.py,sha256=uxGlThqp2vbCcvQPimFwwPKaF0oqHAjmTgymmjOoTqc,4224
10
+ clearskies_aws/backends/backend.py,sha256=_aOvI_7LaFJALuz5BKuGC_ievFtXwrVsY0MuND9wJDA,4199
11
11
  clearskies_aws/backends/dynamo_db_backend.py,sha256=0KfAow5pUXpiBg0rRWtG3j48mpHUtJP9q-C2FfpBeqA,29411
12
- clearskies_aws/backends/dynamo_db_condition_parser.py,sha256=796BhrqqZy_lW4wVYbDKK85oVVKa0YnWbtl4Bb0RNF0,12637
13
- clearskies_aws/backends/dynamo_db_parti_ql_backend.py,sha256=p0SdrRq467w0w5OxYscxPfqUOjrkZ41JLmJa3KQCXq8,46097
12
+ clearskies_aws/backends/dynamo_db_condition_parser.py,sha256=1EDYj1pJikfGxoU-zvc2Q6VKVjTEqBl-V1r3fPm7_CM,12636
13
+ clearskies_aws/backends/dynamo_db_parti_ql_backend.py,sha256=tTlECSYc3qQpy68ABXkEeKoJuom5IKPhWceyQ5kE_7U,46505
14
14
  clearskies_aws/backends/sqs_backend.py,sha256=uOGi8UeqBsReTDdaCA2X-V4lo4pXpyTsaz1WHHetPYQ,2238
15
15
  clearskies_aws/configs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
16
  clearskies_aws/contexts/__init__.py,sha256=kHru0DK5wpu8Lgx2umVPwqQz5rYRvA50Brnw8HxPgfU,819
@@ -55,12 +55,12 @@ clearskies_aws/mocks/actions/step_function.py,sha256=ENEVy8Ai3vPymbQre5aWa5z2McB
55
55
  clearskies_aws/models/__init__.py,sha256=tAU5cPGRSzSClNVRCBxzwlBq6eZO8fftuI3bG1jEyVQ,87
56
56
  clearskies_aws/models/web_socket_connection_model.py,sha256=5M1qfQHKuWMYPUDkwT48QPo2ROey7koizvWLfapsfow,7492
57
57
  clearskies_aws/secrets/__init__.py,sha256=5QWfe6IyHdAyfOJVZJ52qM5hTkw1siMJ6q6YW95-Jl8,345
58
- clearskies_aws/secrets/parameter_store.py,sha256=qMvjSjZ8VJ5piKm7mhLua8w9vHcm9SXcjF6_spbmF_I,7403
58
+ clearskies_aws/secrets/parameter_store.py,sha256=gSmJZkG5ThfGyEG3dSYDTZyfOIOIgCHqx-f1AkRC6D0,7395
59
59
  clearskies_aws/secrets/secrets.py,sha256=P30Yx0pkxjPnwCNw8ixoUu--4B7EEsg6gpOlazrk4Oc,956
60
60
  clearskies_aws/secrets/secrets_manager.py,sha256=VhqKw4W65y3RRoFt9Ws5g7Q8nv2ACqkDYwxwgRpU-sk,7026
61
61
  clearskies_aws/secrets/cache_storage/__init__.py,sha256=A6_rUn95NQjJu_VDDNQ1mDDNye18QYGGhXM66orGnb8,255
62
62
  clearskies_aws/secrets/cache_storage/parameter_store_cache.py,sha256=KXGZ5ITni0HunoQhGLK4puvsTxhiwXccnS8RORjwSIw,4036
63
- clear_skies_aws-2.0.14.dist-info/METADATA,sha256=6NEtQp_GRMx4EP4en6ovZbdGQC5uGdAZn-8gQwPdHUI,9077
64
- clear_skies_aws-2.0.14.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
65
- clear_skies_aws-2.0.14.dist-info/licenses/LICENSE,sha256=MkEX8JF8kZxdyBpTTcB0YTd-xZpWnHvbRlw-pQh8u58,1069
66
- clear_skies_aws-2.0.14.dist-info/RECORD,,
63
+ clear_skies_aws-2.0.16.dist-info/METADATA,sha256=rMauYfqg1CuPGXx--pcs5xltpts-f_Wrguebbzyj9LM,9077
64
+ clear_skies_aws-2.0.16.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
65
+ clear_skies_aws-2.0.16.dist-info/licenses/LICENSE,sha256=MkEX8JF8kZxdyBpTTcB0YTd-xZpWnHvbRlw-pQh8u58,1069
66
+ clear_skies_aws-2.0.16.dist-info/RECORD,,
@@ -17,7 +17,7 @@ from clearskies.query.result import (
17
17
  from clearskies_aws.di.inject import boto3
18
18
 
19
19
 
20
- class Backend(clearskies.Configurable, clearskies.backends.Backend, clearskies.di.InjectableProperties):
20
+ class Backend(clearskies.backends.Backend, clearskies.di.InjectableProperties):
21
21
  """
22
22
  Connect models to their data since 2020.
23
23
 
@@ -7,7 +7,7 @@ import logging
7
7
  from decimal import Decimal, DecimalException
8
8
  from typing import Any
9
9
 
10
- from clearskies import Validator
10
+ import clearskies
11
11
 
12
12
  # Ensure AttributeValueTypeDef is imported from the correct boto3 types package
13
13
  # This is crucial for the "ideal fix".
@@ -16,7 +16,7 @@ from types_boto3_dynamodb.type_defs import AttributeValueTypeDef
16
16
  logger = logging.getLogger(__name__)
17
17
 
18
18
 
19
- class DynamoDBConditionParser(Validator):
19
+ class DynamoDBConditionParser(clearskies.Configurable):
20
20
  """
21
21
  Parses string conditions into a structured format suitable for DynamoDB PartiQL queries.
22
22
 
@@ -119,7 +119,6 @@ class DynamoDBPartiQLBackend(CursorBackend):
119
119
  The count() method uses native DynamoDB Query/Scan operations for accuracy.
120
120
  """
121
121
 
122
- _cursor: DynamoDBPartiQLCursor
123
122
  _allowed_configs: list[str] = [
124
123
  "table_name",
125
124
  "wheres",
@@ -134,9 +133,24 @@ class DynamoDBPartiQLBackend(CursorBackend):
134
133
  ]
135
134
  _required_configs: list[str] = ["table_name"]
136
135
 
137
- def __init__(self, dynamo_db_parti_ql_cursor: DynamoDBPartiQLCursor) -> None:
136
+ def __init__(
137
+ self,
138
+ cursor_dependency_name: str = "dynamo_db_parti_ql_cursor",
139
+ table_prefix: str = "",
140
+ can_create: bool | None = None,
141
+ can_update: bool | None = None,
142
+ can_delete: bool | None = None,
143
+ can_query: bool | None = None,
144
+ ) -> None:
138
145
  """Initialize the DynamoDBPartiQLBackend."""
139
- super().__init__(dynamo_db_parti_ql_cursor)
146
+ super().__init__(
147
+ cursor_dependency_name=cursor_dependency_name,
148
+ table_prefix=table_prefix,
149
+ can_create=can_create,
150
+ can_update=can_update,
151
+ can_delete=can_delete,
152
+ can_query=can_query,
153
+ )
140
154
  self.condition_parser: DynamoDBConditionParser = DynamoDBConditionParser()
141
155
  self._table_descriptions_cache: dict[str, dict[str, Any]] = {}
142
156
 
@@ -110,7 +110,7 @@ class ParameterStore(secrets.Secrets[SSMClient]):
110
110
  result = self.boto3_client.get_parameter(Name=sanitized_path, WithDecryption=True)
111
111
  except ClientError as e:
112
112
  error = e.response.get("Error", {})
113
- if error.get("Code") == "ResourceNotFoundException":
113
+ if error.get("Code") == "ParameterNotFound":
114
114
  if silent_if_not_found:
115
115
  return None
116
116
  raise NotFound(f"Could not find secret '{path}' in parameter store")