localstack 2026.3.0__tar.gz → 2026.4.0__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 (147) hide show
  1. {localstack-2026.3.0/localstack.egg-info → localstack-2026.4.0}/PKG-INFO +1 -1
  2. {localstack-2026.3.0 → localstack-2026.4.0/localstack.egg-info}/PKG-INFO +1 -1
  3. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/plugins.py +12 -0
  4. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/container_utils/docker_cmd_client.py +2 -2
  5. localstack-2026.4.0/localstack_cli/version.py +24 -0
  6. {localstack-2026.3.0 → localstack-2026.4.0}/tests/cli/test_cli.py +1 -1
  7. localstack-2026.3.0/localstack_cli/version.py +0 -34
  8. {localstack-2026.3.0 → localstack-2026.4.0}/.github/workflows/tests-cli.yml +0 -0
  9. {localstack-2026.3.0 → localstack-2026.4.0}/.gitignore +0 -0
  10. {localstack-2026.3.0 → localstack-2026.4.0}/Makefile +0 -0
  11. {localstack-2026.3.0 → localstack-2026.4.0}/README.md +0 -0
  12. {localstack-2026.3.0 → localstack-2026.4.0}/bin/localstack +0 -0
  13. {localstack-2026.3.0 → localstack-2026.4.0}/localstack.egg-info/SOURCES.txt +0 -0
  14. {localstack-2026.3.0 → localstack-2026.4.0}/localstack.egg-info/dependency_links.txt +0 -0
  15. {localstack-2026.3.0 → localstack-2026.4.0}/localstack.egg-info/entry_points.txt +0 -0
  16. {localstack-2026.3.0 → localstack-2026.4.0}/localstack.egg-info/requires.txt +0 -0
  17. {localstack-2026.3.0 → localstack-2026.4.0}/localstack.egg-info/top_level.txt +0 -0
  18. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/__init__.py +0 -0
  19. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/__init__.py +0 -0
  20. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/console.py +0 -0
  21. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/core_plugin.py +0 -0
  22. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/exceptions.py +0 -0
  23. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/localstack.py +0 -0
  24. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/lpm.py +0 -0
  25. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/main.py +0 -0
  26. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/plugin.py +0 -0
  27. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/plugins.py +0 -0
  28. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/cli/profiles.py +0 -0
  29. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/config.py +0 -0
  30. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/constants.py +0 -0
  31. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/logging/__init__.py +0 -0
  32. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/logging/format.py +0 -0
  33. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/logging/setup.py +0 -0
  34. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/packages/__init__.py +0 -0
  35. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/packages/api.py +0 -0
  36. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/packages/core.py +0 -0
  37. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/__init__.py +0 -0
  38. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/__init__.py +0 -0
  39. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/__init__.py +0 -0
  40. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/auth.py +0 -0
  41. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/dns_utils.py +0 -0
  42. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/entitlements.py +0 -0
  43. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/extensions/__init__.py +0 -0
  44. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/extensions/__main__.py +0 -0
  45. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/extensions/autoinstall.py +0 -0
  46. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/extensions/bootstrap.py +0 -0
  47. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/extensions/repository.py +0 -0
  48. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/licensingv2.py +0 -0
  49. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods/__init__.py +0 -0
  50. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods/api_types.py +0 -0
  51. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods/constants.py +0 -0
  52. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods/remotes/__init__.py +0 -0
  53. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods/remotes/api.py +0 -0
  54. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods/remotes/configs.py +0 -0
  55. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods/remotes/params.py +0 -0
  56. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/bootstrap/pods_client.py +0 -0
  57. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/__init__.py +0 -0
  58. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/auth.py +0 -0
  59. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/aws.py +0 -0
  60. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/cli.py +0 -0
  61. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/click_utils.py +0 -0
  62. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/cloud_pods.py +0 -0
  63. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/diff_view.py +0 -0
  64. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/ephemeral.py +0 -0
  65. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/extensions.py +0 -0
  66. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/iam.py +0 -0
  67. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/license.py +0 -0
  68. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/localstack.py +0 -0
  69. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/replicator.py +0 -0
  70. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/state.py +0 -0
  71. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/cli/tree_view.py +0 -0
  72. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/config.py +0 -0
  73. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/pro/core/constants.py +0 -0
  74. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/runtime/__init__.py +0 -0
  75. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/runtime/exceptions.py +0 -0
  76. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/runtime/hooks.py +0 -0
  77. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/testing/__init__.py +0 -0
  78. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/testing/config.py +0 -0
  79. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/__init__.py +0 -0
  80. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/__init__.py +0 -0
  81. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/cli.py +0 -0
  82. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/client.py +0 -0
  83. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/events.py +0 -0
  84. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/logger.py +0 -0
  85. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/metadata.py +0 -0
  86. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/publisher.py +0 -0
  87. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/analytics/service_request_aggregator.py +0 -0
  88. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/archives.py +0 -0
  89. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/batching.py +0 -0
  90. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/bootstrap.py +0 -0
  91. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/checksum.py +0 -0
  92. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/collections.py +0 -0
  93. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/common.py +0 -0
  94. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/container_networking.py +0 -0
  95. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/container_utils/__init__.py +0 -0
  96. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/container_utils/container_client.py +0 -0
  97. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/container_utils/docker_sdk_client.py +0 -0
  98. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/crypto.py +0 -0
  99. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/docker_utils.py +0 -0
  100. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/files.py +0 -0
  101. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/functions.py +0 -0
  102. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/http.py +0 -0
  103. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/json.py +0 -0
  104. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/net.py +0 -0
  105. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/no_exit_argument_parser.py +0 -0
  106. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/numbers.py +0 -0
  107. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/objects.py +0 -0
  108. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/patch.py +0 -0
  109. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/platform.py +0 -0
  110. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/run.py +0 -0
  111. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/server/__init__.py +0 -0
  112. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/server/tcp_proxy.py +0 -0
  113. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/serving.py +0 -0
  114. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/ssl.py +0 -0
  115. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/strings.py +0 -0
  116. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/sync.py +0 -0
  117. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/threads.py +0 -0
  118. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/time.py +0 -0
  119. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/urls.py +0 -0
  120. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/venv.py +0 -0
  121. {localstack-2026.3.0 → localstack-2026.4.0}/localstack_cli/utils/xml.py +0 -0
  122. {localstack-2026.3.0 → localstack-2026.4.0}/plux.ini +0 -0
  123. {localstack-2026.3.0 → localstack-2026.4.0}/pyproject.toml +0 -0
  124. {localstack-2026.3.0 → localstack-2026.4.0}/setup.cfg +0 -0
  125. {localstack-2026.3.0 → localstack-2026.4.0}/tests/__init__.py +0 -0
  126. {localstack-2026.3.0 → localstack-2026.4.0}/tests/bootstrap/__init__.py +0 -0
  127. {localstack-2026.3.0 → localstack-2026.4.0}/tests/bootstrap/extensions/__init__.py +0 -0
  128. {localstack-2026.3.0 → localstack-2026.4.0}/tests/bootstrap/extensions/test_extension_install.py +0 -0
  129. {localstack-2026.3.0 → localstack-2026.4.0}/tests/cli/__init__.py +0 -0
  130. {localstack-2026.3.0 → localstack-2026.4.0}/tests/cli/conftest.py +0 -0
  131. {localstack-2026.3.0 → localstack-2026.4.0}/tests/cli/test_cli_pro.py +0 -0
  132. {localstack-2026.3.0 → localstack-2026.4.0}/tests/conftest.py +0 -0
  133. {localstack-2026.3.0 → localstack-2026.4.0}/tests/integration/__init__.py +0 -0
  134. {localstack-2026.3.0 → localstack-2026.4.0}/tests/integration/cli/__init__.py +0 -0
  135. {localstack-2026.3.0 → localstack-2026.4.0}/tests/integration/cli/test_cli.py +0 -0
  136. {localstack-2026.3.0 → localstack-2026.4.0}/tests/integration/cli/test_lpm.py +0 -0
  137. {localstack-2026.3.0 → localstack-2026.4.0}/tests/integration/replicator/__init__.py +0 -0
  138. {localstack-2026.3.0 → localstack-2026.4.0}/tests/integration/replicator/core/__init__.py +0 -0
  139. {localstack-2026.3.0 → localstack-2026.4.0}/tests/integration/replicator/core/test_replicator_cli.py +0 -0
  140. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/__init__.py +0 -0
  141. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/cli/__init__.py +0 -0
  142. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/cli/test_profiles.py +0 -0
  143. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/pro/__init__.py +0 -0
  144. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/pro/test_cli.py +0 -0
  145. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/pro/test_grace_period.py +0 -0
  146. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/replicator/__init__.py +0 -0
  147. {localstack-2026.3.0 → localstack-2026.4.0}/tests/unit/replicator/test_profile_loading.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack
