diff --git a/.cursor/rules/launchpad.mdc b/.cursor/rules/launchpad.mdc index 40afbce6..6d4afd63 100644 --- a/.cursor/rules/launchpad.mdc +++ b/.cursor/rules/launchpad.mdc @@ -23,7 +23,7 @@ This is a Python CLI tool for analyzing iOS and Android app bundle sizes, simila ### Python -- Use modern Python 3.11+ with type hints +- Use modern Python 3.13+ with type hints - Follow PEP 8 and ruff formatting (line length 120) - Use `pytest` for testing - Use `click` for CLI interface diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 36859d67..d8b6edd9 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -21,7 +21,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v7 @@ -53,7 +53,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v7 @@ -95,7 +95,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v7 @@ -147,7 +147,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v7 diff --git a/.github/workflows/image.yml b/.github/workflows/image.yml index 9f8ed9d6..1305b787 100644 --- a/.github/workflows/image.yml +++ b/.github/workflows/image.yml @@ -34,7 +34,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v7 @@ -111,7 +111,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v6 with: - python-version: "3.12" + python-version: "3.13" - name: Install uv uses: astral-sh/setup-uv@v7 diff --git a/CLAUDE.md b/CLAUDE.md index 3ddc15b0..d0adb51d 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -43,7 +43,7 @@ ### Technology Stack -#### Backend (Python 3.11+) +#### Backend (Python 3.13+) - **LIEF**: Binary analysis library for Mach-O/ELF parsing - **Pillow**: Image processing and optimization - **Kafka**: Event streaming via confluent-kafka and sentry-arroyo diff --git a/DEVELOPMENT.md b/DEVELOPMENT.md index 53ea8467..b7debc6c 100644 --- a/DEVELOPMENT.md +++ b/DEVELOPMENT.md @@ -42,10 +42,9 @@ Run `make help` to see all available commands. ## Requirements -- Python 3.11 or 3.12 +- Python 3.13 - Make ## Style - Prefer empty `__init__.py` files. See https://github.com/getsentry/launchpad/pull/56. - diff --git a/Dockerfile b/Dockerfile index 910a1bbd..2478a3fb 100644 --- a/Dockerfile +++ b/Dockerfile @@ -26,8 +26,8 @@ RUN git clone https://github.com/apple/swift-corelibs-libdispatch.git && \ make -j$(nproc) && \ make install -# Use Python 3.12 slim image -FROM python:3.12-slim-bookworm +# Use Python 3.13 slim image +FROM python:3.13-slim-bookworm # Build argument to determine if this is a test build ARG TEST_BUILD=false diff --git a/pyproject.toml b/pyproject.toml index 13247309..eb41d806 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -20,12 +20,11 @@ classifiers = [ "Operating System :: MacOS", "Operating System :: POSIX :: Linux", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Topic :: Software Development :: Build Tools", "Topic :: System :: Archiving", ] -requires-python = ">=3.11" +requires-python = ">=3.13" [project.scripts] launchpad = "launchpad.cli:main" @@ -39,7 +38,7 @@ where = ["src"] [tool.ruff] line-length = 120 -target-version = "py311" +target-version = "py313" [tool.ruff.lint] # Enable pycodestyle (E), Pyflakes (F), and isort (I) by default diff --git a/scripts/strip/Dockerfile.cctools b/scripts/strip/Dockerfile.cctools index 48c9efd5..31fc725a 100644 --- a/scripts/strip/Dockerfile.cctools +++ b/scripts/strip/Dockerfile.cctools @@ -55,7 +55,7 @@ RUN ./configure --prefix=/out RUN make -j"$(nproc)" && make install-strip # Verify the binary is working -FROM --platform=linux/amd64 python:3.12-slim-bookworm AS verify +FROM --platform=linux/amd64 python:3.13-slim-bookworm AS verify # Install runtime dependencies needed by the strip binaries RUN apt-get update && apt-get install -y --no-install-recommends \ libbsd0 \