Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
67 commits
Select commit Hold shift + click to select a range
f8c3c50
Publish built docs triggered by 4448c088a8e3ed1a08fc7ae1250213744d331862
github-actions[bot] Aug 31, 2026
a5318b3
Publish built docs triggered by 07483c1b1c0fb197bd4384551041742b484d4ebb
github-actions[bot] Sep 1, 2026
4822d93
Publish built docs triggered by 864b6665710d517f5ce43af25d2948395329f204
github-actions[bot] Sep 2, 2026
b1c0de2
Publish built docs triggered by e36c5f842aaedfc1afb8c69572f1f1a323f0cdde
github-actions[bot] Sep 3, 2026
a18e156
Publish built docs triggered by 54f5cf162c3b1671915f343d9a79d31566ea3e28
github-actions[bot] Sep 4, 2026
485d340
Publish built docs triggered by eaf7fffbdc7a184cffc81b97e76ab5365546f585
github-actions[bot] Sep 4, 2026
514fda4
Publish built docs triggered by 565f933d6fc1283a0b6d825ab7dd15d0e5b6430c
github-actions[bot] Sep 5, 2026
96803dc
Publish built docs triggered by 33028d5543ed2fd2ad19bd247888cfb3c55cec3b
github-actions[bot] Sep 5, 2026
ab57f59
Publish built docs triggered by 1d9a982b4049725e6727c7cd3724414911dc802b
github-actions[bot] Sep 6, 2026
5588984
Publish built docs triggered by 185ddc462b2db29d27d1f413aea070dfd2f1760a
github-actions[bot] Sep 6, 2026
0c7bcb6
Publish built docs triggered by 4cb8c2185f8a7b2eb7095238aa220c6f54300686
github-actions[bot] Sep 7, 2026
57dd863
Publish built docs triggered by 8a9228164fddeaa03c9ee510b641990e403f2eb5
github-actions[bot] Sep 8, 2026
992c621
Publish built docs triggered by 7401e1bc49aa3aca805b36759f2a391201a0e3b6
github-actions[bot] Sep 8, 2026
a583911
Publish built docs triggered by a5c809f98dedcf4b22f5d317ea8efe0720834925
github-actions[bot] Sep 8, 2026
1ee2963
Publish built docs triggered by c29363fc05d08848ad99f53b2b50856603ff39ed
github-actions[bot] Sep 8, 2026
c4c4dfd
Publish built docs triggered by f40d978a4c72bcbbcb6a45fb4c81e95f4e3cfc73
github-actions[bot] Sep 9, 2026
307ba04
Publish built docs triggered by f3f420b4c28ad044a08a7695466ef831060572eb
github-actions[bot] Sep 9, 2026
21012b3
Publish built docs triggered by bf01e288eeb5cbfb2c8a4cf77f82f97f81c109ba
github-actions[bot] Sep 9, 2026
d5901ae
Publish built docs triggered by 14d18c4091edf9c570d3198212de4aa905acde8b
github-actions[bot] Sep 10, 2026
46ce020
Publish built docs triggered by 2db0ec3bbedb72e7fc68938feef4b4b70efa7f93
github-actions[bot] Sep 10, 2026
742ab5d
Publish built docs triggered by 67e65382ac6e7c7dfca696c61682bf540f307e89
github-actions[bot] Sep 10, 2026
e87625e
Publish built docs triggered by 46ec37d87695c1e96fdcbde1a7b9aa1e919d1719
github-actions[bot] Sep 10, 2026
b3458d1
Publish built docs triggered by 5e4224779669ace7839c60d1c014a98802f11f6b
github-actions[bot] Sep 10, 2026
885db0d
Publish built docs triggered by f8cc678272c50c781a56b74b49912b999aebd89e
github-actions[bot] Sep 11, 2026
598425e
Publish built docs triggered by 615e9b42250d094dbc44fc0dd21b4e13f876171d
github-actions[bot] Sep 12, 2026
1b7bf89
Publish built docs triggered by f2b2ffd400cc8ac8744b5ec401f7cfb556f944d5
github-actions[bot] Sep 13, 2026
7417be8
Publish built docs triggered by afaee3d4cece5f2d4784df2bd02c9b1a5402ab03
github-actions[bot] Sep 14, 2026
1c82bed
Publish built docs triggered by c14976481ea53d7e1806eb9dbc1cff803c6eba31
github-actions[bot] Sep 14, 2026
e9083ec
Publish built docs triggered by 6bbd3f42c3e8a321b19f50253576e92e2765e5f4
github-actions[bot] Sep 14, 2026
4c6ec45
Publish built docs triggered by b376290aad68bac68010234cd25fcfcfbc92d6d2
github-actions[bot] Sep 15, 2026
fab3ad9
Publish built docs triggered by 5a4490502d537d9cca919ee0434dd852da190ec2
github-actions[bot] Sep 16, 2026
1dfce2b
Publish built docs triggered by 606ae0f697380a5bb903909f7ee3c731abbc6b79
github-actions[bot] Sep 16, 2026
b106583
Publish built docs triggered by ddad4a821aee49586fd213ab9a4a77bb2826a076
github-actions[bot] Sep 16, 2026
8ac50db
Publish built docs triggered by 2cb6b54085ad36f412717b6a79b683d78ae2f48e
github-actions[bot] Sep 16, 2026
2c1f56e
Publish built docs triggered by dcd385e3e1770cf2ee0d0ffd7e70f0d2175dd247
github-actions[bot] Sep 17, 2026
f7560fe
Publish built docs triggered by 6c27203c8e318e104ebbab4609b578b465aa1377
github-actions[bot] Sep 17, 2026
1cea710
Publish built docs triggered by 16ecdc9bdff1c3ed11f6f2462ef9e908831d69a3
github-actions[bot] Sep 17, 2026
eb1e19d
Publish built docs triggered by 768fc8a108c06e313f4f2a008ce9e500f7c21969
github-actions[bot] Sep 17, 2026
98bdd2d
Publish built docs triggered by 790c46383084537e90e5b292c50d6b7711b40f51
github-actions[bot] Sep 17, 2026
fb568fe
Publish built docs triggered by 62f039f0d9583054b81d47b2f08b6728a14ac452
github-actions[bot] Sep 17, 2026
10eded4
Publish built docs triggered by 1dea7142016e38af94893d488c796037202acf78
github-actions[bot] Sep 17, 2026
4c63e76
Publish built docs triggered by 98b26c5f9e83f3a21624c97dfaecf37904ff0452
github-actions[bot] Sep 17, 2026
738b98f
Publish built docs triggered by 3b16a3d0eef765b81ce5aad20997b193a42ad02a
github-actions[bot] Sep 18, 2026
3f6fdcd
Publish built docs triggered by 879c8fbfa11bbae6f7f78acd8d6cc9e2f5f7a4a2
github-actions[bot] Sep 18, 2026
a882246
Publish built docs triggered by b631f2c7d92d0a38637a8d8ae980e2474b891f34
github-actions[bot] Sep 18, 2026
3b0b4e1
Publish built docs triggered by b4a8c824b44bffacf681f74d064107a0c1f71fff
github-actions[bot] Sep 20, 2026
4d04353
Publish built docs triggered by a9579bdfd5446ce53dfde8167ba80b85f90c2f2f
github-actions[bot] Sep 20, 2026
c219744
Publish built docs triggered by 99af44a5e620f899bb6796b9fbdcb6b00d33c6e1
github-actions[bot] Sep 20, 2026
682d627
Publish built docs triggered by c55319e0b630568a4d52097df8feee1800b19b6a
github-actions[bot] Sep 22, 2026
5dece1a
Publish built docs triggered by acf2af855293c86eef6d581fe76129895801dd83
github-actions[bot] Sep 22, 2026
8c7d4b3
Publish built docs triggered by c307f9b23150d6bec793495a2328bae6480238ef
github-actions[bot] Sep 23, 2026
e09e31c
Publish built docs triggered by ac37adf5a9099b821c64ef1b7dbdcdc115e6d720
github-actions[bot] Sep 23, 2026
1ca2108
Publish built docs triggered by 63ab2a855eea79f33b11ebeb6408537b7017c54f
github-actions[bot] Sep 24, 2026
78e4823
Publish built docs triggered by 9951f0b351b751d26b66085190ac969ecd53b34d
github-actions[bot] Sep 24, 2026
4c55c47
Publish built docs triggered by 975c0f0a48fd9706dc49c79eba3fdb4e7f44f806
github-actions[bot] Sep 24, 2026
0a4cf1d
Publish built docs triggered by a98f30478427246ebf50674048167ab49e391672
github-actions[bot] Sep 24, 2026
18d4e76
Publish built docs triggered by fcab0020c173b48d870934f0884c1bb2d150d2a8
github-actions[bot] Sep 24, 2026
3b3e173
Publish built docs triggered by 448670fe6e84b95604602627f6172f0c63e18de3
github-actions[bot] Sep 25, 2026
d630535
Publish built docs triggered by aece5fb6a32dd1e9bed76f456278ae45bd84c5f7
github-actions[bot] Sep 25, 2026
7b2c9fd
Publish built docs triggered by b4fd5c8ca07dc389a8d361a20423bc35bf9680e0
github-actions[bot] Sep 26, 2026
716618f
Publish built docs triggered by b7ccbbd6f41c012a599610c1ac386380ddab49b6
github-actions[bot] Sep 27, 2026
275e2ab
Publish built docs triggered by b73054a07670ed3d515aabe8844faeaccdac549b
github-actions[bot] Sep 27, 2026
76da83e
Publish built docs triggered by 266b827f5e603f7807342ee857729796a72773c4
github-actions[bot] Sep 27, 2026
ea5ec9e
Publish built docs triggered by 39ca2c74a9f678ee0f61cd7753b035858c2b9df2
github-actions[bot] Sep 28, 2026
1c518bb
Publish built docs triggered by fb88eb529b41b64a1685d3044186c07f3768bbcd
github-actions[bot] Sep 28, 2026
a26efc2
Publish built docs triggered by 991fd23dd0be0046af5945b8c3905612859b657a
github-actions[bot] Sep 28, 2026
04c8f68
docs: publish DataFusion 55 documentation snapshots
yiaany Sep 29, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
4 changes: 4 additions & 0 deletions .asf.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -68,6 +68,8 @@ github:
- "cargo check datafusion-functions features"
- "cargo check datafusion-spark features"
- "cargo test (amd64)"
- "cargo test 'extended_tests' (amd64)"
- "cargo test hash collisions (amd64)"
- "cargo test datafusion-cli (amd64)"
- "cargo examples (amd64)"
- "cargo test doc (amd64)"
Expand All @@ -76,6 +78,7 @@ github:
- "verify benchmark results (amd64)"
- "Run sqllogictest with Postgres runner"
- "Run sqllogictest in Substrait round-trip mode"
- "Run sqllogictests with the sqlite test suite"
- "cargo test (macos-aarch64)"
- "Verify Vendored Code"
- "Check cargo fmt"
Expand All @@ -84,6 +87,7 @@ github:
- "check Cargo.toml formatting"
- "check configs.md and ***_functions.md is up-to-date"
- "check example README is up-to-date"
- "Check datafusion crates used in datafusion-examples"
- "Verify MSRV (Min Supported Rust Version)"
# needs to be updated as part of the release process
# .asf.yaml doesn't support wildcard branch protection rules, only exact branch names
Expand Down
37 changes: 36 additions & 1 deletion _downloads/1e336e540124589d1e27210fa4f805f6/rust_lint.sh
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,9 @@
#
# Note: The installed checking tools (e.g., taplo) are not guaranteed to match
# the CI versions for simplicity, there might be some minor differences. Check
# `.github/workflows` for the CI versions.
# `.github/workflows` for the CI versions. When this script installs a missing
# tool that has a pinned version in `ci/scripts/utils/tool_versions.sh`, it
# installs that pinned version. An already installed tool is used as is.
#
#
#
Expand Down Expand Up @@ -84,10 +86,34 @@ while [[ $# -gt 0 ]]; do
done

SCRIPT_NAME="$(basename "${BASH_SOURCE[0]}")"
SCRIPT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"

# `ci/scripts/check_asf_yaml_status_checks.py` runs with `python3` from PATH
# and imports PyYAML. Report a missing prerequisite before any tool is
# installed or any formatter runs, and point at `uv run`, which sets up the
# Python dependencies from the uv workspace.
ensure_python_with_yaml() {
if ! command -v python3 &> /dev/null; then
echo "[${SCRIPT_NAME}] python3 was not found on PATH. Please run the suite through uv, which provides Python and its packages: uv run ./dev/rust_lint.sh" >&2
exit 1
fi
if ! python3 -c 'import yaml' &> /dev/null; then
echo "[${SCRIPT_NAME}] PyYAML is not installed for $(command -v python3). Please run the suite through uv, which installs it: uv run ./dev/rust_lint.sh" >&2
exit 1
fi
}

ensure_python_with_yaml

# Load the tool versions shared with CI (for example, LYCHEE_VERSION).
source "${SCRIPT_DIR}/../ci/scripts/utils/tool_versions.sh"

ensure_tool "taplo" "cargo install taplo-cli --locked"
ensure_tool "hawkeye" "cargo install hawkeye --locked"
ensure_tool "typos" "cargo install typos-cli --locked"
ensure_tool "lychee" "cargo install lychee --locked --version ${LYCHEE_VERSION}"
ensure_tool "cargo-audit" "cargo install cargo-audit --locked"
ensure_tool "cargo-machete" "cargo install cargo-machete --locked --version ^${CARGO_MACHETE_VERSION}"

run_step() {
local name="$1"
Expand All @@ -103,11 +129,20 @@ declare -a WRITE_STEPS=(
"ci/scripts/license_header.sh|true"
"ci/scripts/typos_check.sh|true"
"ci/scripts/doc_prettier_check.sh|true"
"ci/scripts/check_examples_docs.sh|true"
"ci/scripts/check_generated_docs.sh|true"
)

declare -a READONLY_STEPS=(
"ci/scripts/check_no_cargo_install_in_workflows.sh|false"
"ci/scripts/check_asf_yaml_status_checks.py|false"
"ci/scripts/check_large_files.sh|false"
"ci/scripts/markdown_link_check.sh|false"
"ci/scripts/security_audit.sh|false"
"ci/scripts/check_circular_dependencies.sh|false"
"ci/scripts/check_unused_dependencies.sh|false"
"ci/scripts/rust_docs.sh|false"
"ci/scripts/check_docs_html.sh|false"
)

for entry in "${WRITE_STEPS[@]}" "${READONLY_STEPS[@]}"; do
Expand Down
29 changes: 29 additions & 0 deletions _sources/contributor-guide/api-health.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -43,6 +43,35 @@ Examples of non-breaking changes include:
- Marking a function as deprecated (`#[deprecated]`)
- Adding a new function to a `trait` with a default implementation

### DataFusion-internal Public APIs

Some internal implementation details require `pub` visibility because they are
shared across DataFusion crates. These APIs are not intended as downstream
extension points. They are hidden from generated documentation and are not part
of DataFusion's supported public API, so they may be changed or removed without
notice or a deprecation period. Examples include:

1. Test helpers.
2. Operator APIs required by the optimizer to inspect or rewrite execution plans
across crate boundaries.

For APIs intended only for internal use, add `#[doc(hidden)]` and a doc comment
section headed `# Public Only for Internal Use:`. Name the crate or component
that requires access and explain why the API is not intended for downstream use.
For example:

```txt
impl HashTableLookupExpr {
/// ...
///
/// # Public Only for Internal Use:
/// `datafusion-proto` tests require this constructor, but it is not part of
/// the supported public API.
#[doc(hidden)]
pub fn new(...) {...}
}
```

### What is the public SQL API and what is a breaking SQL change?

DataFusion is also used as a SQL engine, so changes to SQL semantics (the
Expand Down
16 changes: 15 additions & 1 deletion _sources/contributor-guide/development_environment.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ DataFusion is written in Rust and it uses a standard rust toolkit:

- `rustup update stable` DataFusion generally uses the latest stable release of Rust, though it may lag when new Rust toolchains release
- See which toolchain is currently pinned in the [`rust-toolchain.toml`](https://github.com/apache/datafusion/blob/main/rust-toolchain.toml) file
- This can cause issues such as not having the rust-analyzer component installed for the specified toolchain, in which case just install it manually, e.g. `rustup component add --toolchain 1.97.0 rust-analyzer`
- This can cause issues such as not having the rust-analyzer component installed for the specified toolchain, in which case just install it manually, e.g. `rustup component add --toolchain 1.98.1 rust-analyzer`
- `cargo build`
- `cargo fmt` to format the code
- etc.
Expand All @@ -130,3 +130,17 @@ Formatting instructions:
or run them all at once:

- [dev/rust_lint.sh](../../../dev/rust_lint.sh)

Debugging:

The standard dev profile, used by cargo build and cargo test, disables variable-level DWARF debug information that is required by interactive debuggers.

If you need to step through the code with a debugger, build with:

`CARGO_PROFILE_DEV_DEBUG=2 cargo build`

Alternatively, you can set `CARGO_PROFILE_DEV_DEBUG=2` as an environment variable in your IDE.

This enables the additional debug information required for source-level debugging.

For more details, see the DataFusion [Cargo.toml](https://github.com/apache/datafusion/blob/main/Cargo.toml#L329) configuration.
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Introduction

Welcome to the Apache DataFusion Google Summer of Code (GSoC) 2025 project ideas list. Below you can find information about the projects. Please refer to [this page](https://datafusion.apache.org/contributor-guide/gsoc_application_guidelines.html) for application guidelines.
Welcome to the Apache DataFusion Google Summer of Code (GSoC) 2025 project ideas list. Below you can find information about the projects. Please refer to [this page](https://datafusion.apache.org/contributor-guide/gsoc/gsoc_application_guidelines_2025.html) for application guidelines.

## Projects

Expand Down
7 changes: 6 additions & 1 deletion _sources/contributor-guide/index.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -122,7 +122,12 @@ before merge.
# ./dev/rust_lint.sh --write --allow-dirty
```

You should also run any relevant commands from the [testing quick start](testing.md#testing-quick-start).
Please ensure your PR follows the [testing guide](testing.md). In particular:

- Prefer end-to-end Public API tests such as `sqllogictest` (`.slt`) and DataFrame API,
over Rust unit tests where possible. See
[Choosing What Kind of Test to Write](testing.md#choosing-what-kind-of-test-to-write).
- Run any relevant commands from the [testing quick start](testing.md#testing-quick-start).

## Conventional Commits & Labeling PRs

Expand Down
3 changes: 2 additions & 1 deletion _sources/contributor-guide/pr_review.md.txt
Original file line number Diff line number Diff line change
Expand Up @@ -133,7 +133,8 @@ Guidelines for evaluating tests:

1. Prefer `sqllogictest` (`.slt`) tests or DataFrame API tests where
possible, as they exercise **user-visible behavior** and are less coupled
to internal implementation details than unit tests.
to internal implementation details than unit tests (see
[Choosing What Kind of Test to Write](testing.md#choosing-what-kind-of-test-to-write)).
2. Verify tests cover edge cases and common failure scenarios, not just the
common successful path. However, it is NOT necessary to test every possible
error path, especially if it is difficult to trigger or unlikely to occur in
Expand Down
Loading