xorq-labs/xorq

Executable memory system for tabular data that works in your harness.

What it solves

Xorq addresses the "tech-debt" created by AI coding agents when they perform tabular data work. Instead of leaving behind a messy collection of one-off Python scripts, fragile JSON state files, and outdated requirements, Xorq converts ephemeral agent work into durable, composable, and executable artifacts. It prevents the loss of lineage, eliminates the need for manual reproduction of results on different machines, and replaces static markdown notes with a discoverable catalog of executable pipelines.

How it works

Xorq uses a declarative expression system based on Ibis that can compile to multiple backends (such as DuckDB, Snowflake, or pandas). These expressions are packaged into "entries"—zipped build artifacts containing the expression manifest, a pinned Python environment (via uv), and the necessary source code. These entries are stored in a git-native catalog, allowing agents and humans to discover, version, and reuse pipelines using standard file operations and git commands. Data is exchanged between these expressions using Arrow RecordBatches for high-performance IPC.

Who it’s for

It is designed for developers and AI agents (specifically integrated with tools like Claude Code) who perform complex data analysis, build ML pipelines, and create semantic layers for tabular data.

Highlights

  • Multi-Engine Execution: Run the same expression across embedded engines (SQLite, pandas), warehouses (Snowflake, Databricks), and lakehouses (PyIceberg).
  • Git-Native Catalog: Uses a git repository to store build artifacts, making the "memory" of the system versionable and portable.
  • Reproducible Environments: Every entry ships with its own pinned requirements.txt and wheel to ensure it runs the same way every time.
  • Agent-Optimized: Includes a Claude Code plugin that allows agents to initialize catalogs, explore entries, and compose new pipelines via slash commands.
  • Scikit-learn Integration: Can translate scikit-learn Pipeline objects into deferred Xorq expressions.