You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This RFC scopes out the work for porting portions of the Daft codebase into Rust for the 0.1.0 release.
RFC Details
Motivation
Python as a language is a great user-interface for data scientists and users due to its dynamic typing and ecosystem of open-sourced libraries. However for implementing Daft itself, Python has several limitations.
Problem
Lack of pattern matching: until Python 3.10, Python lacks good structural matching. This makes several modules difficult to implement and extend (query optimizer, expression optimization, operator type resolution).
Kernels: Daft currently relies heavily on PyArrow kernels, some custom C++ kernels and sometimes casting to types such as Pandas/Polars where PyArrow is buggy or insufficient. Having an easy way to define our own kernels is key to unlock future project velocity.
Packaging: packaging is a nightmare - relying on Polars/Pandas/Numpy/PyArrow for kernel execution makes Daft very heavy to install
Solution
Rust's support for pattern matching will give us robust tooling for building out more complex query optimizations and type resolution.
reacted with thumbs up emoji reacted with thumbs down emoji reacted with laugh emoji reacted with hooray emoji reacted with confused emoji reacted with heart emoji reacted with rocket emoji reacted with eyes emoji
-
[RFC] Rust refactors
RFC Summary
This RFC scopes out the work for porting portions of the Daft codebase into Rust for the 0.1.0 release.
RFC Details
Motivation
Python as a language is a great user-interface for data scientists and users due to its dynamic typing and ecosystem of open-sourced libraries. However for implementing Daft itself, Python has several limitations.
Problem
Solution
This is a WIP to be scoped out into issues for the refactoring of the following modules:
User Experience
The Daft interface from a user perspective is unchanged except:
Blocking
This issue blocks the following:
Beta Was this translation helpful? Give feedback.
All reactions