clear-skies-aws 1.9.11__tar.gz → 1.9.13__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 (74) hide show
  1. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/PKG-INFO +3 -1
  2. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/pyproject.toml +1 -1
  3. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/backends/dynamo_db_backend.py +8 -0
  4. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_sns.py +3 -3
  5. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_sqs_standard.py +3 -3
  6. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/LICENSE +0 -0
  7. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/README.md +0 -0
  8. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/__init__.py +0 -0
  9. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/__init__.py +0 -0
  10. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/action_aws.py +0 -0
  11. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/assume_role.py +0 -0
  12. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/assume_role_test.py +0 -0
  13. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/ses.py +0 -0
  14. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/ses_test.py +0 -0
  15. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/sns.py +0 -0
  16. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/sns_test.py +0 -0
  17. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/sqs.py +0 -0
  18. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/sqs_test.py +0 -0
  19. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/step_function.py +0 -0
  20. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/actions/step_function_test.py +0 -0
  21. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/backends/__init__.py +0 -0
  22. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/backends/dynamo_db_backend_test.py +0 -0
  23. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/backends/sqs_backend.py +0 -0
  24. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/backends/sqs_backend_test.py +0 -0
  25. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/__init__.py +0 -0
  26. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/__pycache__/aws_http_api_gateway.cpython-38.pyc +0 -0
  27. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/__pycache__/aws_lambda_api_gateway.cpython-38.pyc +0 -0
  28. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/__pycache__/aws_lambda_elb.cpython-38.pyc +0 -0
  29. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/cli.py +0 -0
  30. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/cli_websocket_mock.py +0 -0
  31. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_api_gateway.py +0 -0
  32. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_api_gateway_web_socket.py +0 -0
  33. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_elb.py +0 -0
  34. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_http_gateway.py +0 -0
  35. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_invocation.py +0 -0
  36. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_sns.py +0 -0
  37. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_sqs_standard_partial_batch.py +0 -0
  38. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/lambda_sqs_standard_partial_batch_test.py +0 -0
  39. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/contexts/wsgi.py +0 -0
  40. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/di/__init__.py +0 -0
  41. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/di/standard_dependencies.py +0 -0
  42. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/handlers/__init__.py +0 -0
  43. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/handlers/secrets_manager_rotation.py +0 -0
  44. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/handlers/simple_body_routing.py +0 -0
  45. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/__init__.py +0 -0
  46. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/__pycache__/aws_http_api_gateway.cpython-38.pyc +0 -0
  47. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/__pycache__/aws_lambda_api_gateway.cpython-38.pyc +0 -0
  48. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/__pycache__/aws_lambda_api_gateway_test.cpython-38.pyc +0 -0
  49. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/__pycache__/aws_lambda_elb.cpython-38.pyc +0 -0
  50. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/cli_websocket_mock.py +0 -0
  51. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_api_gateway.py +0 -0
  52. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_api_gateway_test.py +0 -0
  53. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_api_gateway_web_socket.py +0 -0
  54. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_elb.py +0 -0
  55. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_http_gateway.py +0 -0
  56. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/input_outputs/lambda_invocation.py +0 -0
  57. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/mocks/__init__.py +0 -0
  58. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/mocks/actions/__init__.py +0 -0
  59. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/mocks/actions/ses.py +0 -0
  60. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/mocks/actions/sns.py +0 -0
  61. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/mocks/actions/sqs.py +0 -0
  62. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/mocks/actions/step_function.py +0 -0
  63. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/__init__.py +0 -0
  64. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/additional_configs/__init__.py +0 -0
  65. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/additional_configs/iam_db_auth.py +0 -0
  66. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/additional_configs/iam_db_auth_with_ssm.py +0 -0
  67. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssh_cert_bastion.py +0 -0
  68. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/additional_configs/mysql_connection_dynamic_producer_via_ssm_bastion.py +0 -0
  69. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/akeyless_with_ssm_cache.py +0 -0
  70. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/parameter_store.py +0 -0
  71. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/parameter_store_test.py +0 -0
  72. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/secrets_manager.py +0 -0
  73. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/secrets/secrets_manager_test.py +0 -0
  74. {clear_skies_aws-1.9.11 → clear_skies_aws-1.9.13}/src/clearskies_aws/web_socket_connection_model.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: clear-skies-aws
