I've moved from python/polars/pandas to DuckDB and have not looked back
Same. Almost every time I would use its streaming interfaces in Python, it would STILL materialize everything into memory. That was like 6 months ago. Maybe streaming interfaces actually work, but I found them to be leaky abstractions that required a ton of hand holding to make sure they didn't build a bunch of memory pressure, if you're lucky enough to even have a way to do it.
For example, last time I used it, you couldn't do NDJSON streaming scans from S3 (looks like fixed with PR #26563).
SQL is a terrible api for data transformation.
https://duckdb.org/docs/lts/sql/statements/pivot#limitations
vs
https://docs.pola.rs/api/python/stable/reference/dataframe/a...
Yep, and chdb as well. Said this before, chdb's DatStore is a pretty neat pandas replacement too.
even for just in-memory quick data analysis?