From 75a8dbf9c84190bfacfb1d2c76dc6646b37a07b1 Mon Sep 17 00:00:00 2001 From: Silvio Vasiljevic Date: Tue, 10 Feb 2026 14:53:08 +0100 Subject: [PATCH 1/3] test standalone cli --- requirements.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/requirements.txt b/requirements.txt index d3a39df..4ffd3d8 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.13.1 +localstack==4.13.2.dev3 cookiecutter From 51144d99d8120dbac36f1c7c03db258b0d78bdb3 Mon Sep 17 00:00:00 2001 From: Silvio Vasiljevic Date: Tue, 10 Feb 2026 15:16:22 +0100 Subject: [PATCH 2/3] Make pyinstaller work with standalone CLI --- Makefile | 10 +++------- hooks/hook-localstack.py | 4 ++++ hooks/hook-localstack_core.py | 4 ---- main.py | 2 +- 4 files changed, 8 insertions(+), 12 deletions(-) create mode 100644 hooks/hook-localstack.py delete mode 100644 hooks/hook-localstack_core.py diff --git a/Makefile b/Makefile index 119be6d..f471f8a 100644 --- a/Makefile +++ b/Makefile @@ -26,13 +26,10 @@ dist-bin/localstack build: $(VENV_ACTIVATE) main.py $(PYINSTALLER_ARGS) -n localstack \ --hidden-import cookiecutter.main \ --hidden-import cookiecutter.extensions \ - --hidden-import localstack.dev.run.configurators \ - --hidden-import localstack.pro.core.plugins \ - --hidden-import localstack.pro.core.cli.localstack \ - --hidden-import localstack.pro.core.extensions.plugins \ + --hidden-import localstack_cli.cli.core_plugin \ + --hidden-import localstack_cli.pro.core.cli.localstack \ --collect-all=rich \ - --copy-metadata localstack_ext \ - --collect-data localstack.pro.core \ + --copy-metadata localstack \ --additional-hooks-dir hooks dist-dir/localstack: PYINSTALLER_ARGS=--distpath=dist-dir @@ -47,4 +44,3 @@ clean-venv: rm -rf $(VENV_DIR) .PHONY: all build clean clean-venv - diff --git a/hooks/hook-localstack.py b/hooks/hook-localstack.py new file mode 100644 index 0000000..aa25af3 --- /dev/null +++ b/hooks/hook-localstack.py @@ -0,0 +1,4 @@ +from PyInstaller.utils.hooks import copy_metadata + +# make sure to add the entrypoints data for localstack (for plux plugin discovery) +datas = copy_metadata('localstack') diff --git a/hooks/hook-localstack_core.py b/hooks/hook-localstack_core.py deleted file mode 100644 index 5387559..0000000 --- a/hooks/hook-localstack_core.py +++ /dev/null @@ -1,4 +0,0 @@ -from PyInstaller.utils.hooks import copy_metadata - -# make sure to add the entrypoints data for localstack-core -datas = copy_metadata('localstack_core') diff --git a/main.py b/main.py index a5de157..0632618 100644 --- a/main.py +++ b/main.py @@ -3,7 +3,7 @@ freeze_support() os.environ["SKIP_PATCH_MOTO_ACCOUNT_ID"] = "1" -from localstack.cli import main +from localstack_cli.cli import main if __name__ == '__main__': main.main() From e87c825d124554f85cfe5d90347533f9cd02bf86 Mon Sep 17 00:00:00 2001 From: Silvio Vasiljevic Date: Wed, 11 Feb 2026 10:56:06 +0100 Subject: [PATCH 3/3] re-add hidden imports and update to latest standalone-cli dev version --- Makefile | 6 ++++++ requirements.txt | 2 +- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/Makefile b/Makefile index f471f8a..1d60756 100644 --- a/Makefile +++ b/Makefile @@ -28,6 +28,12 @@ dist-bin/localstack build: $(VENV_ACTIVATE) main.py --hidden-import cookiecutter.extensions \ --hidden-import localstack_cli.cli.core_plugin \ --hidden-import localstack_cli.pro.core.cli.localstack \ + --hidden-import localstack_cli.runtime \ + --hidden-import localstack_cli.runtime.hooks \ + --hidden-import localstack_cli.runtime.exceptions \ + --hidden-import localstack_cli.pro.core.plugins \ + --hidden-import localstack_cli.pro.core.bootstrap.extensions.bootstrap \ + --hidden-import localstack_cli.utils.analytics.metadata \ --collect-all=rich \ --copy-metadata localstack \ --additional-hooks-dir hooks diff --git a/requirements.txt b/requirements.txt index 4ffd3d8..01c29e0 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,3 @@ pyinstaller -localstack==4.13.2.dev3 +localstack==4.13.2.dev36 cookiecutter