'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

227 Followers  |  200 Following  |  86 Posts  |  Joined: 28.10.2024
Posts Following

Posts by (@marcogorelli.bsky.social)

πŸ˜…yup thanks!

22.02.2026 22:28 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Video thumbnail

Tafliad Carreg (Welsh folk tune)

This one was written by Mike Lease, and it means "A stone's throw"

Here's my attempt at it. First time tuning my guitar to DADGAD, and my initial impression is that standard tuning might be a mistake

22.02.2026 09:51 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Demo of Pyrefly LSP in Marimo notebook

Demo of Pyrefly LSP in Marimo notebook

✨ @marimo.io now supports Pyrefly as an LSP, helping you to catch errors before you even execute your code!

βš™οΈ To enable it:
- Install pyrefly
- Settings -> User settings -> Enable pyrefly

🀸 This was a fun one to contribute to

(πŸ™ Note that the ty type checker is also supported)

13.02.2026 14:43 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of Polars suggesting the correct time zone

Demo of Polars suggesting the correct time zone

✨ New @pola.rs feature: if you misspell a time zone, it will suggest the correct one to you

πŸ€Έβ€β™‚οΈThis was a fun one to work on, Levenshtein and all!

30.01.2026 18:46 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 1
Demo of pandas `min_by`

Demo of pandas `min_by`

Demo of Narwhals min_by

Demo of Narwhals min_by

✨ New Polars features: `min_by` and `max_by`

πŸ’‘ Get the first (or last) value of a column ordered by another expression

πŸŒŠπŸ¦„ Narwhals will have this feature too, making it available to @arrow.apache.org , pandas, @duckdb.org , and more

04.01.2026 13:13 β€” πŸ‘ 6    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
pandas 3.0 rc demo

pandas 3.0 rc demo

πŸ˜±πŸ™€ The pandas 3.0 release-candidate is here!

πŸ’₯ Will it break your code?

πŸ’‘ Test it with `uv pip install -U --pre pandas` to find out!

πŸŒŠπŸ¦„ Narwhals users can relax, everything's taken care of for you, no need to do anything ☺️

04.12.2025 14:47 β€” πŸ‘ 3    πŸ” 2    πŸ’¬ 0    πŸ“Œ 0
Preview
Expressions are coming to pandas! `pd.col` will soon be a real thing!

and now we're going full-circle 😜 labs.quansight.org/blog/pandas_...

19.11.2025 08:48 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Demo of Polars lazy pivot

Demo of Polars lazy pivot

✨ The next @pola.rs release will support lazy pivot!

πŸ’‘ All you need is to specify the unique values to pivot on

13.11.2025 18:18 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
GitHub - narwhals-dev/narwhals-daft: Narwhals plugin for Daft Narwhals plugin for Daft. Contribute to narwhals-dev/narwhals-daft development by creating an account on GitHub.

narwhals-daft: github.com/narwhals-dev...

10.11.2025 15:38 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of Narwhals-daft

Demo of Narwhals-daft

✨ Narwhals now supports Daft!

πŸ”ŒJust install the `narwhals-daft` plugin, and then `narwhals.from_native` will accept Daft DataFrame!

πŸ’‘ No extra dependencies requires, computation will remain native (and distributed, and lazy!) until you call `collect`

10.11.2025 15:33 β€” πŸ‘ 5    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Screenshot of Wes mentioning Narwhals on a podcast

Screenshot of Wes mentioning Narwhals on a podcast

😲 Wes McKinney mentioned Narwhals on a podcast

04.11.2025 17:01 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of `list.agg` in Polars 1.35

Demo of `list.agg` in Polars 1.35

✨ New @pola.rs feature: `list.agg`

πŸ’‘ Compute any Expr aggregation on a list column, just use `pl.element()`

πŸ”œ Coming soon, in version 1.35!

23.10.2025 16:09 β€” πŸ‘ 7    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Preview
The first year of free-threaded Python A recap of the first year of work on enabling support for the free-threaded build of CPython in community packages.

The first year of free-threaded Python labs.quansight.org/blog/free-th...

20.10.2025 18:53 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Demo of Narwhals running with free-threaded Python

Demo of Narwhals running with free-threaded Python

πŸ₯§πŸ§΅ Narwhals now tests against Python 3.14 (pi-Python!) free-threading build

πŸ‘‰ For more on free-threaded Python, my colleague Nathan's blog post is an excellent read, link in comments

20.10.2025 18:52 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0
Demo of narwhals.format

Demo of narwhals.format

✨ Narwhals now supports `format` across all backends

🧡 Create new string columns using placeholders and expressions

πŸŒŠπŸ¦„ Yet another piece of the @pola.rs API brought to pandas, @duckdb.org , PySpark, PyArrow, and more!

16.10.2025 20:22 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 0    πŸ“Œ 0
Preview
Bringing NumPy's type-completeness score to nearly 90% | Pyrefly We tell the story of how we brought NumPy's type-completeness score from ~33% to nearly 90%

pyrefly.org/blog/numpy-t...

13.10.2025 17:50 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0
Before vs after of using MaskedArray methods in NumPy

Before vs after of using MaskedArray methods in NumPy

✨ NumPy's MaskedArray class is now type-complete

🏷️ Enjoy improved code completion and typing!

πŸ™ Thank you to Quansight Labs and Meta for having facilicated and funded the work (blog post in comments)

13.10.2025 17:47 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 1
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 β€” πŸ‘ 5    πŸ” 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 β€” πŸ‘ 490    πŸ” 152    πŸ’¬ 22    πŸ“Œ 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 β€” πŸ‘ 9    πŸ” 1    πŸ’¬ 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