From 7ac48dc3d5502d8a7c2eccca37602debe0d79fc8 Mon Sep 17 00:00:00 2001 From: Oskar Haarklou Veileborg Date: Thu, 15 Jan 2026 10:52:28 +0100 Subject: [PATCH 1/3] feat: add PyPy installation for Alpine on x86_64 Install Alpine-compatible PyPy3.11 build on amd64 platforms to enable faster Python reachability analysis. --- CHANGELOG.md | 4 ++++ Dockerfile | 18 +++++++++++++++++- 2 files changed, 21 insertions(+), 1 deletion(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 604c602..b963d1f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2.2.58 + +- Included PyPy in the Docker image. + ## 2.2.57 - Fixed Dockerfile to set `GOROOT` to `/usr/lib/go` when using system Go (`GO_VERSION=system`) instead of always using `/usr/local/go`. diff --git a/Dockerfile b/Dockerfile index c4d483a..7f18272 100644 --- a/Dockerfile +++ b/Dockerfile @@ -58,6 +58,22 @@ RUN if [ "$DOTNET_VERSION" = "6" ]; then \ echo "Unsupported .NET version: $DOTNET_VERSION. Supported: 6, 8" && exit 1; \ fi +# Install PyPy (Alpine-compatible build for x86_64 only) +# PyPy is an alternative Python interpreter that makes the Python reachability analysis faster. +# This is a custom build of PyPy3.11 for Alpine on x86-64. +ARG TARGETARCH # Passed by Docker buildx +RUN if [ "$TARGETARCH" = "amd64" ]; then \ + PYPY_URL="https://github.com/BarrensZeppelin/alpine-pypy/releases/download/alp3.23.1-pypy3.11-7.3.20/pypy3.11-v7.3.20-linux64-alpine3.21.tar.bz2" && \ + PYPY_SHA256="60847fea6ffe96f10a3cd4b703686e944bb4fbcc01b7200c044088dd228425e1" && \ + curl -L -o /tmp/pypy.tar.bz2 "$PYPY_URL" && \ + echo "$PYPY_SHA256 /tmp/pypy.tar.bz2" | sha256sum -c - && \ + mkdir -p /opt/pypy && \ + tar -xj --strip-components=1 -C /opt/pypy -f /tmp/pypy.tar.bz2 && \ + rm /tmp/pypy.tar.bz2 && \ + ln -s /opt/pypy/bin/pypy3 /bin/pypy3 && \ + pypy3 --version; \ + fi + # Install additional tools RUN npm install @coana-tech/cli socket -g && \ gem install bundler && \ @@ -104,4 +120,4 @@ RUN mkdir -p /go/src && chmod -R 777 /go COPY scripts/docker-entrypoint.sh /usr/local/bin/docker-entrypoint.sh RUN chmod +x /usr/local/bin/docker-entrypoint.sh -ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] \ No newline at end of file +ENTRYPOINT ["/usr/local/bin/docker-entrypoint.sh"] From abb3c0c1d6e29821ebc1bda9f1466fc5989b5544 Mon Sep 17 00:00:00 2001 From: Oskar Haarklou Veileborg Date: Thu, 15 Jan 2026 11:00:01 +0100 Subject: [PATCH 2/3] Fix versions & changelog --- CHANGELOG.md | 2 +- pyproject.toml | 2 +- socketsecurity/__init__.py | 2 +- uv.lock | 2 +- 4 files changed, 4 insertions(+), 4 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b963d1f..62aaae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Changelog -## 2.2.58 +## 2.2.64 - Included PyPy in the Docker image. diff --git a/pyproject.toml b/pyproject.toml index 280708f..57af4c2 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "socketsecurity" -version = "2.2.63" +version = "2.2.64" requires-python = ">= 3.10" license = {"file" = "LICENSE"} dependencies = [ diff --git a/socketsecurity/__init__.py b/socketsecurity/__init__.py index 52754b7..0aa8a5e 100644 --- a/socketsecurity/__init__.py +++ b/socketsecurity/__init__.py @@ -1,3 +1,3 @@ __author__ = 'socket.dev' -__version__ = '2.2.63' +__version__ = '2.2.64' USER_AGENT = f'SocketPythonCLI/{__version__}' diff --git a/uv.lock b/uv.lock index f2b7477..90efc43 100644 --- a/uv.lock +++ b/uv.lock @@ -1263,7 +1263,7 @@ wheels = [ [[package]] name = "socketsecurity" -version = "2.2.62" +version = "2.2.64" source = { editable = "." } dependencies = [ { name = "bs4" }, From 07561b794ae1fa68fdf7ac974c57709b4e4c9f2f Mon Sep 17 00:00:00 2001 From: Douglas Coburn Date: Thu, 15 Jan 2026 17:19:18 -0800 Subject: [PATCH 3/3] Bump version to 2.2.65 --- pyproject.toml | 2 +- socketsecurity/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/pyproject.toml b/pyproject.toml index 57af4c2..0ad67b9 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -6,7 +6,7 @@ build-backend = "hatchling.build" [project] name = "socketsecurity" -version = "2.2.64" +version = "2.2.65" requires-python = ">= 3.10" license = {"file" = "LICENSE"} dependencies = [ diff --git a/socketsecurity/__init__.py b/socketsecurity/__init__.py index 0aa8a5e..97ca4ed 100644 --- a/socketsecurity/__init__.py +++ b/socketsecurity/__init__.py @@ -1,3 +1,3 @@ __author__ = 'socket.dev' -__version__ = '2.2.64' +__version__ = '2.2.65' USER_AGENT = f'SocketPythonCLI/{__version__}'