Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .cursor/rules/launchpad.mdc
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
8 changes: 4 additions & 4 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/image.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down Expand Up @@ -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
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
3 changes: 1 addition & 2 deletions DEVELOPMENT.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.

4 changes: 2 additions & 2 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Build libdispatch for the strip binary
FROM --platform=linux/amd64 debian:12-slim AS libdispatch-build

Check warning on line 2 in Dockerfile

View workflow job for this annotation

GitHub Actions / build-pr-arm64

FROM --platform flag should not use a constant value

FromPlatformFlagConstDisallowed: FROM --platform flag should not use constant value "linux/amd64" More info: https://docs.docker.com/go/dockerfile/rule/from-platform-flag-const-disallowed/

Check warning on line 2 in Dockerfile

View workflow job for this annotation

GitHub Actions / build-pr-amd64

FROM --platform flag should not use a constant value

FromPlatformFlagConstDisallowed: FROM --platform flag should not use constant value "linux/amd64" More info: https://docs.docker.com/go/dockerfile/rule/from-platform-flag-const-disallowed/

RUN apt-get update && apt-get install -y --no-install-recommends \
build-essential \
Expand All @@ -26,8 +26,8 @@
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
Expand Down
7 changes: 3 additions & 4 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand All @@ -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
Expand Down
2 changes: 1 addition & 1 deletion scripts/strip/Dockerfile.cctools
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
Expand Down