Starting with my own +1. On Sun, 30 Aug 2026 at 07:35, Hyukjin Kwon <[email protected]> wrote:
> Please vote on releasing the following candidate as Apache Spark Connect > Rust > Client 4.2.0. > > This is the *first* release of the ground-up Rust rewrite of the Spark > Connect > Python client (published to PyPI as pyspark-client-rust): a drop-in > replacement > for pyspark-client <https://pypi.org/project/pyspark-client/>, backed by > a native Rust core instead of py4j/grpcio. > > The vote is open until Thursday, September 4, 2026, 5:00 PM PDT and passes > if a majority of +1 PMC votes are cast, with a minimum of > 3 +1 votes. > > [ ] +1 Release this package as Apache Spark Connect Rust Client 4.2.0 > [ ] -1 Do not release this package because … > > TAG: > https://github.com/apache/spark-connect-rust/releases/tag/v4.2.0-rc1 > (commit: f77df70) > > RELEASE FILES (wheels + sdist, built and attached by GitHub Actions): > https://github.com/apache/spark-connect-rust/releases/tag/v4.2.0-rc1 > > DOCUMENTATION: > https://apache.github.io/spark-connect-rust/ > > LIST OF ISSUES: > https://issues.apache.org/jira/projects/SPARK/versions/12357484 > HOW TO TRY IT — PYTHON (pip) > > The release attaches abi3 wheels (Linux x86_64/aarch64, macOS universal2, > Windows x86_64; CPython 3.9+) plus a source distribution. Grab the wheel > for > your platform from the release page and install it directly, e.g.: > > pip install > https://github.com/apache/spark-connect-rust/releases/download/v4.2.0-rc1/pyspark_client_rust-4.2.0-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl > > Then use it exactly like PySpark. See if your existing workloads work with > this. > HOW TO TEST IT — RUST (cargo) > > The Rust crates are intentionally NOT on crates.io for a release candidate > (crates.io is immutable; the crates are published there only when the > release is > finalized). Test against the tagged source instead: > > # A) Pin a git dependency to the RC tag in your project's Cargo.toml: > [dependencies] > apache-spark-connect = { git = > "https://github.com/apache/spark-connect-rust", tag = "v4.2.0-rc1" } > > # B) Or build and run the crates' own tests from the tag: > git clone --branch v4.2.0-rc1 https://github.com/apache/spark-connect-rust > cd spark-connect-rust > cargo build --release > cargo test > > HIGHLIGHTS > > - *Drop-in PySpark Connect Python API*, verified against real PySpark > 4.2.0 two > ways: the official PySpark test suite runs against this client, and a > behavioral API-parity sweep compares the Python API surface (functions > and > DataFrame / Column / SparkSession / GroupedData / Window methods) > call-by-call > to PySpark. > - Spark Connect Rust API *full* coverage, including *Rust UDF*s > (docs: https://apache.github.io/spark-connect-rust/). > - *Native Rust transport* via tonic; cloudpickle vendored to match > upstream, so > no grpcio/py4j at runtime. and *native type conversion.* > > WHY DOES THE VERSION START AT 4.2.0? > > Even though this is the first release of the rewrite, the version starts at > 4.2.0 to track the Apache Spark / PySpark version it targets. This (1) > removes > any ambiguity about which Spark version a given client is compatible with, > and > (2) lets PySpark users pip install pyspark-client-rust== exactly > as they would pyspark-client, keeping the same versioning across both. > > Thanks, > Hyukjin Kwon > >
