's Avatar

@marcogorelli.bsky.social

Senior Software Engineer at Quansight Labs Pretty focused on Narwhals and Polars these days, generally interested in dataframes and time series

210 Followers  |  196 Following  |  69 Posts  |  Joined: 28.10.2024  |  2.1206

Latest posts by marcogorelli.bsky.social on Bluesky

PR of Astropy using Narwhals

PR of Astropy using Narwhals

🌝 The next @astropy.org release will support generic dataframe tables (like @pola.rs )

πŸŒŠπŸ¦„ Powered by Narwhals

03.10.2025 16:37 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

oh no!!! 😭

18.09.2025 09:40 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of inlay hints with Narwhals

Demo of inlay hints with Narwhals

Enabling inlay hints in vscode

Enabling inlay hints in vscode

πŸ’‘ Life-pro-tip: enable inline type hints

🏷️ Your editor will display inferred types for variables you haven't annotated

πŸ•΅οΈ Debugging those red squiggly lines will become much easier

12.09.2025 18:14 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0

polars Series implement __array__, I'd have thought that a lot of the time you can pass Series as then they'll be converted by any `np.asarray` call. at least passing Polars Series to matplotlib works like that

23.08.2025 17:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

which stats packages are tied to pandas?

23.08.2025 15:39 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Demo of pd.col

Demo of pd.col

✨🐼 Pandas 3.0 will have `pd.col` syntax

πŸ’‘ You can use it for clean chaining in `assign` and `loc`

πŸš€ It's happening, the PR just got merged!

22.08.2025 17:28 β€” πŸ‘ 4    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Example of `.name` chaining with Polars

Example of `.name` chaining with Polars

Example of `.name` chaining with Narwhals

Example of `.name` chaining with Narwhals

✨ New @pola.rs feature - you can now chain `name` expressions!

