localstack-core 4.10.1.dev42__py3-none-any.whl → 4.12.1.dev18__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.
Potentially problematic release.
This version of localstack-core might be problematic. Click here for more details.
- localstack/aws/api/apigateway/__init__.py +42 -0
- localstack/aws/api/cloudformation/__init__.py +161 -0
- localstack/aws/api/ec2/__init__.py +1178 -12
- localstack/aws/api/iam/__init__.py +228 -0
- localstack/aws/api/kms/__init__.py +1 -0
- localstack/aws/api/lambda_/__init__.py +1034 -66
- localstack/aws/api/logs/__init__.py +500 -0
- localstack/aws/api/opensearch/__init__.py +100 -0
- localstack/aws/api/redshift/__init__.py +69 -0
- localstack/aws/api/resourcegroupstaggingapi/__init__.py +36 -0
- localstack/aws/api/route53/__init__.py +45 -0
- localstack/aws/api/route53resolver/__init__.py +1 -0
- localstack/aws/api/s3/__init__.py +64 -0
- localstack/aws/api/s3control/__init__.py +19 -0
- localstack/aws/api/secretsmanager/__init__.py +37 -23
- localstack/aws/api/stepfunctions/__init__.py +52 -10
- localstack/aws/api/sts/__init__.py +52 -0
- localstack/aws/connect.py +35 -15
- localstack/aws/handlers/logging.py +8 -4
- localstack/aws/handlers/service.py +11 -2
- localstack/aws/protocol/serializer.py +1 -1
- localstack/config.py +8 -0
- localstack/constants.py +3 -0
- localstack/deprecations.py +0 -6
- localstack/dev/kubernetes/__main__.py +39 -14
- localstack/runtime/analytics.py +11 -0
- localstack/services/acm/provider.py +17 -1
- localstack/services/apigateway/legacy/provider.py +28 -15
- localstack/services/cloudformation/engine/template_preparer.py +6 -2
- localstack/services/cloudformation/engine/v2/change_set_model.py +9 -0
- localstack/services/cloudformation/engine/v2/change_set_model_preproc.py +15 -1
- localstack/services/cloudformation/engine/v2/change_set_resource_support_checker.py +114 -0
- localstack/services/cloudformation/provider.py +26 -1
- localstack/services/cloudformation/provider_utils.py +20 -0
- localstack/services/cloudformation/resource_provider.py +5 -4
- localstack/services/cloudformation/scaffolding/__main__.py +94 -22
- localstack/services/cloudformation/v2/provider.py +41 -0
- localstack/services/cloudwatch/provider.py +10 -3
- localstack/services/cloudwatch/provider_v2.py +6 -3
- localstack/services/configservice/provider.py +5 -1
- localstack/services/dynamodb/provider.py +1 -0
- localstack/services/dynamodb/v2/provider.py +1 -0
- localstack/services/dynamodbstreams/provider.py +6 -0
- localstack/services/dynamodbstreams/v2/provider.py +6 -0
- localstack/services/ec2/provider.py +6 -0
- localstack/services/es/provider.py +6 -0
- localstack/services/events/provider.py +4 -0
- localstack/services/events/v1/provider.py +9 -0
- localstack/services/firehose/provider.py +5 -0
- localstack/services/iam/provider.py +4 -0
- localstack/services/kinesis/packages.py +1 -1
- localstack/services/kms/models.py +16 -22
- localstack/services/kms/provider.py +4 -0
- localstack/services/lambda_/analytics.py +11 -2
- localstack/services/lambda_/api_utils.py +37 -20
- localstack/services/lambda_/event_source_mapping/pollers/stream_poller.py +1 -1
- localstack/services/lambda_/invocation/assignment.py +4 -1
- localstack/services/lambda_/invocation/event_manager.py +15 -11
- localstack/services/lambda_/invocation/execution_environment.py +21 -2
- localstack/services/lambda_/invocation/lambda_models.py +31 -2
- localstack/services/lambda_/invocation/lambda_service.py +62 -3
- localstack/services/lambda_/invocation/models.py +9 -1
- localstack/services/lambda_/invocation/version_manager.py +18 -3
- localstack/services/lambda_/provider.py +307 -106
- localstack/services/lambda_/resource_providers/aws_lambda_function.py +33 -1
- localstack/services/lambda_/runtimes.py +3 -1
- localstack/services/logs/provider.py +9 -0
- localstack/services/opensearch/packages.py +34 -20
- localstack/services/opensearch/provider.py +53 -3
- localstack/services/resource_groups/provider.py +5 -1
- localstack/services/resourcegroupstaggingapi/provider.py +6 -1
- localstack/services/route53/provider.py +7 -0
- localstack/services/route53resolver/provider.py +5 -0
- localstack/services/s3/constants.py +5 -0
- localstack/services/s3/exceptions.py +9 -0
- localstack/services/s3/models.py +9 -1
- localstack/services/s3/provider.py +51 -43
- localstack/services/s3/utils.py +81 -15
- localstack/services/s3control/provider.py +107 -2
- localstack/services/s3control/validation.py +50 -0
- localstack/services/scheduler/provider.py +4 -2
- localstack/services/secretsmanager/provider.py +4 -0
- localstack/services/ses/provider.py +4 -0
- localstack/services/sns/constants.py +16 -1
- localstack/services/sns/provider.py +5 -0
- localstack/services/sns/publisher.py +15 -6
- localstack/services/sns/v2/models.py +9 -0
- localstack/services/sns/v2/provider.py +750 -19
- localstack/services/sns/v2/utils.py +12 -0
- localstack/services/sqs/constants.py +6 -0
- localstack/services/sqs/provider.py +9 -1
- localstack/services/sqs/resource_providers/aws_sqs_queue.py +61 -46
- localstack/services/ssm/provider.py +6 -0
- localstack/services/stepfunctions/asl/component/common/path/result_path.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/execute_state.py +0 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/state_map/state_map.py +0 -1
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/lambda_eval_utils.py +8 -8
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/{mock_eval_utils.py → local_mock_eval_utils.py} +13 -9
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service.py +6 -6
- localstack/services/stepfunctions/asl/component/state/state_execution/state_task/service/state_task_service_callback.py +1 -1
- localstack/services/stepfunctions/asl/component/state/state_fail/state_fail.py +4 -0
- localstack/services/stepfunctions/asl/component/test_state/state/base_mock.py +118 -0
- localstack/services/stepfunctions/asl/component/test_state/state/common.py +82 -0
- localstack/services/stepfunctions/asl/component/test_state/state/execution.py +139 -0
- localstack/services/stepfunctions/asl/component/test_state/state/map.py +77 -0
- localstack/services/stepfunctions/asl/component/test_state/state/task.py +44 -0
- localstack/services/stepfunctions/asl/eval/environment.py +30 -22
- localstack/services/stepfunctions/asl/eval/states.py +1 -1
- localstack/services/stepfunctions/asl/eval/test_state/environment.py +49 -9
- localstack/services/stepfunctions/asl/eval/test_state/program_state.py +22 -0
- localstack/services/stepfunctions/asl/jsonata/jsonata.py +5 -1
- localstack/services/stepfunctions/asl/parse/preprocessor.py +67 -24
- localstack/services/stepfunctions/asl/parse/test_state/asl_parser.py +5 -4
- localstack/services/stepfunctions/asl/parse/test_state/preprocessor.py +222 -31
- localstack/services/stepfunctions/asl/static_analyser/test_state/test_state_analyser.py +256 -22
- localstack/services/stepfunctions/backend/execution.py +10 -11
- localstack/services/stepfunctions/backend/execution_worker.py +5 -5
- localstack/services/stepfunctions/backend/test_state/execution.py +36 -0
- localstack/services/stepfunctions/backend/test_state/execution_worker.py +33 -1
- localstack/services/stepfunctions/backend/test_state/test_state_mock.py +127 -0
- localstack/services/stepfunctions/local_mocking/__init__.py +9 -0
- localstack/services/stepfunctions/{mocking → local_mocking}/mock_config.py +24 -17
- localstack/services/stepfunctions/provider.py +83 -25
- localstack/services/stepfunctions/test_state/mock_config.py +47 -0
- localstack/services/sts/provider.py +7 -0
- localstack/services/support/provider.py +5 -1
- localstack/services/swf/provider.py +5 -1
- localstack/services/transcribe/provider.py +7 -0
- localstack/testing/aws/lambda_utils.py +1 -1
- localstack/testing/aws/util.py +2 -1
- localstack/testing/config.py +1 -0
- localstack/testing/pytest/fixtures.py +28 -0
- localstack/testing/snapshots/transformer_utility.py +5 -0
- localstack/utils/analytics/publisher.py +37 -155
- localstack/utils/analytics/service_request_aggregator.py +6 -4
- localstack/utils/aws/arns.py +7 -0
- localstack/utils/aws/client_types.py +2 -4
- localstack/utils/batching.py +258 -0
- localstack/utils/bootstrap.py +2 -2
- localstack/utils/catalog/catalog.py +3 -2
- localstack/utils/collections.py +23 -11
- localstack/utils/container_utils/container_client.py +22 -13
- localstack/utils/container_utils/docker_cmd_client.py +6 -6
- localstack/version.py +2 -2
- {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/METADATA +7 -7
- {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/RECORD +155 -146
- localstack_core-4.12.1.dev18.dist-info/plux.json +1 -0
- localstack/services/stepfunctions/mocking/__init__.py +0 -0
- localstack/utils/batch_policy.py +0 -124
- localstack_core-4.10.1.dev42.dist-info/plux.json +0 -1
- /localstack/services/stepfunctions/{mocking → local_mocking}/mock_config_file.py +0 -0
- {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack +0 -0
- {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack-supervisor +0 -0
- {localstack_core-4.10.1.dev42.data → localstack_core-4.12.1.dev18.data}/scripts/localstack.bat +0 -0
- {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/WHEEL +0 -0
- {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/entry_points.txt +0 -0
- {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/licenses/LICENSE.txt +0 -0
- {localstack_core-4.10.1.dev42.dist-info → localstack_core-4.12.1.dev18.dist-info}/top_level.txt +0 -0
localstack/utils/collections.py
CHANGED
|
@@ -5,7 +5,7 @@ and manipulate python collection (dicts, list, sets).
|
|
|
5
5
|
|
|
6
6
|
import logging
|
|
7
7
|
import re
|
|
8
|
-
from collections.abc import Callable, Iterable, Iterator, Mapping, Sized
|
|
8
|
+
from collections.abc import Callable, Generator, Iterable, Iterator, Mapping, Sized
|
|
9
9
|
from typing import (
|
|
10
10
|
Any,
|
|
11
11
|
Optional,
|
|
@@ -24,6 +24,9 @@ LOG = logging.getLogger(__name__)
|
|
|
24
24
|
# default regex to match an item in a comma-separated list string
|
|
25
25
|
DEFAULT_REGEX_LIST_ITEM = r"[\w-]+"
|
|
26
26
|
|
|
27
|
+
_E = TypeVar("_E")
|
|
28
|
+
"""TypeVar var used internally for container type parameters."""
|
|
29
|
+
|
|
27
30
|
|
|
28
31
|
class AccessTrackingDict(dict):
|
|
29
32
|
"""
|
|
@@ -101,21 +104,18 @@ class HashableJsonDict(ImmutableDict):
|
|
|
101
104
|
return hash(canonical_json(self._dict))
|
|
102
105
|
|
|
103
106
|
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
class PaginatedList(list[_ListType]):
|
|
107
|
+
class PaginatedList(list[_E]):
|
|
108
108
|
"""List which can be paginated and filtered. For usage in AWS APIs with paginated responses"""
|
|
109
109
|
|
|
110
110
|
DEFAULT_PAGE_SIZE = 50
|
|
111
111
|
|
|
112
112
|
def get_page(
|
|
113
113
|
self,
|
|
114
|
-
token_generator: Callable[[
|
|
114
|
+
token_generator: Callable[[_E], str],
|
|
115
115
|
next_token: str = None,
|
|
116
116
|
page_size: int = None,
|
|
117
|
-
filter_function: Callable[[
|
|
118
|
-
) -> tuple[list[
|
|
117
|
+
filter_function: Callable[[_E], bool] = None,
|
|
118
|
+
) -> tuple[list[_E], str | None]:
|
|
119
119
|
if filter_function is not None:
|
|
120
120
|
result_list = list(filter(filter_function, self))
|
|
121
121
|
else:
|
|
@@ -528,9 +528,6 @@ def is_comma_delimited_list(string: str, item_regex: str | None = None) -> bool:
|
|
|
528
528
|
return True
|
|
529
529
|
|
|
530
530
|
|
|
531
|
-
_E = TypeVar("_E")
|
|
532
|
-
|
|
533
|
-
|
|
534
531
|
def optional_list(condition: bool, items: Iterable[_E]) -> list[_E]:
|
|
535
532
|
"""
|
|
536
533
|
Given an iterable, either create a list out of the entire iterable (if `condition` is `True`), or return the empty list.
|
|
@@ -540,3 +537,18 @@ def optional_list(condition: bool, items: Iterable[_E]) -> list[_E]:
|
|
|
540
537
|
[]
|
|
541
538
|
"""
|
|
542
539
|
return list(filter(lambda _: condition, items))
|
|
540
|
+
|
|
541
|
+
|
|
542
|
+
def iter_chunks(items: list[_E], chunk_size: int) -> Generator[list[_E], None, None]:
|
|
543
|
+
"""
|
|
544
|
+
Split a list into smaller chunks of a specified size and iterate over them.
|
|
545
|
+
|
|
546
|
+
It is implemented as a generator and yields each chunk as needed, making it memory-efficient for large lists.
|
|
547
|
+
|
|
548
|
+
:param items: A list of elements to be divided into chunks.
|
|
549
|
+
:param chunk_size: The maximum number of elements that a single chunk can contain.
|
|
550
|
+
:return: A generator that yields chunks (sublists) of the original list. Each chunk contains up to `chunk_size`
|
|
551
|
+
elements.
|
|
552
|
+
"""
|
|
553
|
+
for i in range(0, len(items), chunk_size):
|
|
554
|
+
yield items[i : i + chunk_size]
|
|
@@ -15,6 +15,7 @@ from typing import (
|
|
|
15
15
|
Literal,
|
|
16
16
|
NamedTuple,
|
|
17
17
|
Protocol,
|
|
18
|
+
TypeAlias,
|
|
18
19
|
TypedDict,
|
|
19
20
|
)
|
|
20
21
|
|
|
@@ -357,7 +358,13 @@ SimpleVolumeBind = tuple[str, str]
|
|
|
357
358
|
|
|
358
359
|
|
|
359
360
|
@dataclasses.dataclass
|
|
360
|
-
class
|
|
361
|
+
class Mount:
|
|
362
|
+
def to_str(self) -> str:
|
|
363
|
+
return str(self)
|
|
364
|
+
|
|
365
|
+
|
|
366
|
+
@dataclasses.dataclass
|
|
367
|
+
class BindMount(Mount):
|
|
361
368
|
"""Represents a --volume argument run/create command. When using VolumeBind to bind-mount a file or directory
|
|
362
369
|
that does not yet exist on the Docker host, -v creates the endpoint for you. It is always created as a directory.
|
|
363
370
|
"""
|
|
@@ -402,7 +409,7 @@ class BindMount:
|
|
|
402
409
|
|
|
403
410
|
|
|
404
411
|
@dataclasses.dataclass
|
|
405
|
-
class VolumeDirMount:
|
|
412
|
+
class VolumeDirMount(Mount):
|
|
406
413
|
volume_path: str
|
|
407
414
|
"""
|
|
408
415
|
Absolute path inside /var/lib/localstack to mount into the container
|
|
@@ -439,24 +446,25 @@ class VolumeDirMount:
|
|
|
439
446
|
}
|
|
440
447
|
|
|
441
448
|
|
|
449
|
+
VolumeMappingSpecification: TypeAlias = SimpleVolumeBind | Mount
|
|
450
|
+
|
|
451
|
+
|
|
442
452
|
class VolumeMappings:
|
|
443
|
-
mappings: list[
|
|
453
|
+
mappings: list[VolumeMappingSpecification]
|
|
444
454
|
|
|
445
|
-
def __init__(
|
|
455
|
+
def __init__(
|
|
456
|
+
self,
|
|
457
|
+
mappings: list[VolumeMappingSpecification] = None,
|
|
458
|
+
):
|
|
446
459
|
self.mappings = mappings if mappings is not None else []
|
|
447
460
|
|
|
448
|
-
def add(self, mapping:
|
|
461
|
+
def add(self, mapping: VolumeMappingSpecification):
|
|
449
462
|
self.append(mapping)
|
|
450
463
|
|
|
451
|
-
def append(
|
|
452
|
-
self,
|
|
453
|
-
mapping: SimpleVolumeBind | BindMount | VolumeDirMount,
|
|
454
|
-
):
|
|
464
|
+
def append(self, mapping: VolumeMappingSpecification):
|
|
455
465
|
self.mappings.append(mapping)
|
|
456
466
|
|
|
457
|
-
def find_target_mapping(
|
|
458
|
-
self, container_dir: str
|
|
459
|
-
) -> SimpleVolumeBind | BindMount | VolumeDirMount | None:
|
|
467
|
+
def find_target_mapping(self, container_dir: str) -> VolumeMappingSpecification | None:
|
|
460
468
|
"""
|
|
461
469
|
Looks through the volumes and returns the one where the container dir matches ``container_dir``.
|
|
462
470
|
Returns None if there is no volume mapping to the given container directory.
|
|
@@ -1510,7 +1518,8 @@ class Util:
|
|
|
1510
1518
|
) -> dict[str, dict[str, str]]:
|
|
1511
1519
|
"""Converts a List of (host_path, container_path) tuples to a Dict suitable as volume argument for docker sdk"""
|
|
1512
1520
|
|
|
1513
|
-
def _map_to_dict(paths:
|
|
1521
|
+
def _map_to_dict(paths: VolumeMappingSpecification):
|
|
1522
|
+
# TODO: move this logic to the `Mount` base class
|
|
1514
1523
|
if isinstance(paths, (BindMount, VolumeDirMount)):
|
|
1515
1524
|
return paths.to_docker_sdk_parameters()
|
|
1516
1525
|
else:
|
|
@@ -12,7 +12,6 @@ from localstack import config
|
|
|
12
12
|
from localstack.utils.collections import ensure_list
|
|
13
13
|
from localstack.utils.container_utils.container_client import (
|
|
14
14
|
AccessDenied,
|
|
15
|
-
BindMount,
|
|
16
15
|
CancellableStream,
|
|
17
16
|
ContainerClient,
|
|
18
17
|
ContainerException,
|
|
@@ -21,16 +20,16 @@ from localstack.utils.container_utils.container_client import (
|
|
|
21
20
|
DockerNotAvailable,
|
|
22
21
|
DockerPlatform,
|
|
23
22
|
LogConfig,
|
|
23
|
+
Mount,
|
|
24
24
|
NoSuchContainer,
|
|
25
25
|
NoSuchImage,
|
|
26
26
|
NoSuchNetwork,
|
|
27
27
|
NoSuchObject,
|
|
28
28
|
PortMappings,
|
|
29
29
|
RegistryConnectionError,
|
|
30
|
-
SimpleVolumeBind,
|
|
31
30
|
Ulimit,
|
|
32
31
|
Util,
|
|
33
|
-
|
|
32
|
+
VolumeMappingSpecification,
|
|
34
33
|
)
|
|
35
34
|
from localstack.utils.run import run
|
|
36
35
|
from localstack.utils.strings import first_char_to_upper, to_str
|
|
@@ -810,7 +809,7 @@ class CmdDockerClient(ContainerClient):
|
|
|
810
809
|
tty: bool = False,
|
|
811
810
|
detach: bool = False,
|
|
812
811
|
command: list[str] | str | None = None,
|
|
813
|
-
volumes: list[
|
|
812
|
+
volumes: list[VolumeMappingSpecification] | None = None,
|
|
814
813
|
ports: PortMappings | None = None,
|
|
815
814
|
exposed_ports: list[str] | None = None,
|
|
816
815
|
env_vars: dict[str, str] | None = None,
|
|
@@ -900,7 +899,7 @@ class CmdDockerClient(ContainerClient):
|
|
|
900
899
|
return cmd, env_file
|
|
901
900
|
|
|
902
901
|
@staticmethod
|
|
903
|
-
def _map_to_volume_param(volume:
|
|
902
|
+
def _map_to_volume_param(volume: VolumeMappingSpecification) -> str:
|
|
904
903
|
"""
|
|
905
904
|
Maps the mount volume, to a parameter for the -v docker cli argument.
|
|
906
905
|
|
|
@@ -911,7 +910,8 @@ class CmdDockerClient(ContainerClient):
|
|
|
911
910
|
:param volume: Either a SimpleVolumeBind, in essence a tuple (host_dir, container_dir), or a VolumeBind object
|
|
912
911
|
:return: String which is passable as parameter to the docker cli -v option
|
|
913
912
|
"""
|
|
914
|
-
|
|
913
|
+
# TODO: move this logic to the VolumeMappingSpecification type
|
|
914
|
+
if isinstance(volume, Mount):
|
|
915
915
|
return volume.to_str()
|
|
916
916
|
else:
|
|
917
917
|
return f"{volume[0]}:{volume[1]}"
|
localstack/version.py
CHANGED
|
@@ -28,7 +28,7 @@ version_tuple: VERSION_TUPLE
|
|
|
28
28
|
commit_id: COMMIT_ID
|
|
29
29
|
__commit_id__: COMMIT_ID
|
|
30
30
|
|
|
31
|
-
__version__ = version = '4.
|
|
32
|
-
__version_tuple__ = version_tuple = (4,
|
|
31
|
+
__version__ = version = '4.12.1.dev18'
|
|
32
|
+
__version_tuple__ = version_tuple = (4, 12, 1, 'dev18')
|
|
33
33
|
|
|
34
34
|
__commit_id__ = commit_id = None
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: localstack-core
|
|
3
|
-
Version: 4.
|
|
3
|
+
Version: 4.12.1.dev18
|
|
4
4
|
Summary: The core library and runtime of LocalStack
|
|
5
5
|
Author-email: LocalStack Contributors <info@localstack.cloud>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -16,7 +16,7 @@ Classifier: Topic :: System :: Emulators
|
|
|
16
16
|
Requires-Python: >=3.10
|
|
17
17
|
License-File: LICENSE.txt
|
|
18
18
|
Requires-Dist: asn1crypto>=1.5.1
|
|
19
|
-
Requires-Dist: click>=
|
|
19
|
+
Requires-Dist: click>=8.2.0
|
|
20
20
|
Requires-Dist: cachetools>=5.0
|
|
21
21
|
Requires-Dist: cryptography
|
|
22
22
|
Requires-Dist: dill==0.3.6
|
|
@@ -30,8 +30,8 @@ Requires-Dist: rich>=12.3.0
|
|
|
30
30
|
Requires-Dist: requests>=2.20.0
|
|
31
31
|
Requires-Dist: semver>=2.10
|
|
32
32
|
Provides-Extra: base-runtime
|
|
33
|
-
Requires-Dist: boto3==1.
|
|
34
|
-
Requires-Dist: botocore==1.
|
|
33
|
+
Requires-Dist: boto3==1.42.9; extra == "base-runtime"
|
|
34
|
+
Requires-Dist: botocore==1.42.9; extra == "base-runtime"
|
|
35
35
|
Requires-Dist: awscrt!=0.27.1,>=0.13.14; extra == "base-runtime"
|
|
36
36
|
Requires-Dist: cbor2>=5.5.0; extra == "base-runtime"
|
|
37
37
|
Requires-Dist: dnspython>=1.16.0; extra == "base-runtime"
|
|
@@ -53,11 +53,11 @@ Requires-Dist: xmltodict>=0.13.0; extra == "base-runtime"
|
|
|
53
53
|
Requires-Dist: rolo>=0.7; extra == "base-runtime"
|
|
54
54
|
Provides-Extra: runtime
|
|
55
55
|
Requires-Dist: localstack-core[base-runtime]; extra == "runtime"
|
|
56
|
-
Requires-Dist: awscli==1.
|
|
56
|
+
Requires-Dist: awscli==1.43.15; extra == "runtime"
|
|
57
57
|
Requires-Dist: airspeed-ext>=0.6.3; extra == "runtime"
|
|
58
58
|
Requires-Dist: antlr4-python3-runtime==4.13.2; extra == "runtime"
|
|
59
59
|
Requires-Dist: apispec>=5.1.1; extra == "runtime"
|
|
60
|
-
Requires-Dist: aws-sam-translator>=1.
|
|
60
|
+
Requires-Dist: aws-sam-translator>=1.105.0; extra == "runtime"
|
|
61
61
|
Requires-Dist: crontab>=0.22.6; extra == "runtime"
|
|
62
62
|
Requires-Dist: cryptography>=41.0.5; extra == "runtime"
|
|
63
63
|
Requires-Dist: jinja2>=3.1.6; extra == "runtime"
|
|
@@ -100,5 +100,5 @@ Requires-Dist: rstr>=3.2.0; extra == "dev"
|
|
|
100
100
|
Requires-Dist: mypy; extra == "dev"
|
|
101
101
|
Provides-Extra: typehint
|
|
102
102
|
Requires-Dist: localstack-core[dev]; extra == "typehint"
|
|
103
|
-
Requires-Dist: boto3-stubs[acm,acm-pca,amplify,apigateway,apigatewayv2,appconfig,appconfigdata,application-autoscaling,appsync,athena,autoscaling,backup,batch,ce,cloudcontrol,cloudformation,cloudfront,cloudtrail,cloudwatch,codebuild,codecommit,codeconnections,codedeploy,codepipeline,codestar-connections,cognito-identity,cognito-idp,dms,docdb,dynamodb,dynamodbstreams,ec2,ecr,ecs,efs,eks,elasticache,elasticbeanstalk,elbv2,emr,emr-serverless,es,events,firehose,fis,glacier,glue,iam,identitystore,iot,iot-data,
|
|
103
|
+
Requires-Dist: boto3-stubs[acm,acm-pca,amplify,apigateway,apigatewayv2,appconfig,appconfigdata,application-autoscaling,appsync,athena,autoscaling,backup,batch,ce,cloudcontrol,cloudformation,cloudfront,cloudtrail,cloudwatch,codebuild,codecommit,codeconnections,codedeploy,codepipeline,codestar-connections,cognito-identity,cognito-idp,dms,docdb,dynamodb,dynamodbstreams,ec2,ecr,ecs,efs,eks,elasticache,elasticbeanstalk,elbv2,emr,emr-serverless,es,events,firehose,fis,glacier,glue,iam,identitystore,iot,iot-data,iotwireless,kafka,kinesis,kinesisanalyticsv2,kms,lakeformation,lambda,logs,managedblockchain,mediaconvert,mq,mwaa,neptune,opensearch,organizations,pi,pinpoint,pipes,rds,rds-data,redshift,redshift-data,resource-groups,resourcegroupstaggingapi,route53,route53resolver,s3,s3control,sagemaker,sagemaker-runtime,secretsmanager,serverlessrepo,servicediscovery,ses,sesv2,sns,sqs,ssm,sso-admin,stepfunctions,sts,timestream-query,timestream-write,transcribe,verifiedpermissions,wafv2,xray]; extra == "typehint"
|
|
104
104
|
Dynamic: license-file
|