3
- Version: 2026.3.0
3
+ Version: 2026.4.0
4
4
  Summary: The LocalStack Command Line Interface
5
5
  Author-email: LocalStack Contributors <info@localstack.cloud>
6
6
  License-Expression: Apache-2.0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: localstack
3
- Version: 2026.3.0
3
+ Version: 2026.4.0
4
4
  Summary: The LocalStack Command Line Interface
5
5
  Author-email: LocalStack Contributors <info@localstack.cloud>
6
6
  License-Expression: Apache-2.0
@@ -116,6 +116,18 @@ def _check_grace_period_active(ack: bool) -> bool:
116
116
  @hooks.prepare_host(priority=100, should_load=pro_config.ACTIVATE_PRO)
117
117
  def activate_pro_key_on_host():
118
118
  """Activate license on host (needed for DNS forward and EC2 daemon)."""
119
+ from localstack_cli.constants import OFFICIAL_IMAGES
120
+ from localstack_cli.utils.bootstrap import get_docker_image_to_start
121
+
122
+ image_name = get_docker_image_to_start().split(":")[0]
123
+ if image_name not in OFFICIAL_IMAGES:
124
+ LOG.debug(
125
+ "Skipping host license activation for custom image '%s' "
126
+ "(license expected to be baked into the image)",
127
+ image_name,
128
+ )
129
+ return
130
+
119
131
  try:
