diff --git a/CHANGELOG.md b/CHANGELOG.md index 604c602..62aaae7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,9 @@ # Changelog +## 2.2.64 + +- 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"] diff --git a/pyproject.toml b/pyproject.toml index 280708f..0ad67b9 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.65" requires-python = ">= 3.10" license = {"file" = "LICENSE"} dependencies = [ diff --git a/socketsecurity/__init__.py b/socketsecurity/__init__.py index 52754b7..97ca4ed 100644 --- a/socketsecurity/__init__.py +++ b/socketsecurity/__init__.py @@ -1,3 +1,3 @@ __author__ = 'socket.dev' -__version__ = '2.2.63' +__version__ = '2.2.65' 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" },