-
-
Notifications
You must be signed in to change notification settings - Fork 2.1k
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
feat(rust): Pub-licize Expr DSL Function enums #20421
Conversation
They are not meant to be public. They are internal state of the DSL. Could you explain why you need that public? |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #20421 +/- ##
==========================================
+ Coverage 79.85% 79.92% +0.07%
==========================================
Files 1596 1596
Lines 228642 228642
Branches 2615 2615
==========================================
+ Hits 182571 182733 +162
+ Misses 45473 45311 -162
Partials 598 598 ☔ View full report in Codecov by Sentry. |
The use-case is a software project (OpenDP) that proves that a given Polars DSLPlan satisfies differential privacy. For an example of its use, the Switzerland Federal Statistical Office used the tool to release high-resolution poverty statistics. To accomplish this, I've written a number of Polars plugins, as well as a static analyzer for DSLPlans. The analyzer tracks key properties about the data via a recursive parser over each expression/step in the DSLPlan. Over the last year I've been expanding the kinds of expressions and plans that the analyzer can reason about. For example, if an expression in the plan contains an For more context on the project: |
Based on my use-case, is this something you would be open to adding to the public API? Thanks. |
Right, though I do want to warn that we don't guarantee stability on this yet. I first want to get the DSL out into a seperate crate and version that properly. Anyhow can you rebase? |
@Shoeboxam can you rebase? |
df10a26
to
f4511de
Compare
Don't worry, I don't expect API stability. I've been making quarterly releases on my side that brings OpenDP in-line with the latest version of Polars that has DSL compatibility between the Rust and Python crate. Occasionally the Python and Rust DSLs can drift apart due to patch releases with DSL changes, making a monthly Rust release non-viable, in which case I downgrade until finding a matching pair.
Done! Thanks for the response. |
Yeah, I hope we can get to a typed DSL soon. |
Changes the visibility of parts of the Expr DSL that I'd like to add support for in OpenDP (see current docs) to
pub
.