🎙️ Pleased to present at @pyconde this year!
🎯 This will be my first talk focused entirely on Narwhals and how it's bringing open source data tools together
18.2.2025 17:28🎙️ Pleased to present at @pyconde this year!🎯 This will be my first talk focused entirely on Narwhals and how it's bringing open...🙀 Bokeh merged a pull request to use Narwhals for Polars / PyArrow support!
3️⃣.7️⃣ This will be available in their 3.7 release, probably later this month
🎢 Exciting times for Python dataframe visualisation!
7.2.2025 14:18🙀 Bokeh merged a pull request to use Narwhals for Polars / PyArrow support!3️⃣.7️⃣ This will be available in their 3.7 release,...✨ New Narwhals release (1.24)
🏷️ Selectors and `nw.all` expressions are now supported across the API
💖🦆 Many improvements to the PySpark and @duckdb backends
😍 The more we work on Narwhals, the more we appreciate how expressive the @datapolars API is
28.1.2025 19:25✨ New Narwhals release (1.24)🏷️ Selectors and `nw.all` expressions are now supported across the API💖🦆 Many improvements to the...✨ New Polars release (1.20)!
🔎 Series.index_of and Expr.index_of added
🧵 New str.normalize method
🎢 Performance improvements for rolling functions (on my time series feature engineering benchmark it's a 2x improvement!)
Full release notes: https://github.com/pola-rs/polars/releases/tag/py-1.20.0
20.1.2025 18:52✨ New Polars release (1.20)!🔎 Series.index_of and Expr.index_of added🧵 New str.normalize method🎢 Performance improvements for...✨ New Pyodide release (0.27)!
🤗 With support for 🐻❄️Polars and 🌊🦄Narwhals!
💡 So let's take it for a spin and write some dataframe-agnostic code!
6.1.2025 18:47✨ New Pyodide release (0.27)!🤗 With support for 🐻❄️Polars and 🌊🦄Narwhals!💡 So let's take it for a spin and write...✨ New temporal feature in the next Polars release!
⏲️ dt.replace lets you replace components of Date / Datetime columns
⚡🦀 It's an expressified vectorised rustified version of the Python standard library datetime.replace
20.12.2024 16:25✨ New temporal feature in the next Polars release!⏲️ dt.replace lets you replace components of Date / Datetime columns⚡🦀 It's...🦀 10 minutes to live-coding in Rust from LunarVim
🥐 French pastries and Geoguessr meta
🔁 "Le Verlan", and my revenge on the French for having invented it
🎥 My PyData Paris video is now online!
17.12.2024 18:07🦀 10 minutes to live-coding in Rust from LunarVim🥐 French pastries and Geoguessr meta🔁 "Le Verlan", and my revenge on the...🌊🦄 Narwhals featured in Tryolabs's top 10 new AI/ML/Data tools 2024 list!
🥳 Even more pleasing is that 2 of the other packages featured (Marimo and Rio) use Narwhals under-the-hood
🛠️ Given that Narwhals is a tool for tool-builders, this fills us with joy!
https://tryolabs.com/blog/top-python-libraries-2024
14.12.2024 18:34🌊🦄 Narwhals featured in Tryolabs's top 10 new AI/ML/Data tools 2024 list!🥳 Even more pleasing is that 2 of the other packages...🗣️ "Instead of relying on the Pandas API, we are using Narwhals which provides an abstraction layer over several kinds of tabular data.
This means faster, more efficient handling of tabular data and serious performance gains for data apps at scale."
😍 Love this, from Plotly's blog
💡 Plotly v6 isn't out yet, but you can try it out already with `pip install -U --pre plotly`
https://plotly.com/blog/plotly-dash-major-release/
7.12.2024 19:07🗣️ "Instead of relying on the Pandas API, we are using Narwhals which provides an abstraction layer over several kinds of tabular...Narwhals: https://github.com/narwhals-dev/narwhals
PyDataGlobal sprint: https://global2024.pydata.org/cfp/talk/TJ38TE/
PyLadiesCon sprint: https://pretalx.com/pyladiescon-2024/talk/TYVM8N/
HierarchicalForecast PR: https://github.com/Nixtla/hierarchicalforecast/pull/305
3.12.2024 18:01Narwhals: https://github.com/narwhals-dev/narwhalsPyDataGlobal sprint: https://global2024.pydata.org/cfp/talk/TJ38TE/PyLadiesCon sprint:...🔮 Looks like the next release of Nixtla's HierarchicalForecast will support @pola.rs !
🌊 🦄 With Narwhals under the hood
🧑🏫 If you'd like to contribute to Narwhals, we're hosting mentored sprints at PyData Global and PyLadiesCon with plenty of issues for all levels
3.12.2024 18:01🔮 Looks like the next release of Nixtla's HierarchicalForecast will support @pola.rs !🌊 🦄 With Narwhals under the...✨ Plotly 6.0 𝐩𝐫𝐞𝐫𝐞𝐥𝐞𝐚𝐬𝐞 is out!
🌊 🦄 With Narwhals as required dependency (🙀)
🐻❄️ For non-pandas inputs things often get 2-3x faster
🐼 For pandas, things should stay backwards-compatible
💡 To try it out: pip install -U --pre plotly
👉 Release notes: https://github.com/plotly/plotly.py/releases/tag/v6.0.0rc0
28.11.2024 13:03✨ Plotly 6.0 𝐩𝐫𝐞𝐫𝐞𝐥𝐞𝐚𝐬𝐞 is out!🌊 🦄 With Narwhals as required dependency (🙀)🐻❄️ For...✨ New Vegafusion release (2.0)!
🦀 Modernized Rust core
➡️ Arrow PyCapsule Interface
🌊🦄 Narwhals for agnostic Dataframe support
👉 Full release notes https://vegafusion.io/posts/2024/2024-11-13_Release_2.0.0.html
25.11.2024 21:20✨ New Vegafusion release (2.0)!🦀 Modernized Rust core➡️ Arrow PyCapsule Interface🌊🦄 Narwhals for agnostic Dataframe...😨 I nearly introduced a bug in Altair
🛑 BUT WAIT
🏷 Static typing saved the day
💂♀️ The saviour was TypeGuard, which was introduced in Python 3.10
🔥 So there you go, "typing doesn't prevent bugs" people - you're wrong 🔥
22.11.2024 19:07😨 I nearly introduced a bug in Altair🛑 BUT WAIT🏷 Static typing saved the day💂♀️ The saviour was TypeGuard, which was...𝐓𝐡𝐞 𝐏𝐨𝐥𝐚𝐫𝐬 𝐯𝐬 𝐩𝐚𝐧𝐝𝐚𝐬 𝐝𝐢𝐟𝐟𝐞𝐫𝐞𝐧𝐜𝐞 𝐧𝐨𝐛𝐨𝐝𝐲 𝐢𝐬 𝐭𝐚𝐥𝐤𝐢𝐧𝐠 𝐚𝐛𝐨𝐮𝐭
💡 I don't always write blog posts
🐖 But when I do, I complain about piggy-backing
🎢 This was a fun one to write, and I was surprised to see it land on HackerNews https://news.ycombinator.com/item?id=42152076
👉 https://labs.quansight.org/blog/dataframe-group-by
19.11.2024 19:59𝐓𝐡𝐞 𝐏𝐨𝐥𝐚𝐫𝐬 𝐯𝐬 𝐩𝐚𝐧𝐝𝐚𝐬 𝐝𝐢𝐟𝐟𝐞𝐫𝐞𝐧𝐜𝐞 𝐧𝐨𝐛𝐨𝐝𝐲...🎢 Rolling mean: Polars vs DuckDB syntax
🐻 In Polars this is fairly concise - if you know `rolling_mean` it's a one-liner
🦆 DuckDB SQL is more verbose, but some clients and teams prefer maintaining SQL solutions so it's good to have this under your belt
🐍 🦆 DuckDB's Python Relational API doesn't yet support WindowExpression, but it looks like it's on the roadmap https://github.com/duckdb/duckdb/discussions/14725
11.11.2024 13:53🎢 Rolling mean: Polars vs DuckDB syntax🐻 In Polars this is fairly concise - if you know `rolling_mean` it's a one-liner🦆 DuckDB...❌ Never write a long regular expression...
💚 ...unless you absolutely have to
👉 In which case, verbose mode is your friend https://docs.python.org/3/library/re.html#re.VERBOSE
2.11.2024 17:09❌ Never write a long regular expression...💚 ...unless you absolutely have to👉 In which case, verbose mode is your friend...✨ Py-Shiny 1.2.0 is out!
🦄🌊 This releases includes Narwhals as a required dependency
💡 Polars users can pass Polars DataFrames directly to `@render.data_frame` without it converting to pandas
🕊️ The impact on pandas users is minimal, as Narwhals is lightweight and with zero dependencies
30.10.2024 15:20✨ Py-Shiny 1.2.0 is out!🦄🌊 This releases includes Narwhals as a required dependency💡 Polars users can pass Polars DataFrames...⭐ Narwhals just crossed 512 stars on Github
(that's right, we celebrate 512, not 500)
✨ QuantCo just merged a PR to make Narwhals a dependency of their awesome Tabmat library, which provides specialised matrix classes for statistical algorithms
👯 Happy weekend everyone!
https://github.com/narwhals-dev/narwhals
26.10.2024 20:19⭐ Narwhals just crossed 512 stars on Github(that's right, we celebrate 512, not 500)✨ QuantCo just merged a PR to make Narwhals a...✨ Narwhals will be available in the next version of Pyodide
🕊 It was a very easy PR - it's in moments like these that the benefits of having kept your library lightweight and with zero dependencies come to light!
🎙 For more chatter about data science and its tools, I'll be appearing on Posit PBC's Data Science Hangout tomorrow with Rachael Dempsey and Libby Heeren
https://posit.co/data-science-hangout/marco-gorelli/
23.10.2024 16:11✨ Narwhals will be available in the next version of Pyodide🕊 It was a very easy PR - it's in moments like these that the benefits...⬆️
⬇️