Skip to content

build: strip symbols from release native extension - #799

Merged
kvlonge merged 1 commit into
mainfrom
build/strip-native-symbols
Sep 23, 2026
Merged

kvlonge merged 1 commit into
mainfrom
build/strip-native-symbols

Conversation

@kvlonge

@kvlonge kvlonge commented Sep 23, 2026

Copy link
Copy Markdown
Contributor

Why

The project is close to PyPI's 10 GB project storage limit (0.114.0 initially failed to upload). Release wheels ship the native extension with full symbol tables, which adds size without any runtime benefit.

Changes

  • Add [profile.release] strip = "symbols" to the workspace Cargo.toml, so release builds of the native extension are stripped.

Verification

  • Built a release wheel locally with maturin build --release --features extension-module: Linux x86_64 wheel 14.6 MB versus 15.8 MB for the published 0.113.9 wheel (native library 34.2 MB versus 44.0 MB uncompressed).
  • Installed the wheel in a clean venv: import sqlbuild._native and catalogue_json() work, and sqb --help runs.

@kvlonge
kvlonge enabled auto-merge (squash) September 23, 2026 21:28
@kvlonge
kvlonge merged commit 261a495 into main Sep 23, 2026
28 checks passed
@kvlonge
kvlonge deleted the build/strip-native-symbols branch September 23, 2026 21:43
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant