It is the Rust Client, and the new one is a Python wrapper of the Rust
client, which conceptually thought did not require an SPIP but rather a
separate feature. If you feel like it has to be discussed separately, I can
bring it up and pause the release vote for now.

On Sun, 30 Aug 2026 at 10:20, Ángel Álvarez Pascua <
[email protected]> wrote:

> Could you please point me to the previous dev@ discussion or SPIP for
> this proposal?
>
> I found the earlier discussion about creating the Spark Connect Rust
> client repository, but not one covering the ground-up Rust rewrite and the
> new pyspark-client-rust package. Given the scope and user-facing nature
> of these changes, I would have expected them to be discussed before
> reaching the release vote, possibly through the SPIP process.
>
> El dom, 30 ago 2026 a las 0:37, Hyukjin Kwon (<[email protected]>)
> escribió:
>
>> 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
>>
>>

Reply via email to