From e5968cf98ac320ec0732c0834df3c918a68e7164 Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Tue, 27 Jan 2026 09:47:53 +0100 Subject: [PATCH 1/5] extract utils into separate localstack-extensions-utils package Move utility classes from typedb extension to a new top-level utils package that can be shared across multiple LocalStack extensions: - ProxiedDockerContainerExtension: base class for Docker-based extensions - ProxyResource: HTTP/1.1 request proxy resource - HTTP2/gRPC proxy utilities for forwarding binary traffic The new package is published as 'localstack-extensions-utils' on PyPI. Co-Authored-By: Claude Opus 4.5 --- typedb/localstack_typedb/extension.py | 2 +- typedb/localstack_typedb/utils/__init__.py | 0 typedb/pyproject.toml | 4 +- typedb/tests/test_extension.py | 2 +- utils/README.md | 68 +++++++++++++++++++ utils/localstack_extensions_utils/__init__.py | 23 +++++++ .../localstack_extensions_utils}/docker.py | 10 +-- .../localstack_extensions_utils}/h2_proxy.py | 0 utils/pyproject.toml | 37 ++++++++++ 9 files changed, 134 insertions(+), 12 deletions(-) delete mode 100644 typedb/localstack_typedb/utils/__init__.py create mode 100644 utils/README.md create mode 100644 utils/localstack_extensions_utils/__init__.py rename {typedb/localstack_typedb/utils => utils/localstack_extensions_utils}/docker.py (95%) rename {typedb/localstack_typedb/utils => utils/localstack_extensions_utils}/h2_proxy.py (100%) create mode 100644 utils/pyproject.toml diff --git a/typedb/localstack_typedb/extension.py b/typedb/localstack_typedb/extension.py index 21d8c81..aebc6f8 100644 --- a/typedb/localstack_typedb/extension.py +++ b/typedb/localstack_typedb/extension.py @@ -2,7 +2,7 @@ import shlex from localstack.config import is_env_not_false -from localstack_typedb.utils.docker import ProxiedDockerContainerExtension +from localstack_extensions_utils import ProxiedDockerContainerExtension from rolo import Request from werkzeug.datastructures import Headers diff --git a/typedb/localstack_typedb/utils/__init__.py b/typedb/localstack_typedb/utils/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/typedb/pyproject.toml b/typedb/pyproject.toml index 6e8f703..0d36012 100644 --- a/typedb/pyproject.toml +++ b/typedb/pyproject.toml @@ -14,9 +14,7 @@ authors = [ keywords = ["LocalStack", "TypeDB"] classifiers = [] dependencies = [ - "httpx", - "h2", - "priority", + "localstack-extensions-utils", ] [project.urls] diff --git a/typedb/tests/test_extension.py b/typedb/tests/test_extension.py index efe3fc4..b0a6a25 100644 --- a/typedb/tests/test_extension.py +++ b/typedb/tests/test_extension.py @@ -1,7 +1,7 @@ import requests import httpx from localstack.utils.strings import short_uid -from localstack_typedb.utils.h2_proxy import ( +from localstack_extensions_utils import ( get_frames_from_http2_stream, get_headers_from_frames, ) diff --git a/utils/README.md b/utils/README.md new file mode 100644 index 0000000..2875cb2 --- /dev/null +++ b/utils/README.md @@ -0,0 +1,68 @@ +LocalStack Extensions Utils +=========================== + +A utility library providing common functionality for building [LocalStack Extensions](https://github.com/localstack/localstack-extensions). + +## Features + +This library provides reusable utilities for LocalStack extension development: + +### ProxiedDockerContainerExtension + +A base class for creating LocalStack extensions that run Docker containers and proxy requests to them through the LocalStack gateway. + +Features: +- Automatic Docker container lifecycle management +- HTTP/1.1 request proxying via the LocalStack gateway +- HTTP/2 support for gRPC traffic +- Configurable host and path-based routing + +### HTTP/2 Proxy Support + +Utilities for proxying HTTP/2 and gRPC traffic through LocalStack: + +- `TcpForwarder`: Bidirectional TCP traffic forwarding +- `apply_http2_patches_for_grpc_support`: Patches to enable gRPC proxying + +## Installation + +```bash +pip install localstack-extensions-utils +``` + +Or install directly from the GitHub repository: + +```bash +pip install "git+https://github.com/localstack/localstack-extensions.git#egg=localstack-extensions-utils&subdirectory=utils" +``` + +## Usage + +### Creating a Docker-based Extension + +```python +from localstack_extensions_utils.docker import ProxiedDockerContainerExtension +from werkzeug.datastructures import Headers + +class MyExtension(ProxiedDockerContainerExtension): + name = "my-extension" + + def __init__(self): + super().__init__( + image_name="my-docker-image:latest", + container_ports=[8080], + host="myext.localhost.localstack.cloud", + ) + + def should_proxy_request(self, headers: Headers) -> bool: + # Define your routing logic + return "myext" in headers.get("Host", "") +``` + +## Dependencies + +This library requires LocalStack to be installed as it uses various LocalStack utilities for Docker management and networking. + +## License + +The code in this repo is available under the Apache 2.0 license. diff --git a/utils/localstack_extensions_utils/__init__.py b/utils/localstack_extensions_utils/__init__.py new file mode 100644 index 0000000..5568130 --- /dev/null +++ b/utils/localstack_extensions_utils/__init__.py @@ -0,0 +1,23 @@ +from localstack_extensions_utils.docker import ( + ProxiedDockerContainerExtension, + ProxyResource, +) +from localstack_extensions_utils.h2_proxy import ( + TcpForwarder, + apply_http2_patches_for_grpc_support, + get_headers_from_data_stream, + get_headers_from_frames, + get_frames_from_http2_stream, + ProxyRequestMatcher, +) + +__all__ = [ + "ProxiedDockerContainerExtension", + "ProxyResource", + "TcpForwarder", + "apply_http2_patches_for_grpc_support", + "get_headers_from_data_stream", + "get_headers_from_frames", + "get_frames_from_http2_stream", + "ProxyRequestMatcher", +] diff --git a/typedb/localstack_typedb/utils/docker.py b/utils/localstack_extensions_utils/docker.py similarity index 95% rename from typedb/localstack_typedb/utils/docker.py rename to utils/localstack_extensions_utils/docker.py index 7a78c60..7ffafdc 100644 --- a/typedb/localstack_typedb/utils/docker.py +++ b/utils/localstack_extensions_utils/docker.py @@ -7,7 +7,7 @@ from localstack import config from localstack.config import is_env_true -from localstack_typedb.utils.h2_proxy import ( +from localstack_extensions_utils.h2_proxy import ( apply_http2_patches_for_grpc_support, ) from localstack.utils.docker_utils import DOCKER_CLIENT @@ -22,10 +22,6 @@ from werkzeug.datastructures import Headers LOG = logging.getLogger(__name__) -logging.getLogger("localstack_typedb").setLevel( - logging.DEBUG if config.DEBUG else logging.INFO -) -logging.basicConfig() class ProxiedDockerContainerExtension(Extension): @@ -130,8 +126,8 @@ def start_container(self) -> None: ) except Exception as e: LOG.debug("Failed to start container %s: %s", self.container_name, e) - # allow running TypeDB in a local server in dev mode, if TYPEDB_DEV_MODE is enabled - if not is_env_true("TYPEDB_DEV_MODE"): + # allow running the container in a local server in dev mode + if not is_env_true(f"{self.name.upper().replace('-', '_')}_DEV_MODE"): raise def _ping_endpoint(): diff --git a/typedb/localstack_typedb/utils/h2_proxy.py b/utils/localstack_extensions_utils/h2_proxy.py similarity index 100% rename from typedb/localstack_typedb/utils/h2_proxy.py rename to utils/localstack_extensions_utils/h2_proxy.py diff --git a/utils/pyproject.toml b/utils/pyproject.toml new file mode 100644 index 0000000..db7af44 --- /dev/null +++ b/utils/pyproject.toml @@ -0,0 +1,37 @@ +[build-system] +requires = ["setuptools", "wheel", "plux>=1.3.1"] +build-backend = "setuptools.build_meta" + +[project] +name = "localstack-extensions-utils" +version = "0.1.0" +description = "Utility library for LocalStack Extensions" +readme = {file = "README.md", content-type = "text/markdown; charset=UTF-8"} +requires-python = ">=3.10" +authors = [ + { name = "LocalStack Team" } +] +keywords = ["LocalStack", "Extensions", "Utils"] +classifiers = [] +dependencies = [ + "httpx", + "h2", + "hpack", + "hyperframe", + "priority", + "requests", + "rolo", + "twisted", +] + +[project.urls] +Homepage = "https://github.com/localstack/localstack-extensions" + +[project.optional-dependencies] +dev = [ + "boto3", + "build", + "localstack", + "pytest", + "ruff", +] From 4e93112ff15d4089185a99fa9c34fa66e20922ee Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Tue, 27 Jan 2026 09:49:44 +0100 Subject: [PATCH 2/5] restructure utils package to localstack.extensions.utils namespace Change the module structure from localstack_extensions_utils to localstack.extensions.utils to follow LocalStack naming conventions. Co-Authored-By: Claude Opus 4.5 --- typedb/localstack_typedb/extension.py | 2 +- typedb/tests/test_extension.py | 2 +- utils/README.md | 2 +- utils/localstack/__init__.py | 1 + utils/localstack/extensions/__init__.py | 1 + .../extensions/utils}/__init__.py | 4 ++-- .../extensions/utils}/docker.py | 2 +- .../extensions/utils}/h2_proxy.py | 0 utils/pyproject.toml | 3 +++ 9 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 utils/localstack/__init__.py create mode 100644 utils/localstack/extensions/__init__.py rename utils/{localstack_extensions_utils => localstack/extensions/utils}/__init__.py (83%) rename utils/{localstack_extensions_utils => localstack/extensions/utils}/docker.py (99%) rename utils/{localstack_extensions_utils => localstack/extensions/utils}/h2_proxy.py (100%) diff --git a/typedb/localstack_typedb/extension.py b/typedb/localstack_typedb/extension.py index aebc6f8..374b2d0 100644 --- a/typedb/localstack_typedb/extension.py +++ b/typedb/localstack_typedb/extension.py @@ -2,7 +2,7 @@ import shlex from localstack.config import is_env_not_false -from localstack_extensions_utils import ProxiedDockerContainerExtension +from localstack.extensions.utils import ProxiedDockerContainerExtension from rolo import Request from werkzeug.datastructures import Headers diff --git a/typedb/tests/test_extension.py b/typedb/tests/test_extension.py index b0a6a25..b7e3fd6 100644 --- a/typedb/tests/test_extension.py +++ b/typedb/tests/test_extension.py @@ -1,7 +1,7 @@ import requests import httpx from localstack.utils.strings import short_uid -from localstack_extensions_utils import ( +from localstack.extensions.utils import ( get_frames_from_http2_stream, get_headers_from_frames, ) diff --git a/utils/README.md b/utils/README.md index 2875cb2..c638519 100644 --- a/utils/README.md +++ b/utils/README.md @@ -41,7 +41,7 @@ pip install "git+https://github.com/localstack/localstack-extensions.git#egg=loc ### Creating a Docker-based Extension ```python -from localstack_extensions_utils.docker import ProxiedDockerContainerExtension +from localstack.extensions.utils import ProxiedDockerContainerExtension from werkzeug.datastructures import Headers class MyExtension(ProxiedDockerContainerExtension): diff --git a/utils/localstack/__init__.py b/utils/localstack/__init__.py new file mode 100644 index 0000000..98ef06a --- /dev/null +++ b/utils/localstack/__init__.py @@ -0,0 +1 @@ +# this is a namespace package diff --git a/utils/localstack/extensions/__init__.py b/utils/localstack/extensions/__init__.py new file mode 100644 index 0000000..98ef06a --- /dev/null +++ b/utils/localstack/extensions/__init__.py @@ -0,0 +1 @@ +# this is a namespace package diff --git a/utils/localstack_extensions_utils/__init__.py b/utils/localstack/extensions/utils/__init__.py similarity index 83% rename from utils/localstack_extensions_utils/__init__.py rename to utils/localstack/extensions/utils/__init__.py index 5568130..404130c 100644 --- a/utils/localstack_extensions_utils/__init__.py +++ b/utils/localstack/extensions/utils/__init__.py @@ -1,8 +1,8 @@ -from localstack_extensions_utils.docker import ( +from localstack.extensions.utils.docker import ( ProxiedDockerContainerExtension, ProxyResource, ) -from localstack_extensions_utils.h2_proxy import ( +from localstack.extensions.utils.h2_proxy import ( TcpForwarder, apply_http2_patches_for_grpc_support, get_headers_from_data_stream, diff --git a/utils/localstack_extensions_utils/docker.py b/utils/localstack/extensions/utils/docker.py similarity index 99% rename from utils/localstack_extensions_utils/docker.py rename to utils/localstack/extensions/utils/docker.py index 7ffafdc..06e806a 100644 --- a/utils/localstack_extensions_utils/docker.py +++ b/utils/localstack/extensions/utils/docker.py @@ -7,7 +7,7 @@ from localstack import config from localstack.config import is_env_true -from localstack_extensions_utils.h2_proxy import ( +from localstack.extensions.utils.h2_proxy import ( apply_http2_patches_for_grpc_support, ) from localstack.utils.docker_utils import DOCKER_CLIENT diff --git a/utils/localstack_extensions_utils/h2_proxy.py b/utils/localstack/extensions/utils/h2_proxy.py similarity index 100% rename from utils/localstack_extensions_utils/h2_proxy.py rename to utils/localstack/extensions/utils/h2_proxy.py diff --git a/utils/pyproject.toml b/utils/pyproject.toml index db7af44..455150b 100644 --- a/utils/pyproject.toml +++ b/utils/pyproject.toml @@ -35,3 +35,6 @@ dev = [ "pytest", "ruff", ] + +[tool.setuptools.packages.find] +include = ["localstack*"] From 14ecf97d4914836f17733de7b8c927677564ac08 Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Tue, 27 Jan 2026 09:55:51 +0100 Subject: [PATCH 3/5] change module namespace from localstack.extensions to localstack_extensions Rename from localstack.extensions.utils to localstack_extensions.utils to avoid conflicts with the main localstack package namespace. Co-Authored-By: Claude Opus 4.5 --- typedb/localstack_typedb/extension.py | 2 +- typedb/tests/test_extension.py | 2 +- utils/README.md | 23 +------------------ utils/localstack/__init__.py | 1 - utils/localstack/extensions/__init__.py | 1 - utils/localstack_extensions/__init__.py | 1 + .../utils/__init__.py | 4 ++-- .../utils/docker.py | 2 +- .../utils/h2_proxy.py | 0 utils/pyproject.toml | 2 +- 10 files changed, 8 insertions(+), 30 deletions(-) delete mode 100644 utils/localstack/__init__.py delete mode 100644 utils/localstack/extensions/__init__.py create mode 100644 utils/localstack_extensions/__init__.py rename utils/{localstack/extensions => localstack_extensions}/utils/__init__.py (83%) rename utils/{localstack/extensions => localstack_extensions}/utils/docker.py (99%) rename utils/{localstack/extensions => localstack_extensions}/utils/h2_proxy.py (100%) diff --git a/typedb/localstack_typedb/extension.py b/typedb/localstack_typedb/extension.py index 374b2d0..bb67bc0 100644 --- a/typedb/localstack_typedb/extension.py +++ b/typedb/localstack_typedb/extension.py @@ -2,7 +2,7 @@ import shlex from localstack.config import is_env_not_false -from localstack.extensions.utils import ProxiedDockerContainerExtension +from localstack_extensions.utils import ProxiedDockerContainerExtension from rolo import Request from werkzeug.datastructures import Headers diff --git a/typedb/tests/test_extension.py b/typedb/tests/test_extension.py index b7e3fd6..ef56cf3 100644 --- a/typedb/tests/test_extension.py +++ b/typedb/tests/test_extension.py @@ -1,7 +1,7 @@ import requests import httpx from localstack.utils.strings import short_uid -from localstack.extensions.utils import ( +from localstack_extensions.utils import ( get_frames_from_http2_stream, get_headers_from_frames, ) diff --git a/utils/README.md b/utils/README.md index c638519..e230ff2 100644 --- a/utils/README.md +++ b/utils/README.md @@ -3,27 +3,6 @@ LocalStack Extensions Utils A utility library providing common functionality for building [LocalStack Extensions](https://github.com/localstack/localstack-extensions). -## Features - -This library provides reusable utilities for LocalStack extension development: - -### ProxiedDockerContainerExtension - -A base class for creating LocalStack extensions that run Docker containers and proxy requests to them through the LocalStack gateway. - -Features: -- Automatic Docker container lifecycle management -- HTTP/1.1 request proxying via the LocalStack gateway -- HTTP/2 support for gRPC traffic -- Configurable host and path-based routing - -### HTTP/2 Proxy Support - -Utilities for proxying HTTP/2 and gRPC traffic through LocalStack: - -- `TcpForwarder`: Bidirectional TCP traffic forwarding -- `apply_http2_patches_for_grpc_support`: Patches to enable gRPC proxying - ## Installation ```bash @@ -41,7 +20,7 @@ pip install "git+https://github.com/localstack/localstack-extensions.git#egg=loc ### Creating a Docker-based Extension ```python -from localstack.extensions.utils import ProxiedDockerContainerExtension +from localstack_extensions.utils import ProxiedDockerContainerExtension from werkzeug.datastructures import Headers class MyExtension(ProxiedDockerContainerExtension): diff --git a/utils/localstack/__init__.py b/utils/localstack/__init__.py deleted file mode 100644 index 98ef06a..0000000 --- a/utils/localstack/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# this is a namespace package diff --git a/utils/localstack/extensions/__init__.py b/utils/localstack/extensions/__init__.py deleted file mode 100644 index 98ef06a..0000000 --- a/utils/localstack/extensions/__init__.py +++ /dev/null @@ -1 +0,0 @@ -# this is a namespace package diff --git a/utils/localstack_extensions/__init__.py b/utils/localstack_extensions/__init__.py new file mode 100644 index 0000000..154f76e --- /dev/null +++ b/utils/localstack_extensions/__init__.py @@ -0,0 +1 @@ +# LocalStack Extensions utilities package diff --git a/utils/localstack/extensions/utils/__init__.py b/utils/localstack_extensions/utils/__init__.py similarity index 83% rename from utils/localstack/extensions/utils/__init__.py rename to utils/localstack_extensions/utils/__init__.py index 404130c..42a1e62 100644 --- a/utils/localstack/extensions/utils/__init__.py +++ b/utils/localstack_extensions/utils/__init__.py @@ -1,8 +1,8 @@ -from localstack.extensions.utils.docker import ( +from localstack_extensions.utils.docker import ( ProxiedDockerContainerExtension, ProxyResource, ) -from localstack.extensions.utils.h2_proxy import ( +from localstack_extensions.utils.h2_proxy import ( TcpForwarder, apply_http2_patches_for_grpc_support, get_headers_from_data_stream, diff --git a/utils/localstack/extensions/utils/docker.py b/utils/localstack_extensions/utils/docker.py similarity index 99% rename from utils/localstack/extensions/utils/docker.py rename to utils/localstack_extensions/utils/docker.py index 06e806a..df77a85 100644 --- a/utils/localstack/extensions/utils/docker.py +++ b/utils/localstack_extensions/utils/docker.py @@ -7,7 +7,7 @@ from localstack import config from localstack.config import is_env_true -from localstack.extensions.utils.h2_proxy import ( +from localstack_extensions.utils.h2_proxy import ( apply_http2_patches_for_grpc_support, ) from localstack.utils.docker_utils import DOCKER_CLIENT diff --git a/utils/localstack/extensions/utils/h2_proxy.py b/utils/localstack_extensions/utils/h2_proxy.py similarity index 100% rename from utils/localstack/extensions/utils/h2_proxy.py rename to utils/localstack_extensions/utils/h2_proxy.py diff --git a/utils/pyproject.toml b/utils/pyproject.toml index 455150b..a9dbed3 100644 --- a/utils/pyproject.toml +++ b/utils/pyproject.toml @@ -37,4 +37,4 @@ dev = [ ] [tool.setuptools.packages.find] -include = ["localstack*"] +include = ["localstack_extensions*"] From 5633abb3728bed2a284622b6cd495739332a1ca6 Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Tue, 27 Jan 2026 10:00:36 +0100 Subject: [PATCH 4/5] add Makefile and update README for utils package - Add Makefile with build, publish, format, and lint targets - Update README: rename Installation to Usage, show pyproject.toml dependency format Co-Authored-By: Claude Opus 4.5 --- utils/Makefile | 40 ++++++++++++++++++++++++++++++++++++++++ utils/README.md | 39 ++++++++++++++++----------------------- 2 files changed, 56 insertions(+), 23 deletions(-) create mode 100644 utils/Makefile diff --git a/utils/Makefile b/utils/Makefile new file mode 100644 index 0000000..07078e8 --- /dev/null +++ b/utils/Makefile @@ -0,0 +1,40 @@ +VENV_BIN = python3 -m venv +VENV_DIR ?= .venv +VENV_ACTIVATE = $(VENV_DIR)/bin/activate +VENV_RUN = . $(VENV_ACTIVATE) + +usage: ## Show usage for this Makefile + @cat Makefile | grep -E '^[a-zA-Z_-]+:.*?## .*$$' | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-15s\033[0m %s\n", $$1, $$2}' + +venv: $(VENV_ACTIVATE) + +$(VENV_ACTIVATE): pyproject.toml + test -d .venv || $(VENV_BIN) .venv + $(VENV_RUN); pip install --upgrade pip setuptools wheel build + $(VENV_RUN); pip install -e .[dev] + touch $(VENV_DIR)/bin/activate + +clean: ## Clean up build artifacts and virtual environment + rm -rf .venv/ + rm -rf build/ + rm -rf .eggs/ + rm -rf *.egg-info/ + +install: venv ## Install the package in development mode + +dist: venv ## Create distribution package + $(VENV_RUN); python -m build + +publish: clean-dist venv dist ## Publish package to PyPI + $(VENV_RUN); pip install --upgrade twine; twine upload dist/* + +format: venv ## Run ruff to format the code + $(VENV_RUN); python -m ruff format .; make lint + +lint: venv ## Run ruff to lint the code + $(VENV_RUN); python -m ruff check --output-format=full . + +clean-dist: clean + rm -rf dist/ + +.PHONY: clean clean-dist dist install publish usage venv format lint diff --git a/utils/README.md b/utils/README.md index e230ff2..f55ed59 100644 --- a/utils/README.md +++ b/utils/README.md @@ -3,39 +3,32 @@ LocalStack Extensions Utils A utility library providing common functionality for building [LocalStack Extensions](https://github.com/localstack/localstack-extensions). -## Installation +## Usage + +To use this library in your LocalStack extension, add it to the `dependencies` in your extension's `pyproject.toml`: -```bash -pip install localstack-extensions-utils +```toml +[project] +dependencies = [ + "localstack-extensions-utils", +] ``` -Or install directly from the GitHub repository: +Or, to install directly from the GitHub repository: -```bash -pip install "git+https://github.com/localstack/localstack-extensions.git#egg=localstack-extensions-utils&subdirectory=utils" +```toml +[project] +dependencies = [ + "localstack-extensions-utils @ git+https://github.com/localstack/localstack-extensions.git#subdirectory=utils", +] ``` -## Usage - -### Creating a Docker-based Extension +Then import the utilities in your extension code, for example: ```python from localstack_extensions.utils import ProxiedDockerContainerExtension -from werkzeug.datastructures import Headers - -class MyExtension(ProxiedDockerContainerExtension): - name = "my-extension" - - def __init__(self): - super().__init__( - image_name="my-docker-image:latest", - container_ports=[8080], - host="myext.localhost.localstack.cloud", - ) - def should_proxy_request(self, headers: Headers) -> bool: - # Define your routing logic - return "myext" in headers.get("Host", "") +... ``` ## Dependencies From 0e5c01f367fc516ffb1569ab52811705d142d11e Mon Sep 17 00:00:00 2001 From: Waldemar Hummer Date: Tue, 27 Jan 2026 10:05:37 +0100 Subject: [PATCH 5/5] remove unused import in docker.py Co-Authored-By: Claude Opus 4.5 --- utils/Makefile | 4 ++-- utils/localstack_extensions/utils/docker.py | 1 - 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/utils/Makefile b/utils/Makefile index 07078e8..c80a78c 100644 --- a/utils/Makefile +++ b/utils/Makefile @@ -28,8 +28,8 @@ dist: venv ## Create distribution package publish: clean-dist venv dist ## Publish package to PyPI $(VENV_RUN); pip install --upgrade twine; twine upload dist/* -format: venv ## Run ruff to format the code - $(VENV_RUN); python -m ruff format .; make lint +format: venv ## Run ruff to format and fix the code + $(VENV_RUN); python -m ruff format .; python -m ruff check --fix . lint: venv ## Run ruff to lint the code $(VENV_RUN); python -m ruff check --output-format=full . diff --git a/utils/localstack_extensions/utils/docker.py b/utils/localstack_extensions/utils/docker.py index df77a85..8050242 100644 --- a/utils/localstack_extensions/utils/docker.py +++ b/utils/localstack_extensions/utils/docker.py @@ -5,7 +5,6 @@ from typing import Callable import requests -from localstack import config from localstack.config import is_env_true from localstack_extensions.utils.h2_proxy import ( apply_http2_patches_for_grpc_support,