aws-lambda-powertools 3.8.1a8__py3-none-any.whl → 3.8.1a10__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.
- aws_lambda_powertools/logging/logger.py +19 -5
- aws_lambda_powertools/metrics/functions.py +38 -0
- aws_lambda_powertools/metrics/metrics.py +2 -0
- aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py +10 -1
- aws_lambda_powertools/metrics/provider/cold_start.py +11 -0
- aws_lambda_powertools/metrics/provider/datadog/datadog.py +7 -2
- aws_lambda_powertools/shared/constants.py +2 -0
- aws_lambda_powertools/shared/version.py +1 -1
- aws_lambda_powertools/tracing/tracer.py +28 -5
- {aws_lambda_powertools-3.8.1a8.dist-info → aws_lambda_powertools-3.8.1a10.dist-info}/METADATA +1 -1
- {aws_lambda_powertools-3.8.1a8.dist-info → aws_lambda_powertools-3.8.1a10.dist-info}/RECORD +13 -13
- {aws_lambda_powertools-3.8.1a8.dist-info → aws_lambda_powertools-3.8.1a10.dist-info}/LICENSE +0 -0
- {aws_lambda_powertools-3.8.1a8.dist-info → aws_lambda_powertools-3.8.1a10.dist-info}/WHEEL +0 -0
@@ -64,14 +64,22 @@ def _is_cold_start() -> bool:
|
|
64
64
|
bool
|
65
65
|
cold start bool value
|
66
66
|
"""
|
67
|
-
cold_start = False
|
68
|
-
|
69
67
|
global is_cold_start
|
70
|
-
|
71
|
-
|
68
|
+
|
69
|
+
initialization_type = os.getenv(constants.LAMBDA_INITIALIZATION_TYPE)
|
70
|
+
|
71
|
+
# Check for Provisioned Concurrency environment
|
72
|
+
# AWS_LAMBDA_INITIALIZATION_TYPE is set when using Provisioned Concurrency
|
73
|
+
if initialization_type == "provisioned-concurrency":
|
72
74
|
is_cold_start = False
|
75
|
+
return False
|
73
76
|
|
74
|
-
|
77
|
+
if not is_cold_start:
|
78
|
+
return False
|
79
|
+
|
80
|
+
# This is a cold start - flip the flag and return True
|
81
|
+
is_cold_start = False
|
82
|
+
return True
|
75
83
|
|
76
84
|
|
77
85
|
class Logger:
|
@@ -1127,6 +1135,12 @@ class Logger:
|
|
1127
1135
|
tracer_id = get_tracer_id()
|
1128
1136
|
|
1129
1137
|
if tracer_id and self._buffer_config:
|
1138
|
+
if not self._buffer_cache.get(tracer_id):
|
1139
|
+
# Detect new Lambda invocation context and reset buffer to maintain log isolation
|
1140
|
+
# Ensures logs from previous invocations do not leak into current execution
|
1141
|
+
# Prevent memory excessive usage
|
1142
|
+
self._buffer_cache.clear()
|
1143
|
+
|
1130
1144
|
log_record: dict[str, Any] = _create_buffer_record(
|
1131
1145
|
level=level,
|
1132
1146
|
msg=msg,
|
@@ -2,6 +2,7 @@ from __future__ import annotations
|
|
2
2
|
|
3
3
|
import os
|
4
4
|
from datetime import datetime
|
5
|
+
from typing import TYPE_CHECKING
|
5
6
|
|
6
7
|
from aws_lambda_powertools.metrics.provider.cloudwatch_emf.exceptions import (
|
7
8
|
MetricResolutionError,
|
@@ -11,6 +12,9 @@ from aws_lambda_powertools.metrics.provider.cloudwatch_emf.metric_properties imp
|
|
11
12
|
from aws_lambda_powertools.shared import constants
|
12
13
|
from aws_lambda_powertools.shared.functions import strtobool
|
13
14
|
|
15
|
+
if TYPE_CHECKING:
|
16
|
+
from aws_lambda_powertools.utilities.typing.lambda_context import LambdaContext
|
17
|
+
|
14
18
|
|
15
19
|
def extract_cloudwatch_metric_resolution_value(metric_resolutions: list, resolution: int | MetricResolution) -> int:
|
16
20
|
"""Return metric value from CloudWatch metric unit whether that's str or MetricResolution enum
|
@@ -161,3 +165,37 @@ def is_metrics_disabled() -> bool:
|
|
161
165
|
]
|
162
166
|
|
163
167
|
return any(disable_conditions)
|
168
|
+
|
169
|
+
|
170
|
+
def resolve_cold_start_function_name(function_name: str | None, context: LambdaContext) -> str:
|
171
|
+
"""
|
172
|
+
Resolve the function name for ColdStart metrics with a prioritized approach.
|
173
|
+
|
174
|
+
Parameters
|
175
|
+
----------
|
176
|
+
function_name : str, optional
|
177
|
+
Explicitly provided function name (highest priority).
|
178
|
+
context : LambdaContext
|
179
|
+
AWS Lambda context object.
|
180
|
+
|
181
|
+
Returns
|
182
|
+
-------
|
183
|
+
str
|
184
|
+
Resolved function name.
|
185
|
+
|
186
|
+
Notes
|
187
|
+
-----
|
188
|
+
Function name resolution follows this priority:
|
189
|
+
1. Explicitly provided function_name
|
190
|
+
2. Environment variable POWERTOOLS_METRICS_FUNCTION_NAME
|
191
|
+
3. Lambda context function name
|
192
|
+
"""
|
193
|
+
|
194
|
+
if function_name:
|
195
|
+
return function_name
|
196
|
+
|
197
|
+
metrics_function_name_env = os.getenv(constants.METRICS_FUNCTION_NAME_ENV)
|
198
|
+
if metrics_function_name_env:
|
199
|
+
return metrics_function_name_env
|
200
|
+
|
201
|
+
return context.function_name
|
@@ -86,6 +86,7 @@ class Metrics:
|
|
86
86
|
service: str | None = None,
|
87
87
|
namespace: str | None = None,
|
88
88
|
provider: AmazonCloudWatchEMFProvider | None = None,
|
89
|
+
function_name: str | None = None,
|
89
90
|
):
|
90
91
|
self.metric_set = self._metrics
|
91
92
|
self.metadata_set = self._metadata
|
@@ -102,6 +103,7 @@ class Metrics:
|
|
102
103
|
dimension_set=self.dimension_set,
|
103
104
|
metadata_set=self.metadata_set,
|
104
105
|
default_dimensions=self._default_dimensions,
|
106
|
+
function_name=function_name,
|
105
107
|
)
|
106
108
|
else:
|
107
109
|
self.provider = provider
|
@@ -16,6 +16,7 @@ from aws_lambda_powertools.metrics.functions import (
|
|
16
16
|
extract_cloudwatch_metric_resolution_value,
|
17
17
|
extract_cloudwatch_metric_unit_value,
|
18
18
|
is_metrics_disabled,
|
19
|
+
resolve_cold_start_function_name,
|
19
20
|
validate_emf_timestamp,
|
20
21
|
)
|
21
22
|
from aws_lambda_powertools.metrics.provider.base import BaseProvider
|
@@ -51,6 +52,10 @@ class AmazonCloudWatchEMFProvider(BaseProvider):
|
|
51
52
|
metric namespace to be set for all metrics
|
52
53
|
POWERTOOLS_SERVICE_NAME : str
|
53
54
|
service name used for default dimension
|
55
|
+
POWERTOOLS_METRICS_FUNCTION_NAME: str
|
56
|
+
function name used as dimension for the ColdStart metric
|
57
|
+
POWERTOOLS_METRICS_DISABLED: bool
|
58
|
+
disables all metrics emitted by Powertools
|
54
59
|
|
55
60
|
Raises
|
56
61
|
------
|
@@ -72,12 +77,14 @@ class AmazonCloudWatchEMFProvider(BaseProvider):
|
|
72
77
|
metadata_set: dict[str, Any] | None = None,
|
73
78
|
service: str | None = None,
|
74
79
|
default_dimensions: dict[str, Any] | None = None,
|
80
|
+
function_name: str | None = None,
|
75
81
|
):
|
76
82
|
self.metric_set = metric_set if metric_set is not None else {}
|
77
83
|
self.dimension_set = dimension_set if dimension_set is not None else {}
|
78
84
|
self.default_dimensions = default_dimensions or {}
|
79
85
|
self.namespace = resolve_env_var_choice(choice=namespace, env=os.getenv(constants.METRICS_NAMESPACE_ENV))
|
80
86
|
self.service = resolve_env_var_choice(choice=service, env=os.getenv(constants.SERVICE_NAME_ENV))
|
87
|
+
self.function_name = function_name
|
81
88
|
|
82
89
|
self.metadata_set = metadata_set if metadata_set is not None else {}
|
83
90
|
self.timestamp: int | None = None
|
@@ -445,9 +452,11 @@ class AmazonCloudWatchEMFProvider(BaseProvider):
|
|
445
452
|
context : Any
|
446
453
|
Lambda context
|
447
454
|
"""
|
455
|
+
|
456
|
+
cold_start_function_name = resolve_cold_start_function_name(function_name=self.function_name, context=context)
|
448
457
|
logger.debug("Adding cold start metric and function_name dimension")
|
449
458
|
with single_metric(name="ColdStart", unit=MetricUnit.Count, value=1, namespace=self.namespace) as metric:
|
450
|
-
metric.add_dimension(name="function_name", value=
|
459
|
+
metric.add_dimension(name="function_name", value=cold_start_function_name)
|
451
460
|
if self.service:
|
452
461
|
metric.add_dimension(name="service", value=str(self.service))
|
453
462
|
|
@@ -1,7 +1,18 @@
|
|
1
1
|
from __future__ import annotations
|
2
2
|
|
3
|
+
import os
|
4
|
+
|
5
|
+
from aws_lambda_powertools.shared import constants
|
6
|
+
|
3
7
|
is_cold_start = True
|
4
8
|
|
9
|
+
initialization_type = os.getenv(constants.LAMBDA_INITIALIZATION_TYPE)
|
10
|
+
|
11
|
+
# Check for Provisioned Concurrency environment
|
12
|
+
# AWS_LAMBDA_INITIALIZATION_TYPE is set when using Provisioned Concurrency
|
13
|
+
if initialization_type == "provisioned-concurrency":
|
14
|
+
is_cold_start = False
|
15
|
+
|
5
16
|
|
6
17
|
def reset_cold_start_flag():
|
7
18
|
global is_cold_start
|
@@ -10,7 +10,7 @@ import warnings
|
|
10
10
|
from typing import TYPE_CHECKING, Any
|
11
11
|
|
12
12
|
from aws_lambda_powertools.metrics.exceptions import MetricValueError, SchemaValidationError
|
13
|
-
from aws_lambda_powertools.metrics.functions import is_metrics_disabled
|
13
|
+
from aws_lambda_powertools.metrics.functions import is_metrics_disabled, resolve_cold_start_function_name
|
14
14
|
from aws_lambda_powertools.metrics.provider import BaseProvider
|
15
15
|
from aws_lambda_powertools.metrics.provider.datadog.warnings import DatadogDataValidationWarning
|
16
16
|
from aws_lambda_powertools.shared import constants
|
@@ -58,8 +58,10 @@ class DatadogProvider(BaseProvider):
|
|
58
58
|
namespace: str | None = None,
|
59
59
|
flush_to_log: bool | None = None,
|
60
60
|
default_tags: dict[str, Any] | None = None,
|
61
|
+
function_name: str | None = None,
|
61
62
|
):
|
62
63
|
self.metric_set = metric_set if metric_set is not None else []
|
64
|
+
self.function_name = function_name
|
63
65
|
self.namespace = (
|
64
66
|
resolve_env_var_choice(choice=namespace, env=os.getenv(constants.METRICS_NAMESPACE_ENV))
|
65
67
|
or DEFAULT_NAMESPACE
|
@@ -224,8 +226,11 @@ class DatadogProvider(BaseProvider):
|
|
224
226
|
context : Any
|
225
227
|
Lambda context
|
226
228
|
"""
|
229
|
+
|
230
|
+
cold_start_function_name = resolve_cold_start_function_name(function_name=self.function_name, context=context)
|
231
|
+
|
227
232
|
logger.debug("Adding cold start metric and function_name tagging")
|
228
|
-
self.add_metric(name="ColdStart", value=1, function_name=
|
233
|
+
self.add_metric(name="ColdStart", value=1, function_name=cold_start_function_name)
|
229
234
|
|
230
235
|
def log_metrics(
|
231
236
|
self,
|
@@ -41,6 +41,7 @@ METRICS_NAMESPACE_ENV: str = "POWERTOOLS_METRICS_NAMESPACE"
|
|
41
41
|
DATADOG_FLUSH_TO_LOG: str = "DD_FLUSH_TO_LOG"
|
42
42
|
SERVICE_NAME_ENV: str = "POWERTOOLS_SERVICE_NAME"
|
43
43
|
METRICS_DISABLED_ENV: str = "POWERTOOLS_METRICS_DISABLED"
|
44
|
+
METRICS_FUNCTION_NAME_ENV: str = "POWERTOOLS_METRICS_FUNCTION_NAME"
|
44
45
|
# If the timestamp of log event is more than 2 hours in future, the log event is skipped.
|
45
46
|
# If the timestamp of log event is more than 14 days in past, the log event is skipped.
|
46
47
|
# See https://docs.aws.amazon.com/AmazonCloudWatch/latest/logs/AgentReference.html
|
@@ -56,6 +57,7 @@ LAMBDA_TASK_ROOT_ENV: str = "LAMBDA_TASK_ROOT"
|
|
56
57
|
SAM_LOCAL_ENV: str = "AWS_SAM_LOCAL"
|
57
58
|
CHALICE_LOCAL_ENV: str = "AWS_CHALICE_CLI_MODE"
|
58
59
|
LAMBDA_FUNCTION_NAME_ENV: str = "AWS_LAMBDA_FUNCTION_NAME"
|
60
|
+
LAMBDA_INITIALIZATION_TYPE: str = "AWS_LAMBDA_INITIALIZATION_TYPE"
|
59
61
|
|
60
62
|
# Debug constants
|
61
63
|
POWERTOOLS_DEV_ENV: str = "POWERTOOLS_DEV"
|
@@ -30,6 +30,32 @@ aws_xray_sdk = LazyLoader(constants.XRAY_SDK_MODULE, globals(), constants.XRAY_S
|
|
30
30
|
T = TypeVar("T")
|
31
31
|
|
32
32
|
|
33
|
+
def _is_cold_start() -> bool:
|
34
|
+
"""Verifies whether is cold start
|
35
|
+
|
36
|
+
Returns
|
37
|
+
-------
|
38
|
+
bool
|
39
|
+
cold start bool value
|
40
|
+
"""
|
41
|
+
global is_cold_start
|
42
|
+
|
43
|
+
initialization_type = os.getenv(constants.LAMBDA_INITIALIZATION_TYPE)
|
44
|
+
|
45
|
+
# Check for Provisioned Concurrency environment
|
46
|
+
# AWS_LAMBDA_INITIALIZATION_TYPE is set when using Provisioned Concurrency
|
47
|
+
if initialization_type == "provisioned-concurrency":
|
48
|
+
is_cold_start = False
|
49
|
+
return False
|
50
|
+
|
51
|
+
if not is_cold_start:
|
52
|
+
return False
|
53
|
+
|
54
|
+
# This is a cold start - flip the flag and return True
|
55
|
+
is_cold_start = False
|
56
|
+
return True
|
57
|
+
|
58
|
+
|
33
59
|
class Tracer:
|
34
60
|
"""Tracer using AWS-XRay to provide decorators with known defaults for Lambda functions
|
35
61
|
|
@@ -340,12 +366,9 @@ class Tracer:
|
|
340
366
|
|
341
367
|
raise
|
342
368
|
finally:
|
343
|
-
|
369
|
+
cold_start = _is_cold_start()
|
344
370
|
logger.debug("Annotating cold start")
|
345
|
-
subsegment.put_annotation(key="ColdStart", value=
|
346
|
-
|
347
|
-
if is_cold_start:
|
348
|
-
is_cold_start = False
|
371
|
+
subsegment.put_annotation(key="ColdStart", value=cold_start)
|
349
372
|
|
350
373
|
if self.service:
|
351
374
|
subsegment.put_annotation(key="Service", value=self.service)
|
{aws_lambda_powertools-3.8.1a8.dist-info → aws_lambda_powertools-3.8.1a10.dist-info}/METADATA
RENAMED
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: aws_lambda_powertools
|
3
|
-
Version: 3.8.
|
3
|
+
Version: 3.8.1a10
|
4
4
|
Summary: Powertools for AWS Lambda (Python) is a developer toolkit to implement Serverless best practices and increase developer velocity.
|
5
5
|
License: MIT
|
6
6
|
Keywords: aws_lambda_powertools,aws,tracing,logging,lambda,powertools,feature_flags,idempotency,middleware
|
@@ -49,26 +49,26 @@ aws_lambda_powertools/logging/formatter.py,sha256=dmE6XXmkWVkYbWdy1Kg69TYJJ0yDXf
|
|
49
49
|
aws_lambda_powertools/logging/formatters/__init__.py,sha256=OqddpJcWMqRYhx5SFy-SPqtt72tkRZbfpEi_oCC47eI,301
|
50
50
|
aws_lambda_powertools/logging/formatters/datadog.py,sha256=NwaaBOp7jIlOAH158NzyvW-EwmWqqnYX9f7Uu_nIUYQ,3169
|
51
51
|
aws_lambda_powertools/logging/lambda_context.py,sha256=VHst_6hxMpXgScoxNwaC61UXPTIdd3AEBHTPzb4esPc,1736
|
52
|
-
aws_lambda_powertools/logging/logger.py,sha256=
|
52
|
+
aws_lambda_powertools/logging/logger.py,sha256=H8f5Rp8P9I_hhzUolQAr2vjMDspV6Kg7u6sfg2V8wjo,49010
|
53
53
|
aws_lambda_powertools/logging/types.py,sha256=Zc95nGdZ2sJUEPdwR0uoArT_F-JSKfpS_LokdCVO0nQ,1263
|
54
54
|
aws_lambda_powertools/logging/utils.py,sha256=NirAObjkkarN5fX2diHs0Ln_8KHLueviL-jCKhckIBM,4069
|
55
55
|
aws_lambda_powertools/metrics/__init__.py,sha256=B5FpJS_VR7zivm2ylvUF8RHBthKz4aDk0VA5GpDn3Tk,592
|
56
56
|
aws_lambda_powertools/metrics/base.py,sha256=Ric6mWDekLgbGHgCW706vdTob40FiIsXvbA50HEDyBo,23774
|
57
57
|
aws_lambda_powertools/metrics/exceptions.py,sha256=HX9k4L4RXI9Ol8kVr5U9FYmUsrN_3v2tugAmzNVp0ng,418
|
58
|
-
aws_lambda_powertools/metrics/functions.py,sha256=
|
58
|
+
aws_lambda_powertools/metrics/functions.py,sha256=Njw-gKtAt_YpKw5ltQMcKFbGvJBFbs3J60t3C0oczB4,6190
|
59
59
|
aws_lambda_powertools/metrics/metric.py,sha256=utHoGjKlx-e1zhgq51ChXRGx3MNSNv3qwanWhlksY0s,165
|
60
|
-
aws_lambda_powertools/metrics/metrics.py,sha256=
|
60
|
+
aws_lambda_powertools/metrics/metrics.py,sha256=wy06nwBDzR03EHQxJ0N2S82fVHD47l237G1dvUQcaD8,8246
|
61
61
|
aws_lambda_powertools/metrics/provider/__init__.py,sha256=7Cg6Rwzy6pYW6LjeWGEl0opDaKleBSGrMPfGNXCH1i4,104
|
62
62
|
aws_lambda_powertools/metrics/provider/base.py,sha256=w1JBW2uYezxdYv3BbersCpzS4-GEfm9G8xk4opS1C-o,6879
|
63
63
|
aws_lambda_powertools/metrics/provider/cloudwatch_emf/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
64
|
-
aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py,sha256=
|
64
|
+
aws_lambda_powertools/metrics/provider/cloudwatch_emf/cloudwatch.py,sha256=7o830Az2VksFAQQPZqGK7HEmz4Z8D-lHdemd_1aLRCQ,18619
|
65
65
|
aws_lambda_powertools/metrics/provider/cloudwatch_emf/constants.py,sha256=ByQMR69yb7CWkHvdI8fToZwJGTVDsiFuM1xijvyzuG8,38
|
66
66
|
aws_lambda_powertools/metrics/provider/cloudwatch_emf/exceptions.py,sha256=FdDzZ5sMLvZQqv2XR55haKdhVuCCCSYIHoat3h-ZpNI,218
|
67
67
|
aws_lambda_powertools/metrics/provider/cloudwatch_emf/metric_properties.py,sha256=pzVuLOFzjyau1GGvTNpHQvmrPXDWpPeG16FaBEsHCH0,1007
|
68
68
|
aws_lambda_powertools/metrics/provider/cloudwatch_emf/types.py,sha256=Rhnn9VkPX41tVjV1dOTqk3gyPRnvcpSNDFC2m2kjSaQ,587
|
69
|
-
aws_lambda_powertools/metrics/provider/cold_start.py,sha256=
|
69
|
+
aws_lambda_powertools/metrics/provider/cold_start.py,sha256=I4oAfv2HIfMtX69IoLcGp-D79XjSfX4MZDoUdTPcMQ4,505
|
70
70
|
aws_lambda_powertools/metrics/provider/datadog/__init__.py,sha256=3LivCIwqyI7KKEeSLDcxN1Z9RObChoMg5hpiXPin2C0,225
|
71
|
-
aws_lambda_powertools/metrics/provider/datadog/datadog.py,sha256=
|
71
|
+
aws_lambda_powertools/metrics/provider/datadog/datadog.py,sha256=zw-AtT4gPqqNLjsQe99flB4eIK-CE1bbWaaSa9D5cFg,14491
|
72
72
|
aws_lambda_powertools/metrics/provider/datadog/metrics.py,sha256=_7dx4sSx6aXGJ2uv3iisqr6AyqmKjHBATOLdI1hjJhw,4285
|
73
73
|
aws_lambda_powertools/metrics/provider/datadog/warnings.py,sha256=tpnTQNhb6NhQp_NZSgUR4SsDSASqG6XBpzPZBgSVXlw,191
|
74
74
|
aws_lambda_powertools/metrics/types.py,sha256=6EhODeacBtnAslVf-YVZ3iPNIE3RwDN95DtuIpefpmA,185
|
@@ -79,7 +79,7 @@ aws_lambda_powertools/package_logger.py,sha256=Q2QX1JXDdc-Piekk1r19qEIDUMN2i4ZZK
|
|
79
79
|
aws_lambda_powertools/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
80
80
|
aws_lambda_powertools/shared/__init__.py,sha256=o2ycxf3MCYfWXm1P-zuTKap_uzJiu8uYmVcCX7s4gUk,75
|
81
81
|
aws_lambda_powertools/shared/cache_dict.py,sha256=X3Ykh-_Fb4Wkc5RGjaostC_FUvMyY_H1L2bOB89A3vM,916
|
82
|
-
aws_lambda_powertools/shared/constants.py,sha256=
|
82
|
+
aws_lambda_powertools/shared/constants.py,sha256=5piC-613gUOv2r1miWvSuiT04sG89CGy8iY98Bxlslg,2872
|
83
83
|
aws_lambda_powertools/shared/cookies.py,sha256=X2Bkcf7MAmV75PJFm07QGkL4n1psk4HIGpUxzrsjiJY,3868
|
84
84
|
aws_lambda_powertools/shared/dynamodb_deserializer.py,sha256=tWw8MLXEitInnViFkt_xSBkXD_V1n1KcWbqBXBxwUlE,4054
|
85
85
|
aws_lambda_powertools/shared/functions.py,sha256=N5VIND3xW-eZHqY2uPsBMtDbtMx64iklUKByeCh58rc,7625
|
@@ -88,11 +88,11 @@ aws_lambda_powertools/shared/json_encoder.py,sha256=JQeWNu-4M7_xI_hqYExrxsb3OcEH
|
|
88
88
|
aws_lambda_powertools/shared/lazy_import.py,sha256=TbXQm2bcwXdZrYdBaJJXIswyLlumM85RJ_A_0w-h-GU,2019
|
89
89
|
aws_lambda_powertools/shared/types.py,sha256=APkI38HbiTpSF19NSNii8Ydx73vmVUVotgEQ9jHruEI,124
|
90
90
|
aws_lambda_powertools/shared/user_agent.py,sha256=DrCMFQuT4a4iIrpcWpAIjY37EFqR9-QxlxDGD-Nn9Gg,7081
|
91
|
-
aws_lambda_powertools/shared/version.py,sha256=
|
91
|
+
aws_lambda_powertools/shared/version.py,sha256=l9UgjhXUM5tHAvW82xf1HgPWV8QQeFdN65pnPPmzI10,85
|
92
92
|
aws_lambda_powertools/tracing/__init__.py,sha256=f4bMThOPBPWTPVcYqcAIErAJPerMsf3H_Z4gCXCsK9I,141
|
93
93
|
aws_lambda_powertools/tracing/base.py,sha256=DbLD8OSK05KLdSV36oNA5wDSGv8KbcOD19qMUqoXh58,4513
|
94
94
|
aws_lambda_powertools/tracing/extensions.py,sha256=APOfXOq-hRBKaK5WyfIyrd_6M1_9SWJZ3zxLA9jDZzU,492
|
95
|
-
aws_lambda_powertools/tracing/tracer.py,sha256=
|
95
|
+
aws_lambda_powertools/tracing/tracer.py,sha256=bLTdP3NmJQc3VYdcP-tZJ3fdvR8jNTPT8RBuUVtPQqY,32457
|
96
96
|
aws_lambda_powertools/utilities/__init__.py,sha256=BhnoYxIaDboi8oCsEMAizR2Bp-EaJJ-OcdMa9q07thc,39
|
97
97
|
aws_lambda_powertools/utilities/batch/__init__.py,sha256=mjFmfhJwot_3miZrstDcMKH7LzM_0aD35z-581HgZfY,1073
|
98
98
|
aws_lambda_powertools/utilities/batch/base.py,sha256=FAYRjITKFHtRLmADX1xF92WQUPLyqzYXgvLvFtQE4vU,25292
|
@@ -257,7 +257,7 @@ aws_lambda_powertools/utilities/validation/envelopes.py,sha256=YD5HOFx6IClQgii0n
|
|
257
257
|
aws_lambda_powertools/utilities/validation/exceptions.py,sha256=PKy_19zQMBJGCMMFl-sMkcm-cc0v3zZBn_bhGE4wKNo,2084
|
258
258
|
aws_lambda_powertools/utilities/validation/validator.py,sha256=x_1qpuKJBuWpgNU-zCD3Di-vXrZfyUu7oA5RmjZjr84,10034
|
259
259
|
aws_lambda_powertools/warnings/__init__.py,sha256=vqDVeZz8wGtD8WGYNSkQE7AHwqtIrPGRxuoJR_BBnSs,1193
|
260
|
-
aws_lambda_powertools-3.8.
|
261
|
-
aws_lambda_powertools-3.8.
|
262
|
-
aws_lambda_powertools-3.8.
|
263
|
-
aws_lambda_powertools-3.8.
|
260
|
+
aws_lambda_powertools-3.8.1a10.dist-info/LICENSE,sha256=vMHS2eBgmwPUIMPb7LQ4p7ib_FPVQXarVjAasflrTwo,951
|
261
|
+
aws_lambda_powertools-3.8.1a10.dist-info/METADATA,sha256=VXPvA3QTuq7c2hKw42J23CPKoLz4elwIr-0Mp3XUOGI,11157
|
262
|
+
aws_lambda_powertools-3.8.1a10.dist-info/WHEEL,sha256=IYZQI976HJqqOpQU6PHkJ8fb3tMNBFjg-Cn-pwAbaFM,88
|
263
|
+
aws_lambda_powertools-3.8.1a10.dist-info/RECORD,,
|
{aws_lambda_powertools-3.8.1a8.dist-info → aws_lambda_powertools-3.8.1a10.dist-info}/LICENSE
RENAMED
File without changes
|
File without changes
|