Narwhals
Extremely lightweight compatibility layer between Polars, pandas, and more.
Seamlessly support both, without depending on either!
- ✅ Just use a subset of the Polars API, no need to learn anything new
- ✅ No dependencies (not even Polars), keep your library lightweight
- ✅ Support both lazy and eager execution
- ✅ Use Expressions
- ✅ Tested against pandas and Polars nightly builds!
Who's this for?
Anyone wishing to write a library/application/service which consumes dataframes, and wishing to make it completely dataframe-agnostic.
Let's get started!