Python FFI bridge for Schema, Field and DataType #439
Conversation
|
@jorgecarleitao what is the rational behind wrapping |
Codecov Report
@@ Coverage Diff @@
## master #439 +/- ##
==========================================
- Coverage 82.76% 82.71% -0.06%
==========================================
Files 165 166 +1
Lines 45724 45853 +129
==========================================
+ Hits 37844 37927 +83
- Misses 7880 7926 +46
Continue to review full report at Codecov.
|
|
At the time I had limited knowledge of what I was doing. I think that we could refactor this so that the arrays are shared and the datatypes are copied, since we do not really need to share metadata. |
jorgecarleitao
left a comment
There was a problem hiding this comment.
Looks great. Thanks a lot, @kszucs !
|
Thanks for the review, I'm going to add more tests. |
|
While the conversions do copy between the C schema and rust DataType/Field/Schema structs cc @pitrou to confirm that the lifetimes are properly handled. This PR shouldn't affect how the arrays get exchanged. |
|
@jorgecarleitao what do you think about implementing |
|
The clippy errors should be unrelated. |
@ritchie46 you might be interested in this, as I saw https://github.com/pola-rs/polars/tree/master/py-polars/src/arrow_interop |
I think that it is a good idea. I am not sure how to execute on it though, as I never built a Rust library out of pyo3. E.g. DataFusion requires some conversions that are currently called from Rust (not Python). Is it enough for it to depend on "arrow-rs-python"? So, I would say let's try it and see how this goes in terms of packaging and dependency management. |
|
@jorgecarleitao created the relevant follow-up tickets and cleaned up the PR. |
|
@jorgecarleitao @alamb resolved conflicts with 8672274 |
|
@jorgecarleitao may I go ahead and merge it? |
jorgecarleitao
left a comment
There was a problem hiding this comment.
Sorry, this slipped under my radar :(
I went through this carefully and it is an amazing improvement imo. Really neat stuff,
@kszucs . Thank you very much for this.
I do not have comments; it is ready imo
|
@kszucs I took the liberty of rebasing this PR and fixing clippy -- it should be good to go now once the CI passes |
|
Thanks everyone! Merging it then. |
TODOs:
Which issue does this PR close?
Closes #.
Rationale for this change
What changes are included in this PR?
Are there any user-facing changes?