πŸŒŠπŸ¦„ As of Narwhals 2.0 (yes, we've released 2.0 πŸš€), this feature is available there as well! Little example below with our friend @duckdb.org

12.08.2025 17:28 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
temporary solution added to pandas 12 years ago

temporary solution added to pandas 12 years ago

πŸ’‘ "There's nothing for permanent than a temporary fix"

Case in point, this pandas comment which was added [checks git log] ... 12 years ago πŸ™ˆ

07.08.2025 20:16 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

"If the U.S. can't get its greenhouse emissions under control, they need to face real consequences" said the rest of the world.

07.08.2025 19:57 β€” πŸ‘ 492    πŸ” 152    πŸ’¬ 23    πŸ“Œ 3
Screenshot of 17-year-old commit message in NumPy

Screenshot of 17-year-old commit message in NumPy

πŸ’‘ Today in open source: a 17-year-old NumPy commit promising that a new feature will be coming soon

Any day now..

29.07.2025 16:35 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
gt-extras demo

gt-extras demo

😍 @posit.co have done it again

πŸ§™ gt-extras offers even more functionality for their table renditions of @pola.rs and pandas dataframes!

πŸŒŠπŸ¦„ Using Narwhals for some dataframe logic

26.07.2025 15:01 β€” πŸ‘ 10    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0

solarized light

20.07.2025 13:26 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Meme of panicked Astronomer CEO caught on cam with the head of HR, with "When you find a new data science library" and "When you realise it only supports pandas" text overlaid

Meme of panicked Astronomer CEO caught on cam with the head of HR, with "When you find a new data science library" and "When you realise it only supports pandas" text overlaid

πŸ’‘ Solution: use Narwhals for universal dataframe support πŸŒŠπŸ¦„

18.07.2025 10:56 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of Formulaic with native Polars support

Demo of Formulaic with native Polars support

✨ New Formulaic release (1.2), featuring native support for @pola.rs !

πŸŒŠπŸ¦„ Powered by Narwhals

15.07.2025 18:40 β€” πŸ‘ 10    πŸ” 2    πŸ’¬ 1    πŸ“Œ 1
Marco Gorelli - How Narwhals brings Polars, DuckDB, PyArrow, & pandas together | PyData London 25
YouTube video by PyData Marco Gorelli - How Narwhals brings Polars, DuckDB, PyArrow, & pandas together | PyData London 25

🎒 When the Q&A goes off-script 🀣

πŸ‡―πŸ‡΅ Japanese math rock, πŸ…ΏοΈ porpoises and unfortunate aliases, and 🎀 Taylor Swift:

πŸ₯ˆAll of these unexpectedly came up in this fun session, which is currently the 2nd most viewed of the conference

πŸ™ Thanks @pydatalondon.bsky.social for inviting me!

09.07.2025 14:41 β€” πŸ‘ 8    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Adopt Narwhals to support multiple eager dataframe Β· Issue #16518 Β· mlflow/mlflow Description Follow up from #10292 (comment) What's Narwhals? Narwhals is a lightweight compatibility layer between dataframe libraries, with negligible overhead. Its API is a subset of the polars o...

github.com/mlflow/mlflo...

01.07.2025 15:49 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
MLFlow maintainer announcing that they merged the Polars dataset PR

MLFlow maintainer announcing that they merged the Polars dataset PR

πŸ₯³ The next version of @mlflow.org will support @pola.rs !

😩 Slightly disappointingly, they do so by converting to pandas

πŸŒŠπŸ¦„ Could Narwhals help make MLFlow gain native support for Polars? Link to the discussion below πŸ‘‡

01.07.2025 15:49 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

sure - how do you know

21.06.2025 13:40 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 2    πŸ“Œ 0
PR which added Ibis support to Narwhals

PR which added Ibis support to Narwhals

Demo of Ibis via Narwhals

Demo of Ibis via Narwhals

πŸ™€ It's scary to merge a 2,000+ line PR!

πŸ˜‡ But, this one was so thorough that we just had to ship it

πŸ† Thanks to an incredible effort by Ryan Whitten, Narwhals supports Ibis!

πŸ’‘You can now use Narwhals with all of Ibis' backends, plus some extra, whilst keeping @pola.rs expressive API!

19.06.2025 18:59 β€” πŸ‘ 3    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
Release Python Polars 1.30.0 Β· pola-rs/polars πŸš€ Performance improvements Switch eligible casts to non-strict in optimizer (#22850) Allow predicate passing set_sorted (#22797) Increase default cross-file parallelism limit for new-streaming mul...

github.com/pola-rs/pola...

06.06.2025 18:08 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of `list.filter` in Polars

Demo of `list.filter` in Polars

✨ @pola.rs now supports `list.filter`

πŸͺ„ The `list` namespace is now even more turbocharged ⚑

πŸ‘‡ Full release notes for 1.30

06.06.2025 18:07 β€” πŸ‘ 6    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

sometimes that's all you need πŸ˜€

26.05.2025 19:17 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Example of using PySpark via Narwhals

Example of using PySpark via Narwhals

✨ PySpark 4.0 is out

πŸŒŠπŸ¦„ And it's already supported by Narwhals, including PySpark connect (thanks Francesco Bruzzesi!)

26.05.2025 19:09 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0

Looks like a good decision, given she committed fraud

26.05.2025 09:57 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - narwhals-dev/narwhals: Lightweight and extensible compatibility layer between dataframe libraries! Lightweight and extensible compatibility layer between dataframe libraries! - narwhals-dev/narwhals

πŸ‘‰πŸŒŸ Narwhals: github.com/narwhals-dev...

πŸ“š Narwhals and SQL: narwhals-dev.github.io/narwhals/gen...

22.05.2025 14:56 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of forward-fill with Narwhals

Demo of forward-fill with Narwhals

Forward-fill as DuckDB SQL

Forward-fill as DuckDB SQL

✨ Narwhals now supports `fill_null` with forwards and backwards strategies

🎬 Here's a demo of a fill-forward function which supports PySpark, @pola.rs , @duckdb.org , pandas, cuDF, and more!

🎁 Bonus: curious about what this looks like as DuckDB SQL? We got you covered 😎

22.05.2025 14:55 β€” πŸ‘ 2    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Demo of Narwhals dataframe-agnostic function which supports PySpark

Demo of Narwhals dataframe-agnostic function which supports PySpark

Plot of PySpark dataframe after converting it to PyArrow

Plot of PySpark dataframe after converting it to PyArrow

SQL generation from Polars syntax

SQL generation from Polars syntax

✨ Narwhals now supports PySpark

πŸŽ‡ If you have a dataframe-agnostic function, you can pass in `pyspark.sql.DataFrame`

πŸ“ˆ Here's a demo, made with @marimo.io

🎁 BONUS feature: combine with SQLFrame, to generate SQL from @pola.rs syntax πŸͺ„

09.05.2025 13:41 β€” πŸ‘ 1    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Narwhals tests in cuDF's CI

Narwhals tests in cuDF's CI

πŸ› οΈ NVIDIA's cuDF library now runs the Narwhals test suite as part of its CI process

πŸ™€

07.05.2025 12:02 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

in netherlands?

02.05.2025 15:49 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

I still name my Marimo notebooks `untitled42.py` πŸ™ˆ

30.04.2025 11:57 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

@marcogorelli is following 20 prominent accounts