aws-lambda-powertools 3.0.1.dev2__py3-none-any.whl → 3.0.2.dev1__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.
Files changed (39) hide show
  1. aws_lambda_powertools/event_handler/api_gateway.py +227 -54
  2. aws_lambda_powertools/event_handler/appsync.py +343 -97
  3. aws_lambda_powertools/event_handler/bedrock_agent.py +121 -0
  4. aws_lambda_powertools/event_handler/exceptions.py +1 -1
  5. aws_lambda_powertools/event_handler/graphql_appsync/__init__.py +0 -0
  6. aws_lambda_powertools/event_handler/graphql_appsync/_registry.py +78 -0
  7. aws_lambda_powertools/event_handler/graphql_appsync/base.py +160 -0
  8. aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py +10 -0
  9. aws_lambda_powertools/event_handler/graphql_appsync/router.py +62 -0
  10. aws_lambda_powertools/event_handler/middlewares/openapi_validation.py +1 -1
  11. aws_lambda_powertools/event_handler/openapi/encoders.py +94 -70
  12. aws_lambda_powertools/event_handler/openapi/exceptions.py +12 -0
  13. aws_lambda_powertools/event_handler/openapi/models.py +38 -5
  14. aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py +1 -4
  15. aws_lambda_powertools/event_handler/util.py +55 -2
  16. aws_lambda_powertools/logging/utils.py +5 -5
  17. aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py +1 -0
  18. aws_lambda_powertools/shared/cookies.py +2 -2
  19. aws_lambda_powertools/shared/dynamodb_deserializer.py +13 -0
  20. aws_lambda_powertools/shared/version.py +1 -1
  21. aws_lambda_powertools/tracing/tracer.py +4 -2
  22. aws_lambda_powertools/utilities/batch/base.py +13 -4
  23. aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py +260 -1
  24. aws_lambda_powertools/utilities/data_classes/kafka_event.py +2 -2
  25. aws_lambda_powertools/utilities/data_classes/vpc_lattice.py +7 -0
  26. aws_lambda_powertools/utilities/data_masking/base.py +4 -4
  27. aws_lambda_powertools/utilities/feature_flags/appconfig.py +21 -2
  28. aws_lambda_powertools/utilities/idempotency/idempotency.py +22 -2
  29. aws_lambda_powertools/utilities/idempotency/persistence/base.py +4 -1
  30. aws_lambda_powertools/utilities/parameters/secrets.py +1 -1
  31. aws_lambda_powertools/utilities/parser/models/__init__.py +6 -0
  32. aws_lambda_powertools/utilities/parser/models/apigw.py +12 -1
  33. aws_lambda_powertools/utilities/parser/models/apigwv2.py +7 -1
  34. aws_lambda_powertools/utilities/validation/base.py +27 -2
  35. aws_lambda_powertools/utilities/validation/validator.py +49 -4
  36. {aws_lambda_powertools-3.0.1.dev2.dist-info → aws_lambda_powertools-3.0.2.dev1.dist-info}/METADATA +12 -2
  37. {aws_lambda_powertools-3.0.1.dev2.dist-info → aws_lambda_powertools-3.0.2.dev1.dist-info}/RECORD +39 -34
  38. {aws_lambda_powertools-3.0.1.dev2.dist-info → aws_lambda_powertools-3.0.2.dev1.dist-info}/LICENSE +0 -0
  39. {aws_lambda_powertools-3.0.1.dev2.dist-info → aws_lambda_powertools-3.0.2.dev1.dist-info}/WHEEL +0 -0
