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).
Thanks for sharing, and thanks for making the video you shared. A couple thoughts. Is PostGIS king in this area? I've been liking duckDB as it does not require a server. Is there a good alternative to PostGIS in the duckDB world? Maybe just plain GeoParquet files read in through duckDB?
In the example in your video are any special GEOMETRY functions being used in the underlying SQL? Or, could your data just have been in plain postgres?
A similar product GeoSQL is Malloy which puts a semantic layer on top of your data for better LLM understanding. Malloyyo gives you an MCP server for precise and auditable interaction with your data.
Thanks for the comment! Vercel is a generic cloud provider, so you won’t get any of the MCP specific features (listed in the post) and development experience - monetization is still not regulated by the protocol, so people would pay for your product before using your MCP, then you can charge based on subscription or usage as usual!
If you are a data scientist or do anything with data... duckdb is like a swiss army knife. So many great ways it can help your workflow. The original video from CMU in 2020 [1] is a classic. Minutes 3-8 present a good argument for adding duckdb to your data cleaning/processing workflow.
And if you want to add a semantic layer on top of data, Malloy [2] is my favorite so far (it has duckdb built in):
reply