Hi HN, Dan, Hussain and Daniel here… After years of struggling with data pipelines that worked in notebooks but failed in production, we decided to do something about it. We created xorq to eliminate the constant headaches of SQL/pandas impedance mismatch, runtime debugging, wasteful recomputations and unreliable research-to-production deployments that plague traditional pandas-style pipeline workflows. xorq is built on Ibis and DataFusion.<p>We’d love your feedback and contributions. xorq is [Apache 2.0 licensed](<a href="https://github.com/letsql/xorq/blob/main/LICENSE" rel="nofollow">https://github.com/letsql/xorq/blob/main/LICENSE</a>) to encourage open collaboration.<p><i>Repo</i>: <a href="https://github.com/letsql/xorq" rel="nofollow">https://github.com/letsql/xorq</a><p><i>Docs</i>: <a href="https://docs.xorq.dev" rel="nofollow">https://docs.xorq.dev</a><p><i>Roadmap Issues</i>: <a href="https://github.com/letsql/xorq" rel="nofollow">https://github.com/letsql/xorq</a><p>You can get started `pip install xorq`.<p>Or, if you use nix, you can simply run `nix run github:xorq-labs/xorq` and drop into an IPython shell.<p>Demo video: <a href="https://youtu.be/jUk8vrR6bCw" rel="nofollow">https://youtu.be/jUk8vrR6bCw</a><p>Here are some vignettes to look into next:<p>1. <i>MCP Server + Flight + XGBoost:</i> <a href="https://docs.xorq.dev/vignettes/mcp_flight_server" rel="nofollow">https://docs.xorq.dev/vignettes/mcp_flight_server</a><p>2. <i>1 DuckDB + 2 Writers + 1 Reader:</i> <a href="https://docs.xorq.dev/vignettes/duckdb_concurrent" rel="nofollow">https://docs.xorq.dev/vignettes/duckdb_concurrent</a><p>3. <i>OpenAI UDF:</i> <a href="https://docs.xorq.dev/tutorials/hn_data_prep" rel="nofollow">https://docs.xorq.dev/tutorials/hn_data_prep</a><p>Some features to note:<p>- Ibis-based multi-engine expression system: effortless engine-to-engine streaming<p>- Cache expressions with `.cache` operator<p>- Portable DataFusion-backed UDF engine with first class support for pandas dataframes<p>- Serialize Expressions to and from YAML<p>- Easily build Flight end-points by composing UDFs<p>thanks for checking this out, and we’re here to answer any questions!
Why go with Ibis over Narwhals? Just curious.<p>I really tried to work Ibis into my projects when I thought the native Ibis functions could be used until I went back to another tool like DuckDb or Polars, but I was finding Ibis couldn’t do some things. At that point it was either flip over to polars to do x, or just use polars.