Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

New strategy to use Rust in Sentry/Python #119

Merged
merged 4 commits into from
Jan 29, 2024
Merged

Conversation

Swatinem
Copy link
Member

@Swatinem Swatinem commented Oct 25, 2023

We want to improve the adoption of Rust within the Sentry/Python codebase, making it easier to do so,
and removing some hurdles that make current Rust usage very annoying and brittle.

Rendered RFC

@Swatinem Swatinem self-assigned this Oct 25, 2023
- **con**: Having multiple smaller Python extension modules will increased the fixed per-module overhead.
In particular, each module would have its own bundled copy of the Rust `std`.

## Create a single Sentry-specific bindings package
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

i'm in favor of a "other" bindings package for functionality that does not fit into any of the more focussed packages, especially if we are already adding this functionality into packages it doesn't belong into.

I think we would want to keep the arroyo bindings small/focussed because they are potentially useful outside of sentry, therefore I wouldn't want to couple them and their build process to a bunch of native stuff.

my concern with a large bindings crate in general is not even the python wheel size, but having a complicated build process. i think having a mega-package that links rdkafka/breakpad/openssl/... sounds like a recipe for slow CI and hard to debug failures.

@Swatinem Swatinem merged commit 9c3b925 into main Jan 29, 2024
2 checks passed
@Swatinem Swatinem deleted the swatinem/rust-python branch January 29, 2024 14:48
@Swatinem
Copy link
Member Author

This is now alive 🎉

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.

3 participants