rtyler
04/28/2023, 3:42 PMFlorian Valeye
04/28/2023, 4:11 PMDeltaTableAsync
in an async context).
I limited the read operations before attacking the writer (except update_incremental
), which will be created in a future PR. We could also improve the builder and other writing operations to refactor the codebase and avoid duplication.
One last point, I was forced to create its own struct because of pyo3-asyncio
implementation, but I was wondering if a Rust expert could help me to do a kind of reflection wrapper to call the RawDeltaTable
by default if the method is not found in RawDeltaTableAsync
(but it's a tradeoff between code readability and Rust accessibility.
My goal is to provide full asynchronous capabilities in the Python binding to be aligned with the Tokyo async features in Rust. Also, I'm thinking of a lot of use cases where the async method would be nice (for instance a web application using FastAPI for example). Besides, we could also decide to split the build and the load phase when creating the synchronous DeltaTable
as well.
FYI @Denny Lee and @Matthew Powers it could be a nice blog post "Async Python binding available"Matthew Powers
04/28/2023, 5:01 PMDenny Lee
04/28/2023, 9:10 PMJim Hibbard
04/28/2023, 10:31 PMFlorian Valeye
05/05/2023, 5:29 PM_async
š
I kept the capability of lazily loading the DeltaTable (lazy val
of Scala, I miss this feature)
It's ready for reviews š
cc @Will Jones @rtylerWill Jones
05/05/2023, 5:32 PMFlorian Valeye
05/05/2023, 5:32 PM