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