Skip to content

Commit 3566328

Browse files
authored
Improve repository readme (#5752)
1 parent 326231e commit 3566328

File tree

1 file changed

+36
-21
lines changed

1 file changed

+36
-21
lines changed

README.md

+36-21
Original file line numberDiff line numberDiff line change
@@ -17,33 +17,40 @@
1717
under the License.
1818
-->
1919

20-
# Native Rust implementation of Apache Arrow and Parquet
20+
# Native Rust implementation of Apache Arrow and Apache Parquet
2121

2222
[![Coverage Status](https://codecov.io/gh/apache/arrow-rs/rust/branch/master/graph/badge.svg)](https://codecov.io/gh/apache/arrow-rs?branch=master)
2323

24-
Welcome to the implementation of Arrow, the popular in-memory columnar format, in [Rust][rust].
24+
Welcome to the [Rust][rust] implementation of [Apache Arrow], the popular in-memory columnar format.
2525

2626
This repo contains the following main components:
2727

28-
| Crate | Description | Latest API Docs | README |
29-
| ------------ | ------------------------------------------------------------------------- | ---------------------------------------------- | ------------------------------ |
30-
| arrow | Core functionality (memory layout, arrays, low level computations) | [docs.rs](https://docs.rs/arrow/latest) | [(README)][arrow-readme] |
31-
| parquet | Support for Parquet columnar file format | [docs.rs](https://docs.rs/parquet/latest) | [(README)][parquet-readme] |
32-
| arrow-flight | Support for Arrow-Flight IPC protocol | [docs.rs](https://docs.rs/arrow-flight/latest) | [(README)][flight-readme] |
33-
| object-store | Support for object store interactions (aws, azure, gcp, local, in-memory) | [docs.rs](https://docs.rs/object_store/latest) | [(README)][objectstore-readme] |
28+
| Crate | Description | Latest API Docs | README |
29+
| ---------------- | --------------------------------------------------------- | ---------------------------------------------- | ------------------------------ |
30+
| [`arrow`] | Core Arrow functionality (memory layout, arrays, kernels) | [docs.rs](https://docs.rs/arrow/latest) | [(README)][arrow-readme] |
31+
| [`parquet`] | Parquet columnar file format | [docs.rs](https://docs.rs/parquet/latest) | [(README)][parquet-readme] |
32+
| [`arrow-flight`] | Arrow-Flight IPC protocol | [docs.rs](https://docs.rs/arrow-flight/latest) | [(README)][flight-readme] |
33+
| [`object-store`] | object store (aws, azure, gcp, local, in-memory) | [docs.rs](https://docs.rs/object_store/latest) | [(README)][objectstore-readme] |
3434

3535
The current development version the API documentation in this repo can be found [here](https://arrow.apache.org/rust).
3636

37+
[apache arrow]: https://arrow.apache.org/
38+
[`arrow`]: https://crates.io/crates/arrow
39+
[`parquet`]: https://crates.io/crates/parquet
40+
[`parquet-derive`]: https://crates.io/crates/parquet-derive
41+
[`arrow-flight`]: https://crates.io/crates/arrow-flight
42+
[`object-store`]: https://crates.io/crates/object-store
43+
3744
## Release Versioning and Schedule
3845

3946
### `arrow` and `parquet` crates
4047

4148
The Arrow Rust project releases approximately monthly and follows [Semantic
4249
Versioning].
4350

44-
Due to available maintainer and testing bandwidth, `arrow` crates (`arrow`,
45-
`arrow-flight`, etc.) are released on the same schedule with the same versions
46-
as the `parquet` and `parquet-derive` crates.
51+
Due to available maintainer and testing bandwidth, [`arrow`] crates ([`arrow`],
52+
[`arrow-flight`], etc.) are released on the same schedule with the same versions
53+
as the [`parquet`] and [`parquet-derive`] crates.
4754

4855
Starting June 2024, we plan to release new major versions with potentially
4956
breaking API changes at most once a quarter, and release incremental minor versions in
@@ -73,22 +80,30 @@ versions approximately every 2 months.
7380

7481
There are two related crates in different repositories
7582

76-
| Crate | Description | Documentation |
77-
| ---------- | --------------------------------------- | ----------------------------- |
78-
| DataFusion | In-memory query engine with SQL support | [(README)][datafusion-readme] |
79-
| Ballista | Distributed query execution | [(README)][ballista-readme] |
83+
| Crate | Description | Documentation |
84+
| -------------- | --------------------------------------- | ----------------------------- |
85+
| [`datafusion`] | In-memory query engine with SQL support | [(README)][datafusion-readme] |
86+
| [`ballista`] | Distributed query execution | [(README)][ballista-readme] |
87+
88+
[`datafusion`]: https://crates.io/crates/datafusion
89+
[`ballista`]: https://crates.io/crates/datafusion-ballista
8090

81-
Collectively, these crates support a vast array of functionality for analytic computations in Rust.
91+
Collectively, these crates support a wider array of functionality for analytic computations in Rust.
8292

83-
For example, you can write an SQL query or a `DataFrame` (using the `datafusion` crate), run it against a parquet file (using the `parquet` crate), evaluate it in-memory using Arrow's columnar format (using the `arrow` crate), and send to another process (using the `arrow-flight` crate).
93+
For example, you can write SQL queries or a `DataFrame` (using the
94+
[`datafusion`] crate) to read a parquet file (using the [`parquet`] crate),
95+
evaluate it in-memory using Arrow's columnar format (using the [`arrow`] crate),
96+
and send to another process (using the [`arrow-flight`] crate).
8497

85-
Generally speaking, the `arrow` crate offers functionality for using Arrow arrays, and `datafusion` offers most operations typically found in SQL, including `join`s and window functions.
98+
Generally speaking, the [`arrow`] crate offers functionality for using Arrow
99+
arrays, and [`datafusion`] offers most operations typically found in SQL,
100+
including `join`s and window functions.
86101

87102
You can find more details about each crate in their respective READMEs.
88103

89104
## Arrow Rust Community
90105

91-
The `[email protected]` mailing list serves as the core communication channel for the Arrow community. Instructions for signing up and links to the archives can be found at the [Arrow Community](https://arrow.apache.org/community/) page. All major announcements and communications happen there.
106+
The `[email protected]` mailing list serves as the core communication channel for the Arrow community. Instructions for signing up and links to the archives can be found on the [Arrow Community](https://arrow.apache.org/community/) page. All major announcements and communications happen there.
92107

93108
The Rust Arrow community also uses the official [ASF Slack](https://s.apache.org/slack-invite) for informal discussions and coordination. This is
94109
a great place to meet other contributors and get guidance on where to contribute. Join us in the `#arrow-rust` channel and feel free to ask for an invite via:
@@ -109,8 +124,8 @@ There is more information in the [contributing] guide.
109124
[contributing]: CONTRIBUTING.md
110125
[parquet-readme]: parquet/README.md
111126
[flight-readme]: arrow-flight/README.md
112-
[datafusion-readme]: https://github.com/apache/arrow-datafusion/blob/main/README.md
113-
[ballista-readme]: https://github.com/apache/arrow-ballista/blob/main/README.md
127+
[datafusion-readme]: https://github.com/apache/datafusion/blob/main/README.md
128+
[ballista-readme]: https://github.com/apache/datafusion-ballista/blob/main/README.md
114129
[objectstore-readme]: object_store/README.md
115130
[issues]: https://github.com/apache/arrow-rs/issues
116131
[discussions]: https://github.com/apache/arrow-rs/discussions

0 commit comments

Comments
 (0)