3
- Version: 1.9.11
3
+ Version: 1.9.13
4
4
  Summary: clearskies bindings for working in AWS
5
5
  Home-page: https://github.com/cmancone/clearskies-aws
6
6
  License: MIT
@@ -11,6 +11,8 @@ Classifier: License :: OSI Approved :: MIT License
11
11
  Classifier: Programming Language :: Python :: 3
12
12
  Classifier: Programming Language :: Python :: 3.10
13
13
  Classifier: Programming Language :: Python :: 3.11
14
+ Classifier: Programming Language :: Python :: 3.12
15
+ Classifier: Programming Language :: Python :: 3.13
14
16
  Provides-Extra: akeyless
15
17
  Provides-Extra: ses
16
18
  Requires-Dist: boto3 (>=1.26.148,<2.0.0)
@@ -2,7 +2,7 @@
2
2
 
3
3
  [tool.poetry]
4
4
  name = "clear-skies-aws"
5
- version = "1.9.11"
5
+ version = "1.9.13"
6
6
  description = "clearskies bindings for working in AWS"
7
7
  authors = [
8
8
  "Conor Mancone <cmancone@gmail.com>",
@@ -138,6 +138,8 @@ class DynamoDBBackend(Backend):
138
138
  )
139
139
  table = self._dynamodb.Table(model.table_name())
140
140
 
141
+ data = self.excessive_type_casting(data)
142
+
141
143
  updated = table.update_item(
142
144
  Key=key,
143
145
  UpdateExpression='SET ' + ', '.join([f"#{column_name} = :{column_name}" for column_name in data.keys()]),
@@ -158,6 +160,12 @@ class DynamoDBBackend(Backend):
158
160
  table.put_item(Item=data)
159
161
  return {**data}
160
162
 
163
+ def excessive_type_casting(self, data):
164
+ for (key, value) in data.items():
165
+ if isinstance(value, float):
166
+ data[key] = Decimal(value)
167
+ return data
168
+
161
169
  def delete(self, id, model):
162
170
  table = self._dynamodb.Table(model.table_name())
163
171
  table.delete_item(Key={model.id_column_name: model.__getattr__(model.id_column_name)})
@@ -17,10 +17,10 @@ class LambdaSns(LambdaAPIGateway):
17
17
  def get_body(self):
18
18
  return self._record
19
19
 
20
- def request_data(self, required=True):
21
- return self.json_body(required=required)
20
+ def request_data(self, required=True, allow_non_json_bodies=False):
21
+ return self.json_body(required=required, allow_non_json_bodies=allow_non_json_bodies)
22
22
 
23
- def json_body(self, required=True):
23
+ def json_body(self, required=True, allow_non_json_bodies=False):
24
24
  if not self._record:
25
25
  if required:
26
26
  raise ClientError("No SNS message found")
@@ -16,10 +16,10 @@ class LambdaSqsStandard(LambdaAPIGateway):
16
16
  def has_body(self):
17
17
  return True
18
18
 
19
- def request_data(self, required=True):
20
- return self.json_body(required=required)
19
+ def request_data(self, required=True, allow_non_json_bodies=False):
20
+ return self.json_body(required=required, allow_non_json_bodies=allow_non_json_bodies)
21
21
 
22
- def json_body(self, required=True):
22
+ def json_body(self, required=True, allow_non_json_bodies=False):
23
23
  if not self._record:
24
24
  if required:
25
25
  raise ClientError("SQS message was not valid JSON")