Workspace Dependency Graph#

This page shows the dependency relationships between DataFusion’s workspace crates. This only includes internal dependencies, external crates like Arrow are not included

The dependency graph is auto-generated by docs/scripts/generate_dependency_graph.sh to ensure it stays up-to-date, and the script now runs automatically as part of docs/build.sh.

Dependency Graph for Workspace Crates#

%3 0 datafusion-common 1 datafusion-common-runtime 2 datafusion-catalog 3 datafusion-datasource 2->3 16 datafusion-physical-expr-adapter 3->16 20 datafusion-session 3->20 4 datafusion-execution 5 datafusion-expr 4->5 6 datafusion-doc 5->6 8 datafusion-functions-aggregate-common 5->8 12 datafusion-functions-window-common 5->12 7 datafusion-expr-common 7->0 9 datafusion-physical-expr-common 8->9 9->7 10 datafusion-proto-models 9->10 11 datafusion-proto-common 10->11 11->0 12->9 13 datafusion-physical-expr 14 datafusion-functions 13->14 14->4 15 datafusion-macros 14->15 15->6 16->13 17 datafusion-physical-plan 17->1 18 datafusion-functions-aggregate 17->18 19 datafusion-functions-window 17->19 18->13 19->13 20->17 21 datafusion-catalog-listing 21->2 22 datafusion-datasource-parquet 21->22 23 datafusion-pruning 22->23 23->3 24 datafusion-functions-nested 23->24 24->18 25 datafusion-datasource-arrow 25->3 26 datafusion-datasource-avro 26->3 27 datafusion-datasource-csv 27->3 28 datafusion-datasource-json 28->3 29 datafusion 29->21 29->25 29->26 29->27 29->28 30 datafusion-functions-table 29->30 31 datafusion-optimizer 29->31 33 datafusion-physical-optimizer 29->33 34 test-utils 29->34 30->2 32 datafusion-sql 31->32 32->19 32->24 33->23 34->0 35 datafusion-ffi 36 datafusion-proto 35->36 36->29 37 datafusion-spark 37->29 38 datafusion-sqllogictest 38->37 39 datafusion-substrait 39->29 40 datafusion-wasmtest 40->29 41 datafusion-cli 41->29 42 datafusion-examples 42->36 43 ffi_example_table_provider 44 ffi_module_interface 43->44 44->35 45 ffi_module_loader 45->44 46 datafusion-benchmarks 46->36
Interactive SVG (pan, zoom, search)
Open SVG ↗

Legend#

  • black lines: normal dependency

  • blue lines: dev-dependency

  • green lines: build-dependency

  • dotted lines: optional dependency (could be removed by disabling a cargo feature)

Transitive dependencies are intentionally ignored to keep the graph readable.

The dependency graph is generated through cargo depgraph by docs/scripts/generate_dependency_graph.sh.