Skip to content

Commit 773ef22

Browse files
adriangbclaude
andauthored
docs: update proto-models README for the datafusion-common dependency (#24279)
`datafusion-proto-models` now depends on `datafusion-common` and hosts the `From` / `TryFrom` conversions between the generated proto types and their `datafusion-common` counterparts, but the crate README still claimed it had no DataFusion dependencies beyond `datafusion-proto-common` and exposed only the generated structs. Describe the conversions and why they live in this crate, and spell out the narrowness that still holds: `datafusion-common` and `datafusion-proto-common` are the only DataFusion dependencies. --------- Co-authored-by: Claude <noreply@anthropic.com>
1 parent a635b18 commit 773ef22

1 file changed

Lines changed: 14 additions & 3 deletions

File tree

datafusion/proto-models/README.md

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,9 +22,17 @@
2222
[Apache DataFusion] is an extensible query execution framework, written in Rust, that uses [Apache Arrow] as its in-memory format.
2323

2424
This crate contains the [prost]-generated Rust types for DataFusion's logical
25-
and physical plan protobuf schemas. It is intentionally kept narrow: it has no
26-
DataFusion dependencies beyond [`datafusion-proto-common`] and exposes only the
27-
generated structs (and optional [pbjson]/[serde] support).
25+
and physical plan protobuf schemas, plus the `From` / `TryFrom` conversions
26+
between those types and the [`datafusion-common`] types they mirror. The
27+
conversions live here because their DataFusion side sits _below_ this crate in
28+
the dependency graph and so cannot host the impls itself — the same arrangement
29+
[`datafusion-proto-common`] uses for [`ScalarValue`] and [`Statistics`].
30+
31+
It is otherwise intentionally kept narrow: its only DataFusion dependencies are
32+
[`datafusion-common`] and [`datafusion-proto-common`], and apart from those
33+
conversions it exposes only the generated structs (and optional
34+
[pbjson]/[serde] support). In particular it does not depend on
35+
`datafusion-expr` or on any of the execution crates.
2836

2937
This crate is consumed by [`datafusion-proto`] and may also be depended on
3038
directly by other DataFusion crates that need to refer to the proto schema
@@ -39,5 +47,8 @@ crate, there is no reason to use this crate directly in your project as well.
3947
[prost]: https://docs.rs/prost/latest/prost/
4048
[pbjson]: https://docs.rs/pbjson/latest/pbjson/
4149
[serde]: https://serde.rs/
50+
[`datafusion-common`]: https://crates.io/crates/datafusion-common
4251
[`datafusion-proto`]: https://crates.io/crates/datafusion-proto
4352
[`datafusion-proto-common`]: https://crates.io/crates/datafusion-proto-common
53+
[`scalarvalue`]: https://docs.rs/datafusion-common/latest/datafusion_common/scalar/enum.ScalarValue.html
54+
[`statistics`]: https://docs.rs/datafusion-common/latest/datafusion_common/stats/struct.Statistics.html

0 commit comments

Comments
 (0)