120
132
  licensingv2.get_licensed_environment().activate()
121
133
  except licensingv2.LicensingError as e:
@@ -183,7 +183,7 @@ class CmdDockerClient(ContainerClient):
183
183
 
184
184
  def stop_container(self, container_name: str, timeout: int = 10) -> None:
185
185
  cmd = self._docker_cmd()
186
- cmd += ["stop", "--time", str(timeout), container_name]
186
+ cmd += ["stop", "--timeout", str(timeout), container_name]
187
187
  LOG.debug("Stopping container with cmd %s", cmd)
188
188
  try:
189
189
  run(cmd)
@@ -195,7 +195,7 @@ class CmdDockerClient(ContainerClient):
195
195
 
196
196
  def restart_container(self, container_name: str, timeout: int = 10) -> None:
197
197
  cmd = self._docker_cmd()
198
- cmd += ["restart", "--time", str(timeout), container_name]
198
+ cmd += ["restart", "--timeout", str(timeout), container_name]
199
199
  LOG.debug("Restarting container with cmd %s", cmd)
200
200
  try:
201
201
  run(cmd)
@@ -0,0 +1,24 @@
1
+ # file generated by vcs-versioning
2
+ # don't change, don't track in version control
3
+ from __future__ import annotations
4
+
5
+ __all__ = [
6
+ "__version__",
7
+ "__version_tuple__",
8
+ "version",
9
+ "version_tuple",
10
+ "__commit_id__",
11
+ "commit_id",
12
+ ]
13
+
14
+ version: str
15
+ __version__: str
16
+ __version_tuple__: tuple[int | str, ...]
17
+ version_tuple: tuple[int | str, ...]
18
+ commit_id: str | None
19
+ __commit_id__: str | None
20
+
21
+ __version__ = version = '2026.4.0'
22
+ __version_tuple__ = version_tuple = (2026, 4, 0)
23
+
24
+ __commit_id__ = commit_id = 'g3e2666e1b'
@@ -254,7 +254,7 @@ class TestCliContainerLifecycle:
254
254
  entrypoint="",
255
255
  command=[
256
256
  "bash", "-c",
257
- "pip install -e /opt/code/localstack-cli && localstack --version"
257
+ "SETUPTOOLS_SCM_PRETEND_VERSION=1.0.0 pip install -e /opt/code/localstack-cli && localstack --version"
258
258
  ],
259
259
  volumes=[
260
260
  (os.path.dirname(MODULE_MAIN_PATH), "/opt/code/localstack-cli"),
@@ -1,34 +0,0 @@
1
- # file generated by setuptools-scm
2
- # don't change, don't track in version control
3
-
4
- __all__ = [
5
- "__version__",
6
- "__version_tuple__",
7
- "version",
8
- "version_tuple",
9
- "__commit_id__",
10
- "commit_id",
11
- ]
12
-
13
- TYPE_CHECKING = False
14
- if TYPE_CHECKING:
15
- from typing import Tuple
16
- from typing import Union
17
-
18
- VERSION_TUPLE = Tuple[Union[int, str], ...]
19
- COMMIT_ID = Union[str, None]
20
- else:
21
- VERSION_TUPLE = object
22
- COMMIT_ID = object
23
-
24
- version: str
25
- __version__: str
26
- __version_tuple__: VERSION_TUPLE
27
- version_tuple: VERSION_TUPLE
28
- commit_id: COMMIT_ID
29
- __commit_id__: COMMIT_ID
30
-
31
- __version__ = version = '2026.3.0'
32
- __version_tuple__ = version_tuple = (2026, 3, 0)
33
-
34
- __commit_id__ = commit_id = 'g99b4cdb24'
File without changes
File without changes
File without changes
File without changes
File without changes