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 .