@@ -17,8 +17,12 @@ def validator(
17
17
  context: Any,
18
18
  inbound_schema: dict | None = None,
19
19
  inbound_formats: dict | None = None,
20
+ inbound_handlers: dict | None = None,
21
+ inbound_provider_options: dict | None = None,
20
22
  outbound_schema: dict | None = None,
21
23
  outbound_formats: dict | None = None,
24
+ outbound_handlers: dict | None = None,
25
+ outbound_provider_options: dict | None = None,
22
26
  envelope: str = "",
23
27
  jmespath_options: dict | None = None,
24
28
  **kwargs: Any,
@@ -45,6 +49,17 @@ def validator(
45
49
  Custom formats containing a key (e.g. int64) and a value expressed as regex or callback returning bool
46
50
  outbound_formats: dict
47
51
  Custom formats containing a key (e.g. int64) and a value expressed as regex or callback returning bool
52
+ inbound_handlers: Dict
53
+ Custom methods to retrieve remote schemes, keyed off of URI scheme
54
+ outbound_handlers: Dict
55
+ Custom methods to retrieve remote schemes, keyed off of URI scheme
56
+ inbound_provider_options: Dict
57
+ Arguments that will be passed directly to the underlying validation call, in this case fastjsonchema.validate.
58
+ For all supported arguments see: https://horejsek.github.io/python-fastjsonschema/#fastjsonschema.validate
59
+ outbound_provider_options: Dict
60
+ Arguments that will be passed directly to the underlying validation call, in this case fastjsonchema.validate.
61
+ For all supported arguments see: https://horejsek.github.io/python-fastjsonschema/#fastjsonschema.validate
62
+
48
63
 
49
64
  Example
50
65
  -------
@@ -128,13 +143,25 @@ def validator(
128
143
 
129
144
  if inbound_schema:
130
145
  logger.debug("Validating inbound event")
131
- validate_data_against_schema(data=event, schema=inbound_schema, formats=inbound_formats)
146
+ validate_data_against_schema(
147
+ data=event,
148
+ schema=inbound_schema,
149
+ formats=inbound_formats,
150
+ handlers=inbound_handlers,
151
+ provider_options=inbound_provider_options,
152
+ )
132
153
 
133
154
  response = handler(event, context, **kwargs)
134
155
 
135
156
  if outbound_schema:
136
157
  logger.debug("Validating outbound event")
137
- validate_data_against_schema(data=response, schema=outbound_schema, formats=outbound_formats)
158
+ validate_data_against_schema(
159
+ data=response,
160
+ schema=outbound_schema,
161
+ formats=outbound_formats,
162
+ handlers=outbound_handlers,
163
+ provider_options=outbound_provider_options,
164
+ )
138
165
 
139
166
  return response
140
167
 
@@ -143,9 +170,11 @@ def validate(
143
170
  event: Any,
144
171
  schema: dict,
145
172
  formats: dict | None = None,
173
+ handlers: dict | None = None,
174
+ provider_options: dict | None = None,
146
175
  envelope: str | None = None,
147
176
  jmespath_options: dict | None = None,
148
- ):
177
+ ) -> Any:
149
178
  """Standalone function to validate event data using a JSON Schema
150
179
 
151
180
  Typically used when you need more control over the validation process.
@@ -162,6 +191,10 @@ def validate(
162
191
  Alternative JMESPath options to be included when filtering expr
163
192
  formats: dict
164
193
  Custom formats containing a key (e.g. int64) and a value expressed as regex or callback returning bool
194
+ handlers: Dict
195
+ Custom methods to retrieve remote schemes, keyed off of URI scheme
196
+ provider_options: Dict
197
+ Arguments that will be passed directly to the underlying validate call
165
198
 
166
199
  Example
167
200
  -------
@@ -214,6 +247,12 @@ def validate(
214
247
  validate(event=event, schema=json_schema_dict, envelope="awslogs.powertools_base64_gzip(data) | powertools_json(@).logEvents[*]")
215
248
  return event
216
249
 
250
+ Returns
251
+ -------
252
+ Dict
253
+ The validated event. If the schema specifies a `default` value for fields that are omitted,
254
+ those default values will be included in the response.
255
+
217
256
  Raises
218
257
  ------
219
258
  SchemaValidationError
@@ -230,4 +269,10 @@ def validate(
230
269
  jmespath_options=jmespath_options,
231
270
  )
232
271
 
233
- validate_data_against_schema(data=event, schema=schema, formats=formats)
272
+ return validate_data_against_schema(
273
+ data=event,
274
+ schema=schema,
275
+ formats=formats,
276
+ handlers=handlers,
277
+ provider_options=provider_options,
278
+ )
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: aws-lambda-powertools
3
- Version: 3.0.1.dev2
3
+ Version: 3.0.2.dev1
4
4
  Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
5
5
  Home-page: https://github.com/aws-powertools/powertools-lambda-python
6
6
  License: MIT
@@ -29,8 +29,9 @@ Provides-Extra: validation
29
29
  Requires-Dist: aws-encryption-sdk (>=3.1.1,<4.0.0) ; extra == "all" or extra == "datamasking"
30
30
  Requires-Dist: aws-xray-sdk (>=2.8.0,<3.0.0) ; extra == "tracer" or extra == "all"
31
31
  Requires-Dist: boto3 (>=1.34.32,<2.0.0) ; extra == "aws-sdk"
32
- Requires-Dist: datadog-lambda (>=4.77,<6.0) ; extra == "datadog"
32
+ Requires-Dist: datadog-lambda (>=4.77,<7.0) ; extra == "datadog"
33
33
  Requires-Dist: fastjsonschema (>=2.14.5,<3.0.0) ; extra == "validation" or extra == "all"
34
+ Requires-Dist: jmespath (>=1.0.1,<2.0.0)
34
35
  Requires-Dist: jsonpath-ng (>=1.6.0,<2.0.0) ; extra == "all" or extra == "datamasking"
35
36
  Requires-Dist: pydantic (>=2.0.3,<3.0.0) ; extra == "parser" or extra == "all"
36
37
  Requires-Dist: redis (>=4.4,<6.0) ; extra == "redis"
@@ -96,14 +97,23 @@ Knowing which companies are using this library is important to help prioritize t
96
97
 
97
98
  The following companies, among others, use Powertools:
98
99
 
100
+ * [Alma Media](https://www.almamedia.fi/en/)
101
+ * [Banxware](https://www.banxware.com/)
102
+ * [Brsk](https://www.brsk.co.uk/)
103
+ * [BusPatrol](https://buspatrol.com/)
99
104
  * [Capital One](https://www.capitalone.com/)
105
+ * [Caylent](https://caylent.com/)
106
+ * [CHS Inc.](https://www.chsinc.com/)
100
107
  * [CPQi (Exadel Financial Services)](https://cpqi.com/)
101
108
  * [CloudZero](https://www.cloudzero.com/)
102
109
  * [CyberArk](https://www.cyberark.com/)
103
110
  * [globaldatanet](https://globaldatanet.com/)
104
111
  * [IMS](https://ims.tech/)
105
112
  * [Jit Security](https://www.jit.io/)
113
+ * [LocalStack](https://www.localstack.cloud/)
106
114
  * [Propellor.ai](https://www.propellor.ai/)
115
+ * [Pushpay](https://pushpay.com/)
116
+ * [Recast](https://getrecast.com/)
107
117
  * [TopSport](https://www.topsport.com.au/)
108
118
  * [Transformity](https://transformity.tech/)
109
119
  * [Trek10](https://www.trek10.com/)
@@ -1,34 +1,39 @@
1
1
  THIRD-PARTY-LICENSES,sha256=Nu1kDwEWpFpCwF8oJSDq2Po4N1tUZ4dzNjYyk_CWFjs,11419
2
2
  aws_lambda_powertools/__init__.py,sha256=o4iEHU0MfWC0_TfVmisxi0VOAUw5uQfqLQWr0t29ZaE,676
3
3
  aws_lambda_powertools/event_handler/__init__.py,sha256=RM4TF62aonr60nVlq4V8ogfjef8RtpUUGuDUfZY34_w,901
4
- aws_lambda_powertools/event_handler/api_gateway.py,sha256=AZIJe1svsFcy5pi3QZaCmUv4yiOFusUUdhJKtT5OJ9Y,97581
5
- aws_lambda_powertools/event_handler/appsync.py,sha256=dxHn78OiJ8Ucj8K0LsjjH9fAO8wN7MM9uXcElU7g5dY,6852
6
- aws_lambda_powertools/event_handler/bedrock_agent.py,sha256=s3b_gqsmHMFy2cBBKhm_kvw1iiuxoRCBFf_9nYV2jwU,8635
4
+ aws_lambda_powertools/event_handler/api_gateway.py,sha256=ZBdFdO_QYG5pJdEP3H569TjlZjMd7zewvDoVqH5MF1M,105057
5
+ aws_lambda_powertools/event_handler/appsync.py,sha256=PYiANZvGpUXI16PDhJ5kS3fxe0vYWfuUrWjm-muR4Gk,16926
6
+ aws_lambda_powertools/event_handler/bedrock_agent.py,sha256=p0Hys_77hzZwS2P30g34Qxt0uTssCct06JCDas07b3I,13484
7
7
  aws_lambda_powertools/event_handler/content_types.py,sha256=0MKsKNu-SSrxbULVKnUjwgK-lVXhVD7BBjZ4Js0kEsI,163
8
- aws_lambda_powertools/event_handler/exceptions.py,sha256=zZfMGjqTGV4QVHVueCOyolyMAq2PQ6zNTPumJg2cmtY,1160
8
+ aws_lambda_powertools/event_handler/exceptions.py,sha256=trhn73GD_9pElEKWts6uQcOE5R7sBKD3uDf64ijHRgY,1150
9
+ aws_lambda_powertools/event_handler/graphql_appsync/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
10
+ aws_lambda_powertools/event_handler/graphql_appsync/_registry.py,sha256=dR9G3xd3szJYsl7f29Bfih7t5E0EpmyxrdrNRDoBUHI,2514
11
+ aws_lambda_powertools/event_handler/graphql_appsync/base.py,sha256=jlyg-zUs5bosEroO1m9oewYXc4XEst6b6vrkSPKRJOs,5357
12
+ aws_lambda_powertools/event_handler/graphql_appsync/exceptions.py,sha256=vTayCG3teb2XBfAhCMtTBDOOF1LJYs4uijY9GwQ5a-s,221
13
+ aws_lambda_powertools/event_handler/graphql_appsync/router.py,sha256=f6jFQ3ZbJz9qSeWBR8WR_A2dzSAg9Jfi-yV3lasR9oo,2221
9
14
  aws_lambda_powertools/event_handler/lambda_function_url.py,sha256=aJtTUR9DD6UzFcpRfbUki7mm2BDozFmuECrTWXxLjng,2153
10
15
  aws_lambda_powertools/event_handler/middlewares/__init__.py,sha256=3R5XptoCT8owm4swcAEG0lsV_zbL4X-gU5nv8eJ0jQs,158
11
16
  aws_lambda_powertools/event_handler/middlewares/base.py,sha256=kqDqUNUBLVYzvQbXLnKvNYnyce0cYOph-LPPIb1fsvU,3725
12
- aws_lambda_powertools/event_handler/middlewares/openapi_validation.py,sha256=ss7Zqis8dGfAc386qUaPUDhz3N0gT5CxiYo21fFROcU,15416
17
+ aws_lambda_powertools/event_handler/middlewares/openapi_validation.py,sha256=HLYa5tWf9kQGwwSVrSYY-DzOZXJWv_Zv6n_Nq61PPIY,15447
13
18
  aws_lambda_powertools/event_handler/middlewares/schema_validation.py,sha256=c3i04kuq_T341_1xxiEw_LZr43H_kU0HY80lIHPNDz8,5205
14
19
  aws_lambda_powertools/event_handler/openapi/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
20
  aws_lambda_powertools/event_handler/openapi/compat.py,sha256=elvYmcsKx9TjRnTAief8Xfpd5bgKADoM-9BlQ4Q37iY,10877
16
21
  aws_lambda_powertools/event_handler/openapi/constants.py,sha256=79IF4spKAHvMAO3bQARCIENM5rIFX5BSwdjfUNl3XT4,64
17
22
  aws_lambda_powertools/event_handler/openapi/dependant.py,sha256=RTYgsWmRyV5mOC5FedKbcInR4Q4n57nc7EdOsCn2nrk,12521
18
- aws_lambda_powertools/event_handler/openapi/encoders.py,sha256=guQRV6CcLgLWUh-XRzfP5rsDPS_kNFz2cGf0xKl_tGU,10220
19
- aws_lambda_powertools/event_handler/openapi/exceptions.py,sha256=T8Zn4Iq0IeDOrvqDoBi7rQCCkIw0Ya8rl9E1BMwdxP8,559
20
- aws_lambda_powertools/event_handler/openapi/models.py,sha256=3N7ACecMmlorXpixT2To6ZX-FGu1s4S7YRozLz8pBHk,15551
23
+ aws_lambda_powertools/event_handler/openapi/encoders.py,sha256=--AUeeqdtOdNZ4oYrzeQTXpuhES_hUeaPmvRuFOJn74,11700
24
+ aws_lambda_powertools/event_handler/openapi/exceptions.py,sha256=4iubuXydACTddytd3NMfqlwlS9aOXMSaROU7ev2Ojes,777
25
+ aws_lambda_powertools/event_handler/openapi/models.py,sha256=qtOfGKGdV6ky8IZ2V8XU2UtuGw4nCNrp5OCD0zaFAWo,16919
21
26
  aws_lambda_powertools/event_handler/openapi/params.py,sha256=b8V9D35VHH6MGzbMHcMZtPpegTrqSKohSBbvGn53Om4,41119
22
27
  aws_lambda_powertools/event_handler/openapi/pydantic_loader.py,sha256=Bud_yzI_Cao7UN_9zx6NeP0H2rQOZJbdbDAjgtthB-g,217
23
28
  aws_lambda_powertools/event_handler/openapi/swagger_ui/__init__.py,sha256=52wY3inOe1EPunrNl5cUqVQWHM6FsJHU5wpObSAX7-M,335
24
- aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py,sha256=z1xLx7obaHUdZYpyuO7HkWfn5PMxn2lQlo4a-DBtCgA,2827
29
+ aws_lambda_powertools/event_handler/openapi/swagger_ui/html.py,sha256=oo6pgVmLSGlOHp74v4b3K8FP3TUn7Y6x6VAxxMv8Vj0,2768
25
30
  aws_lambda_powertools/event_handler/openapi/swagger_ui/oauth2.py,sha256=YEG3ICbwtArNrUYWZARcD4npULajyID5odB3VZ5zpe8,5561
26
31
  aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui-bundle.min.js,sha256=s_tWqUyVGy4dmU9BppKMNDoKgC9Q9qzvnB3XJEtGEQk,1265807
27
32
  aws_lambda_powertools/event_handler/openapi/swagger_ui/swagger-ui.min.css,sha256=Q0DBjhDAqyjE6KmzTrq1DGYU1UeF7aHQSuTiou_pLS0,151723
28
33
  aws_lambda_powertools/event_handler/openapi/types.py,sha256=xtjF92cpOHqqaA0d54SBCNTwqHf_QhJ5ZksTb5XQ-Xs,1771
29
34
  aws_lambda_powertools/event_handler/router.py,sha256=cxL3MtN2Q8_RkPndNtAAcjJSqDJ4WN02dro_O83nxAM,980
30
35
  aws_lambda_powertools/event_handler/types.py,sha256=yppbl_2wdyXSK_oTkSnkwPdAlJibc-uTm1IWmlB1RfU,177
31
- aws_lambda_powertools/event_handler/util.py,sha256=7d_Bl3LouPB_lx3ssiHvkSoEhHMBAk38KKAGce5YvT0,1160
36
+ aws_lambda_powertools/event_handler/util.py,sha256=j7InZnSXymsWmp2Gj2emnVJjFcKo4IicZNaOLcQEJn8,3164
32
37
  aws_lambda_powertools/event_handler/vpc_lattice.py,sha256=rih7cVt4H9opHpYOUyuv2m3AdXS9Rxt-AH7ua51WwFs,3207
33
38
  aws_lambda_powertools/exceptions/__init__.py,sha256=bv7fiO8Cj5xbHOTlDpWpM3pIkbdSB74Nt_mHbzLzYDw,163
34
39
  aws_lambda_powertools/logging/__init__.py,sha256=-cMAq_--PilwThBjr02iioxV9KhjoKcmYqHc8R_GE-I,73
@@ -42,7 +47,7 @@ aws_lambda_powertools/logging/formatters/datadog.py,sha256=NwaaBOp7jIlOAH158Nzyv
42
47
  aws_lambda_powertools/logging/lambda_context.py,sha256=VHst_6hxMpXgScoxNwaC61UXPTIdd3AEBHTPzb4esPc,1736
43
48
  aws_lambda_powertools/logging/logger.py,sha256=tVFLAZIlYPEdvnCOkrd2thOi0A-Oym1u4P_UGZOIbZM,31202
44
49
  aws_lambda_powertools/logging/types.py,sha256=Zc95nGdZ2sJUEPdwR0uoArT_F-JSKfpS_LokdCVO0nQ,1263
45
- aws_lambda_powertools/logging/utils.py,sha256=cV3KVYSvIvvScjeaDHYYMs9W_W7CQdrtKkWIx6MPr68,4075
50
+ aws_lambda_powertools/logging/utils.py,sha256=NirAObjkkarN5fX2diHs0Ln_8KHLueviL-jCKhckIBM,4069
46
51
  aws_lambda_powertools/metrics/__init__.py,sha256=y-k-x1XxQY3D7wInTxsA_su_jxxZ4VQX29L4EeA5y_E,593
47
52
  aws_lambda_powertools/metrics/base.py,sha256=OMYaZR_CBE9d4MPEHvAXfkf8YeW8_CD6ypOa5uNq7gs,23675
48
53
  aws_lambda_powertools/metrics/exceptions.py,sha256=HX9k4L4RXI9Ol8kVr5U9FYmUsrN_3v2tugAmzNVp0ng,418
@@ -55,7 +60,7 @@ aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py,sha256=47DEQpj
55
60
  aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py,sha256=DITQ1J-y8xQkoJR_hNM_fq4PDc39zDcZv4Crs9lSO4M,17568
56
61
  aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py,sha256=ByQMR69yb7CWkHvdI8fToZwJGTVDsiFuM1xijvyzuG8,38
57
62
  aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py,sha256=FdDzZ5sMLvZQqv2XR55haKdhVuCCCSYIHoat3h-ZpNI,218
58
- aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py,sha256=vZLOV1BHxkuzhSLjRvMIq6O2WGiPHwyaeYej47UxMPw,987
63
+ aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py,sha256=pzVuLOFzjyau1GGvTNpHQvmrPXDWpPeG16FaBEsHCH0,1007
59
64
  aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py,sha256=Rhnn9VkPX41tVjV1dOTqk3gyPRnvcpSNDFC2m2kjSaQ,587
60
65
  aws_lambda_powertools/metrics/provider/cold_start.py,sha256=j-_Mtsr4DnsItiTdrNnx63zH_wsonl9xsGAb8QuKGSs,168
61
66
  aws_lambda_powertools/metrics/provider/datadog/__init__.py,sha256=3LivCIwqyI7KKEeSLDcxN1Z9RObChoMg5hpiXPin2C0,225
@@ -71,22 +76,22 @@ aws_lambda_powertools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuF
71
76
  aws_lambda_powertools/shared/__init__.py,sha256=o2ycxf3MCYfWXm1P-zuTKap_uzJiu8uYmVcCX7s4gUk,75
72
77
  aws_lambda_powertools/shared/cache_dict.py,sha256=X3Ykh-_Fb4Wkc5RGjaostC_FUvMyY_H1L2bOB89A3vM,916
73
78
  aws_lambda_powertools/shared/constants.py,sha256=fXg2V6ESWxIG09Q3qiC7pfIw_WM3vMlJ9DbTI_V29kE,2679
74
- aws_lambda_powertools/shared/cookies.py,sha256=XBZ8zvrw5XnOsPUEIHQSKaX9PmITfkwbnJcKRiiDHsI,3866
75
- aws_lambda_powertools/shared/dynamodb_deserializer.py,sha256=_3cT1jGz0PvECdjTz_G08DE5e_6YerafbTAnE8OXS0U,3377
79
+ aws_lambda_powertools/shared/cookies.py,sha256=X2Bkcf7MAmV75PJFm07QGkL4n1psk4HIGpUxzrsjiJY,3868
80
+ aws_lambda_powertools/shared/dynamodb_deserializer.py,sha256=tWw8MLXEitInnViFkt_xSBkXD_V1n1KcWbqBXBxwUlE,4054
76
81
  aws_lambda_powertools/shared/functions.py,sha256=kgHqBFvzhxxROzLL-NcrfKHWcPqr6GP38PeB1XfT8jQ,7442
77
82
  aws_lambda_powertools/shared/headers_serializer.py,sha256=1eRQ-FO6jNskTXWRa25OXI5Klu3yH6HAHjGGZULB8FE,5411
78
83
  aws_lambda_powertools/shared/json_encoder.py,sha256=JQeWNu-4M7_xI_hqYExrxsb3OcEH4uTxjfVE4Of8Nn8,666
79
84
  aws_lambda_powertools/shared/lazy_import.py,sha256=TbXQm2bcwXdZrYdBaJJXIswyLlumM85RJ_A_0w-h-GU,2019
80
85
  aws_lambda_powertools/shared/types.py,sha256=APkI38HbiTpSF19NSNii8Ydx73vmVUVotgEQ9jHruEI,124
81
86
  aws_lambda_powertools/shared/user_agent.py,sha256=DrCMFQuT4a4iIrpcWpAIjY37EFqR9-QxlxDGD-Nn9Gg,7081
82
- aws_lambda_powertools/shared/version.py,sha256=VqGdXhWoTv8RvfxhMZk9-gZZ-9yLV-7VkNJv-xUlHyY,87
87
+ aws_lambda_powertools/shared/version.py,sha256=sjzqOiMHPkSBC5O1DBzCPtURs0Yk7BqAr3o9eBJDdoA,87
83
88
  aws_lambda_powertools/tracing/__init__.py,sha256=Zdk7mE8lUMICbYOnx_1yFjvghzoPOpPmRv-Wkj-kzkU,142
84
89
  aws_lambda_powertools/tracing/base.py,sha256=VNqc9CtywKJSuD1H0etuFVzUgpyfskQ9e1N2m_S28R0,4416
85
90
  aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
86
- aws_lambda_powertools/tracing/tracer.py,sha256=3DkI3Ezouh-ppRQg_BPfM9VeD2KW3O1qkB2VFFPNZk0,31869
91
+ aws_lambda_powertools/tracing/tracer.py,sha256=Nnf6-u6_x1Ty-CTgWp3NIGyL70QC7HQvBbXBdGULeuk,31882
87
92
  aws_lambda_powertools/utilities/__init__.py,sha256=BhnoYxIaDboi8oCsEMAizR2Bp-EaJJ-OcdMa9q07thc,39
88
93
  aws_lambda_powertools/utilities/batch/__init__.py,sha256=mjFmfhJwot_3miZrstDcMKH7LzM_0aD35z-581HgZfY,1073
89
- aws_lambda_powertools/utilities/batch/base.py,sha256=UaBcRZJHXcOv3gogSt61043qStvM5kBS-dptTWs0voA,24728
94
+ aws_lambda_powertools/utilities/batch/base.py,sha256=b1YhRn0vMPv6k4WuazYV1GSBvnWLvPXy1Qc5jcMOLFw,25206
90
95
  aws_lambda_powertools/utilities/batch/decorators.py,sha256=6kfZ3lX-OFig4p-GJGTj3jqzC0RLbGHerR8o9GYFPY8,8892
91
96
  aws_lambda_powertools/utilities/batch/exceptions.py,sha256=RTuhAlHF6ULgGirfTwijVZp2J8njAkCST0E56Zgj-sc,1585
92
97
  aws_lambda_powertools/utilities/batch/sqs_fifo_partial_processor.py,sha256=sLJkYCritckbG5nMQiHU1uu1tMM2Iu6IZ3RKB1DwPyw,4236
@@ -107,13 +112,13 @@ aws_lambda_powertools/utilities/data_classes/cloud_watch_custom_widget_event.py,
107
112
  aws_lambda_powertools/utilities/data_classes/cloud_watch_logs_event.py,sha256=uuGqErwHw0gTyGKEV5Q92W4yGAEjzUULsb33Egd723M,3470
108
113
  aws_lambda_powertools/utilities/data_classes/cloudformation_custom_resource_event.py,sha256=EextMoBG9v_e5bS9Q1DlzVvzljGtIL1ddBszt5fgTeY,1191
109
114
  aws_lambda_powertools/utilities/data_classes/code_pipeline_job_event.py,sha256=dj3RXkOnnIyIyxqoUcekeDN_5SJV_6-xgM-pJrDLyhs,8098
110
- aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py,sha256=VINf71ovp34QtlhDQLcpyhl7_8pNO8UMzqILEGEI7bk,32549
115
+ aws_lambda_powertools/utilities/data_classes/cognito_user_pool_event.py,sha256=VN9VdG05jewwxtDBNyKwFhR2QOrrs86PGd1F34hK744,44155
111
116
  aws_lambda_powertools/utilities/data_classes/common.py,sha256=JbJBu_9ESITyLqDK3zPqV4A2EEWrLBQXz6V3xVbZ1p4,20374
112
117
  aws_lambda_powertools/utilities/data_classes/connect_contact_flow_event.py,sha256=4_L73ATO-M_2zUD3r0zS4c6I4zoLxTK9l8JQc-dATog,5468
113
118
  aws_lambda_powertools/utilities/data_classes/dynamo_db_stream_event.py,sha256=BrgOyFREC9gjj_ULhKB3L_7EbQ6ptV-8Was1TulPeWE,6102
114
119
  aws_lambda_powertools/utilities/data_classes/event_bridge_event.py,sha256=TeTtx2jOKyZSVdSPFrtxZUgv0Yt6HW_H7J5NNxy_mHo,2434
115
120
  aws_lambda_powertools/utilities/data_classes/event_source.py,sha256=hANsq_sZjFtDzV0ju47iSYwKcsn5Byk6ww0F2jUpMKw,1179
116
- aws_lambda_powertools/utilities/data_classes/kafka_event.py,sha256=2E_eC85ps_iwJJ4qapJFtb3DOSNNxS1IDm10aChRykU,3764
121
+ aws_lambda_powertools/utilities/data_classes/kafka_event.py,sha256=BwkrEfGvmv0LvVpMsQeIzuX08QeWl9dVFjrbgSYL8Bs,3764
117
122
  aws_lambda_powertools/utilities/data_classes/kinesis_firehose_event.py,sha256=ea7Eq6ccBMhRHZzAYWwukwUJtRVi80DRej8VnixPJNU,10722
118
123
  aws_lambda_powertools/utilities/data_classes/kinesis_stream_event.py,sha256=vGQRJeoqE2Poqpis9d4FaF-ekdJxZzFYsJJMrv7ThhE,3943
119
124
  aws_lambda_powertools/utilities/data_classes/lambda_function_url_event.py,sha256=dFhL3IYebW4WeJc1XJJYmF94gI_qYeay6EpT9b2mDZU,633
@@ -126,9 +131,9 @@ aws_lambda_powertools/utilities/data_classes/ses_event.py,sha256=dqZ89HoOxA-ZXr1
126
131
  aws_lambda_powertools/utilities/data_classes/shared_functions.py,sha256=zAv_JzSJy_k3ZhLKyARXoX6zH7exqw9pjTDsmGB7qxw,4426
127
132
  aws_lambda_powertools/utilities/data_classes/sns_event.py,sha256=bUL57gmObClTGrd_TFBLd1sNobnaurum0QkXyOJoNmI,3853
128
133
  aws_lambda_powertools/utilities/data_classes/sqs_event.py,sha256=seWIKCpPbzKpPdXZWvrs94C92Nj2XwfGC1vXcI5gdQA,8804
129
- aws_lambda_powertools/utilities/data_classes/vpc_lattice.py,sha256=oIyQPFHAPGrNVW6hnlYipKhXSWjGpzzLRb-eKq6pdww,6394
134
+ aws_lambda_powertools/utilities/data_classes/vpc_lattice.py,sha256=22vp5toOS0ziyP2hzrOVhrfoeMmv1wPkwgeseSZxZCQ,6600
130
135
  aws_lambda_powertools/utilities/data_masking/__init__.py,sha256=Ez0MABo8ARkgWKSu8Dog4uFSkkZuHkW7DoWcexJGeyU,108
131
- aws_lambda_powertools/utilities/data_masking/base.py,sha256=6Z3VGDH0ZmUiCIFoqFhd0_3JeU7v2S4_L6yFDwve60k,10461
136
+ aws_lambda_powertools/utilities/data_masking/base.py,sha256=sn9FgZMGUm01arbuLKomOhmsmYHUVEi7GXG0Vxh7Iok,10544
132
137
  aws_lambda_powertools/utilities/data_masking/constants.py,sha256=hKeeWDE4g53zxCq6fOD0D1vUTjuqVXNrr9oXCv-7mGg,752
133
138
  aws_lambda_powertools/utilities/data_masking/exceptions.py,sha256=MGg6t5K9smOPcydmxMI3a_9D20u_zC3JCdd_eQpBisg,621
134
139
  aws_lambda_powertools/utilities/data_masking/provider/__init__.py,sha256=83eP8qT3OpY99T--QUIV9K37MmAIi8cbAMmkHyIGVHI,119
@@ -136,7 +141,7 @@ aws_lambda_powertools/utilities/data_masking/provider/base.py,sha256=GFR4WvNJEHz
136
141
  aws_lambda_powertools/utilities/data_masking/provider/kms/__init__.py,sha256=tP9PLaaf_hiET_bJGibeKEc0BWnFfVZBr5LiulUJsn4,161
137
142
  aws_lambda_powertools/utilities/data_masking/provider/kms/aws_encryption_sdk.py,sha256=X4rKDdsKbXaUqRQFecGSItjMfCsf8IEIMAA3cUMaJVw,8921
138
143
  aws_lambda_powertools/utilities/feature_flags/__init__.py,sha256=xd5YD3QeLbc6CfvIMb9Bnh3MYJ2XotI-buSI6vrisJE,619
139
- aws_lambda_powertools/utilities/feature_flags/appconfig.py,sha256=PyI3Maf0bjKGlpLnpDZnXg5Gtt3Zj087-gzBdJIs0Cg,4209
144
+ aws_lambda_powertools/utilities/feature_flags/appconfig.py,sha256=I8JdzoEHRpiLAumKRYV6Nvl1P-Lx7GpJWbvinD-o07s,5041
140
145
  aws_lambda_powertools/utilities/feature_flags/base.py,sha256=UEmz07PqyNkx9CthHxKMWNN1hZrhobwpGac8ro0c1SY,1775
141
146
  aws_lambda_powertools/utilities/feature_flags/comparators.py,sha256=A61LoAse_PkF7157Kj31HvHMnAYz0H1qZis38-JGF9I,6732
142
147
  aws_lambda_powertools/utilities/feature_flags/constants.py,sha256=L_k6jeaBmPeTeLhkOOOpRPynBz8qqUR3-Z92GvC0rIs,415
@@ -149,9 +154,9 @@ aws_lambda_powertools/utilities/idempotency/base.py,sha256=qWA06OuctMzoYRCwkkoXg
149
154
  aws_lambda_powertools/utilities/idempotency/config.py,sha256=h8UraMbewI39KoIIh7FpB_fXtIv_v0WjN1URtvLfeJQ,2868
150
155
  aws_lambda_powertools/utilities/idempotency/exceptions.py,sha256=HLQoBsxrmkkbQVxZ7CxKBwbVw5Tk9ko7VKbkh9qOJmc,2914
151
156
  aws_lambda_powertools/utilities/idempotency/hook.py,sha256=XHj6q0dP65C8Cj-TPJ9a8OZB7LyISNJCuEHc8OzhLZg,450
152
- aws_lambda_powertools/utilities/idempotency/idempotency.py,sha256=z5Ctxlp5WH5419L6k2CgL9dVnsMGQPwTez74Vkz_K3Q,6097
157
+ aws_lambda_powertools/utilities/idempotency/idempotency.py,sha256=tI1MKDItkalU-_NWdXV79lkZQDivfnE9tpxI3gn-H08,7098
153
158
  aws_lambda_powertools/utilities/idempotency/persistence/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
154
- aws_lambda_powertools/utilities/idempotency/persistence/base.py,sha256=VBnWo2E8r09kWfE5Gg45E-A6Bo_nsad1wUGz9hLNmb8,15565
159
+ aws_lambda_powertools/utilities/idempotency/persistence/base.py,sha256=wM8RBv-ixRo2tswo9Jli_7wJ3ibK4D7UGoW65ZfTaDM,15887
155
160
  aws_lambda_powertools/utilities/idempotency/persistence/datarecord.py,sha256=qqX-Z5GxzoTOE7URFRLyLKesKTOetwE19FCrctulxrQ,3496
156
161
  aws_lambda_powertools/utilities/idempotency/persistence/dynamodb.py,sha256=ABgvDqtl2PilHrOFeElMa3lzp7QU8J1RZlZNS2tlxCI,13818
157
162
  aws_lambda_powertools/utilities/idempotency/persistence/redis.py,sha256=TOsKuJLNWQ5_2XZ7i9hVOQ8qLTffXCWrcSmSjX-F3NM,21589
@@ -169,7 +174,7 @@ aws_lambda_powertools/utilities/parameters/base.py,sha256=wkkF16rx6y5QDYCu3KPXIS
169
174
  aws_lambda_powertools/utilities/parameters/constants.py,sha256=_OiNs_1-fSpNLAHjKqsZDe9ztq5AwtFMJS18GWYbNzY,662
170
175
  aws_lambda_powertools/utilities/parameters/dynamodb.py,sha256=BtxW__sWN3jO3E7bXBKCW40Zhn2L8NTWYc7AKP_1AKI,8700
171
176
  aws_lambda_powertools/utilities/parameters/exceptions.py,sha256=0h5CeZIEo0RU9GhnP3qprnLiUoaIYZHhMek3i-gcFcE,465
172
- aws_lambda_powertools/utilities/parameters/secrets.py,sha256=k_wbDrW31nzOAOSvGtKkOATWaf4u_sFtKAT-t07pP9g,17087
177
+ aws_lambda_powertools/utilities/parameters/secrets.py,sha256=ai4Id4a40TWXWQipl1zpit-XTM36M7wwH-E23BQhjmA,17066
173
178
  aws_lambda_powertools/utilities/parameters/ssm.py,sha256=gzOZ--G1B2c4iCUBTGpLkKW9qeoC9bSoxcxeTEZwj4o,42895
174
179
  aws_lambda_powertools/utilities/parameters/types.py,sha256=O7GLEwPZtb2bePvaqbOeQz2eAOY8uWENmAEjc-tmVVU,87
175
180
  aws_lambda_powertools/utilities/parser/__init__.py,sha256=IX6_UzdEMwg7u-bxCpyG3bIJsL4ko0Cvovq0qj7OECo,525
@@ -191,10 +196,10 @@ aws_lambda_powertools/utilities/parser/envelopes/vpc_lattice.py,sha256=RIwj1CQJ_
191
196
  aws_lambda_powertools/utilities/parser/envelopes/vpc_latticev2.py,sha256=DGLibAGblJPPe1wC-9gvNWR8LusAzTeTLxwc3cizHzY,1264
192
197
  aws_lambda_powertools/utilities/parser/exceptions.py,sha256=y6DXKUg48xgvswqMAxOYaUGRAqJgg8sm_F8JORgCa1U,207
193
198
  aws_lambda_powertools/utilities/parser/functions.py,sha256=fVt1YJf2KjLAJ6OVUapO8CvEvq0lQU3bPftAdaOqa08,1174
194
- aws_lambda_powertools/utilities/parser/models/__init__.py,sha256=iP15A0Fxe-tBx-SqubgDfU92wHPguBcM89dh9byOfGk,5187
199
+ aws_lambda_powertools/utilities/parser/models/__init__.py,sha256=t8xfWm0vIrKbmnH18yS8NywkbCKdKNa6EnDjdtPLRfg,5391
195
200
  aws_lambda_powertools/utilities/parser/models/alb.py,sha256=lJPWPjz0_4Hz9Pkpap3NRvScSI3RWC7o4dFYt4F7LLM,439
196
- aws_lambda_powertools/utilities/parser/models/apigw.py,sha256=KwOn9vt2VqMFCVdyRNCcJocK3YnxY04RCLr3EyXf2fQ,3245
197
- aws_lambda_powertools/utilities/parser/models/apigwv2.py,sha256=Xii5P4z2bFDLMjV-z_g20I5qcUyATH8RDpnUjjcZpLY,1955
201
+ aws_lambda_powertools/utilities/parser/models/apigw.py,sha256=_UbZXcfdcz7U-MrixXor4sc-VkNIuJAj9uwqjJTlhKg,3494
202
+ aws_lambda_powertools/utilities/parser/models/apigwv2.py,sha256=huuju1SO_PTi8agSlvord0HE-iGzBafF9LKNPEayj28,2117
198
203
  aws_lambda_powertools/utilities/parser/models/bedrock_agent.py,sha256=YFu2cFxBZtb2ndweS3Q2iz4E94jyb8lB4xq14xPwq00,1241
199
204
  aws_lambda_powertools/utilities/parser/models/cloudformation_custom_resource.py,sha256=J5RMFWg2NfxxugxPX-PggGhbQ4fpdkDhSsOm0GHRxkk,1387
200
205
  aws_lambda_powertools/utilities/parser/models/cloudwatch.py,sha256=KccfyP64JXCcFvhvvpLKJUHfmVfVkW5Pd_USCIkqEOI,1292
@@ -234,12 +239,12 @@ aws_lambda_powertools/utilities/typing/lambda_client_context_mobile_client.py,sh
234
239
  aws_lambda_powertools/utilities/typing/lambda_cognito_identity.py,sha256=LQehWw_Y2FpjYZ4XhlX1jRYjpWWmO3ipA71k36J_gAU,522
235
240
  aws_lambda_powertools/utilities/typing/lambda_context.py,sha256=-ju80VcEVxDNF4R8rANzBa84px61rJlsXNiUtfHo3eE,2756
236
241
  aws_lambda_powertools/utilities/validation/__init__.py,sha256=ZX3narf3HKktq34RF7aa-EJeCS9x4tyDCrO89YII9DI,398
237
- aws_lambda_powertools/utilities/validation/base.py,sha256=7s8yV-GvXC1ZG24UrPyGbKKvUBffrfH6ovG-7J6FN18,1636
242
+ aws_lambda_powertools/utilities/validation/base.py,sha256=zWeXxN-QkzC-5zE2QZdCRNfqMotJD2QKdyVVxFT8Rrk,2494
238
243
  aws_lambda_powertools/utilities/validation/envelopes.py,sha256=YD5HOFx6IClQgii0nPI7XW98Xjynf3LVbJSeeOqfbD8,438
239
244
  aws_lambda_powertools/utilities/validation/exceptions.py,sha256=F-Wpkb3yChHDLgDTKaQy4ngpaMXXH3NJxe27UHoM_dA,2043
240
- aws_lambda_powertools/utilities/validation/validator.py,sha256=0eMxxPxxKIlANBYWImm3LYShj6SL0V8pxQL-Fv4GQGk,8231
245
+ aws_lambda_powertools/utilities/validation/validator.py,sha256=x_1qpuKJBuWpgNU-zCD3Di-vXrZfyUu7oA5RmjZjr84,10034
241
246
  aws_lambda_powertools/warnings/__init__.py,sha256=vqDVeZz8wGtD8WGYNSkQE7AHwqtIrPGRxuoJR_BBnSs,1193
242
- aws_lambda_powertools-3.0.1.dev2.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
243
- aws_lambda_powertools-3.0.1.dev2.dist-info/METADATA,sha256=Xr55-CLa2kJQOmpeFsvh-DGOHRC20cgoVDz4F-ST95g,10733
244
- aws_lambda_powertools-3.0.1.dev2.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
245
- aws_lambda_powertools-3.0.1.dev2.dist-info/RECORD,,
247
+ aws_lambda_powertools-3.0.2.dev1.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
248
+ aws_lambda_powertools-3.0.2.dev1.dist-info/METADATA,sha256=_ldBRvabqTEGJ7g00HP2rxqSLLFVWOWS86DthQ6NjJ8,11118
249
+ aws_lambda_powertools-3.0.2.dev1.dist-info/WHEEL,sha256=WGfLGfLX43Ei_YORXSnT54hxFygu34kMpcQdmgmEwCQ,88
250
+ aws_lambda_powertools-3.0.2.dev1.dist-info/RECORD,,