ddx-datafusion 0.1.0

DataFusion adapter for ddx: bare grad()/jvp() via an AnalyzerRule, plus the ddx_sql text-rewrite helper.
Documentation
[package]
name = "ddx-datafusion"
description = "DataFusion adapter for ddx: bare grad()/jvp() via an AnalyzerRule, plus the ddx_sql text-rewrite helper."
# Versioned independently of ddx-core: the two publish on their own cadence, and
# an adapter that had to move whenever the engine did would force a release for
# changes that do not touch it.
version = "0.1.0"
readme = "README.md"
keywords = ["sql", "autograd", "differentiation", "datafusion", "dataframe"]
categories = ["mathematics", "database"]
edition.workspace = true
license.workspace = true
repository.workspace = true
authors.workspace = true
rust-version.workspace = true

# M2: the real adapter. `datafusion` and `ddx-core` must resolve the SAME
# `sqlparser` version or Path B's bridge won't compile — the workspace
# Cargo.toml documents the pin and tests/sqlparser_pin.rs enforces it in CI.
#
# `ddx-ad` is deliberately NOT a dependency yet: it's still an empty v2 scaffold
# (M3/M4), and depending on it now would buy nothing.
[dependencies]
ddx-core = { workspace = true }
datafusion = { workspace = true }

[dev-dependencies]
tokio = { version = "1", features = ["macros", "rt-multi-thread"] }
# The shared simulation harness (`ddx_core::test_utils`). Deliberately the SAME
# generator and reference interpreter ddx-core fuzzes against: a cross-crate
# agreement test proves nothing if each side invents its own idea of "a random
# derivable expression".
ddx-core = { workspace = true, features = ["test-utils"] }