-
-
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(python,rust): Typed JsonPath implementation #3413
Conversation
Codecov Report
@@ Coverage Diff @@
## master #3413 +/- ##
==========================================
+ Coverage 77.41% 77.52% +0.11%
==========================================
Files 402 408 +6
Lines 69508 69960 +452
==========================================
+ Hits 53808 54237 +429
- Misses 15700 15723 +23
Continue to review full report at Codecov.
|
I'm interested in feedback on the function names. Here is a summary (omitting Option/Result as they are handled slightly differently in Py/Rs):
My thought is to deprecate @ritchie46, what do you think about the function names? I'm still working on the Lazy/Expr API for this feature, and adding tests. The PR currently works end-to-end for these operations directly on a Series. |
One alternative to consider for the above function names is using |
as someone coming from a JS background, i've always found the python |
I'm wondering, what is the benefit of exposing the
|
Thanks. As someone who mostly develops in Python, I also find the naming unintuitive. I'll leave it as |
Exposing the |
I'm getting back to this PR after some time. It needs updates in arrow2 and json_deserialize to fix jorgecarleitao/json-deserializer#13. There are also conflicts from the dispatch changes in #4423 that need to be addressed. |
I've broken out the initial Rust functions into a different PR (#5140) to make this easier to review. |
This PR resolves #3373. The PR is currently a work-in-progress, based on upstream changes in arrow2 (jorgecarleitao/arrow2#989). The Cargo.toml files have been modified for now to use the latest version from a fork, which will be reverted once the upstream PR merges. This needs some additional work to expose the feature to Python. The Rust pieces are working correctly, although there is certainly room for better testing and documentation. A new example in
examples/json_path
shows off what can be done at present.