Skip to main content

Sparkless — PySpark-compatible DataFrames without the JVM

Install: pip install "sparkless>=4,<5"

Use Sparkless to run PySpark-style unit tests and local pipelines 10–100× faster in CI. Powered by the open-source Rust engine robin-sparkless (Polars execution).

Not a full cluster replacement. See Before you adopt for UDF, parity, and production caveats.

CI PyPI crates.io docs.rs Documentation License: MIT


Choose your path

I want to… Start here
Use Sparkless in Python (tests, local pipelines) python/README.md · pip install "sparkless>=4,<5"
Embed the Rust engine docs/QUICKSTART.md · robin-sparkless = "4" on crates.io
Contribute CONTRIBUTING.md · make check-full

Full documentation: Read the Docs


Quick start (Python)

# Swap the import—everything else stays the same.
from sparkless.sql import SparkSession, functions as F

spark = SparkSession.builder.app_name("demo").get_or_create()
df = spark.createDataFrame([{"x": 1}, {"x": 2}])
df.filter(F.col("x") > 1).show()
pip install "sparkless>=4,<5"

More: Python getting started · Testing guide · FAQ


Why Sparkless (Python)?

  • Familiar API — SparkSession, DataFrame, Column, and PySpark-like functions so you can reuse patterns without the JVM.
  • Fast local execution — Runs natively (no JVM) and uses Polars for IO, expressions, and aggregations.
  • Test the same suite two ways — Use sparkless.testing to run tests with Sparkless (fast) or real PySpark (parity checks).
  • Optional “Spark-like” features — SQL, temp/global temp views, saveAsTable, Delta, and JDBC (see python/README.md).

Features (Python surface)

Area What’s included
Core SparkSession, DataFrame, Column, functions
IO CSV, Parquet, JSON, Delta
Expressions col, lit, when/otherwise, casts, null handling
Aggregates count, sum, avg, min, max, groupBy().agg()
Window row_number, rank, dense_rank, lag, lead, first_value, last_value via .over()
Arrays, strings, JSON Common PySpark functions (explode, regexp_*, get_json_object, from_json, to_json, …)
SQL + views spark.sql, temp/global temp views, saveAsTable, catalog().listTables()
JDBC Read/write via spark.read.jdbc(...) / df.write.jdbc(...)

Parity: 200+ fixtures validated against PySpark. Before you adopt · PySpark differences · Parity status


Installation

pip install "sparkless>=4,<5"

Contributors: pip install ./python or cd python && maturin develop — see CONTRIBUTING.md.

Rust engine (optional)

Most users should use the Python package above. To embed the engine in Rust:

[dependencies]
robin-sparkless = "4"

Optional features: sql, delta, jdbc, sqlite, jdbc_mysql. See docs/QUICKSTART.md.


Development

Prerequisites: Rust (see rust-toolchain.toml), Python 3.8+, maturin. Java only for SPARKLESS_TEST_MODE=pyspark.

See CONTRIBUTING.md for setup, make check-full, pytest, and maturin workflow.

Command Description
make check-full Full CI-equivalent check (Rust + Python)
pytest tests/ -v Python tests (sparkless backend)
SPARKLESS_TEST_MODE=pyspark pytest tests/ -v Same tests against real PySpark
make check Rust: format, clippy, audit, tests

Documentation

Resource Description
Python package Install, quick start, platform matrix, API overview
Read the Docs Getting started, testing, migration, FAQ
Before you adopt UDF limits, parity caveats, production notes
CONTRIBUTING Dev setup and PR checklist
docs.rs Rust API reference
Testing Guide Dual-mode testing with sparkless.testing
PySpark Differences Known divergences
RELEASING Publishing to crates.io and PyPI

See CHANGELOG.md for version history.


License

MIT

Metadata

Release files for sparkless 4.13.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sparkless 4.13.3
File Size Uploaded
sparkless-4.13.3.tar.gz 598.9 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for sparkless 4.13.3
File
sparkless-4.13.3-cp38-abi3-win_arm64.whl CPython 3.8 abi3 Windows ARM64 Details
sparkless-4.13.3-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
sparkless-4.13.3-cp38-abi3-musllinux_1_2_x86_64.whl CPython 3.8 abi3 Linux musl 1.2+ x86-64 Details
sparkless-4.13.3-cp38-abi3-musllinux_1_2_aarch64.whl CPython 3.8 abi3 Linux musl 1.2+ ARM64 Details
sparkless-4.13.3-cp38-abi3-manylinux_2_28_aarch64.whl CPython 3.8 abi3 Linux glibc 2.28+ ARM64 Details
sparkless-4.13.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.8 abi3 Linux glibc 2.17+ x86-64 Details
sparkless-4.13.3-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
sparkless-4.13.3-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 283.7 MB

Release files / sparkless-4.13.3.tar.gz

Download URL sparkless-4.13.3.tar.gz
Size 598.9 kB
Tags Source
SHA-256 checksum
How to use checksums
5f7837b23518a0f245d78aa3513e97172a236aac8b0760edd16f94873e0e549b
BLAKE2b-256 checksum
How to use checksums
f0a513f8e9016d09fe92c6c7bb0c8aa74788409e72250c7523b133974a1a68b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-win_arm64.whl

Download URL sparkless-4.13.3-cp38-abi3-win_arm64.whl
Size 35.2 MB
Tags CPython 3.8 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
03ebfa9a7b66532421222c50f7266c76f30e13f5c3d1f2698630a61db2c89de1
BLAKE2b-256 checksum
How to use checksums
374daee0c6d8665bf3102e29bd789dfdb0688fac03f44972b36aeeeb43fc646b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-win_amd64.whl

Download URL sparkless-4.13.3-cp38-abi3-win_amd64.whl
Size 38.3 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
932f64a23894e4b6155769356eda774d056bfccc08d1d9fdb248c519d6cacdae
BLAKE2b-256 checksum
How to use checksums
570a600855e324fec0b06b20ffe1fc2a3efe04aa99db1ed57432e663386e35d9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-musllinux_1_2_x86_64.whl

Download URL sparkless-4.13.3-cp38-abi3-musllinux_1_2_x86_64.whl
Size 36.6 MB
Tags CPython 3.8 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
6648eade0026154b32af4f2663cfbeb6b1c42a06cd7f52f1f55f51b9668b8e7d
BLAKE2b-256 checksum
How to use checksums
21f3da18805ba5bdfb7ed863919a9a1b18a2996673fa19828fcddb9a97aef9db
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-musllinux_1_2_aarch64.whl

Download URL sparkless-4.13.3-cp38-abi3-musllinux_1_2_aarch64.whl
Size 34.2 MB
Tags CPython 3.8 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
5d45c51cf609cc4dd6a5b59a16b5afdc2f165402f682816566d5cc9e0ffc7024
BLAKE2b-256 checksum
How to use checksums
a5c4ea5b7eb7377fda399c0a8a8becab977373d1f31bfa46f991773772492e37
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-manylinux_2_28_aarch64.whl

Download URL sparkless-4.13.3-cp38-abi3-manylinux_2_28_aarch64.whl
Size 34.2 MB
Tags CPython 3.8 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
7793a7d32e197395d3744d76bbd97f4edf030fadd8f301571ba8f7b67238ce1c
BLAKE2b-256 checksum
How to use checksums
a1869320a6781ad001ccc61ef7b9a1491e3fbf30891697aa2032e8e986508ec9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL sparkless-4.13.3-cp38-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 36.6 MB
Tags CPython 3.8 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
6156212c24256552a31683ad7d9c2599f3a0a218a5f456399529eb3769e64ff1
BLAKE2b-256 checksum
How to use checksums
2abaa984a5ac5d049e887387601fad3403fdb96a48b0e30d944f09db2e07cfe3
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-macosx_11_0_arm64.whl

Download URL sparkless-4.13.3-cp38-abi3-macosx_11_0_arm64.whl
Size 32.8 MB
Tags CPython 3.8 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
fd7a4d71905d8b00415059f64aa48b0b43511ff48d5ac1de151bcc1189f5f6ee
BLAKE2b-256 checksum
How to use checksums
b66857f00fec57dfd33ebfeb0a2683bbb04740077a1b70abff07e32ab930b347
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release files / sparkless-4.13.3-cp38-abi3-macosx_10_12_x86_64.whl

Download URL sparkless-4.13.3-cp38-abi3-macosx_10_12_x86_64.whl
Size 35.1 MB
Tags CPython 3.8 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
c360bea0106c63f5d989d9d205f058b62598aa41066b3e1193d68de92a94f89c
BLAKE2b-256 checksum
How to use checksums
84293d1709d9055162d28ad4665d10c44da3cb24db2a0da15dbcb42be20da656
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

Release history Release notifications | RSS feed

This release

4.13.3 This release

9 release files

4.13.2

9 release files

4.13.1

9 release files

4.13.0

9 release files

4.12.1

9 release files

4.9.0

9 release files

4.8.0

9 release files

4.7.0

9 release files

4.6.0

9 release files

4.5.7

9 release files

4.5.6

9 release files

4.5.5

9 release files

4.5.4

9 release files

4.5.3

9 release files

4.5.2

9 release files

4.5.1

9 release files

4.5.0

9 release files

4.4.0

9 release files

4.3.0

9 release files

4.2.1

9 release files

4.2.0

9 release files

4.1.0

9 release files

4.0.1

9 release files

3.31.0

2 release files

3.27.1

2 release files

3.27.0

2 release files

3.26.1

2 release files

3.26.0

2 release files

3.25.0

2 release files

3.24.0

2 release files

3.23.0

2 release files

3.22.0

2 release files

3.21.0

2 release files

3.19.1

2 release files

3.19.0

2 release files

3.18.7

2 release files

3.18.6

2 release files

3.18.5

2 release files

3.18.4

2 release files

3.18.3

2 release files

3.18.2

2 release files

3.18.1

2 release files

3.18.0

2 release files

3.17.9

2 release files

3.17.8

2 release files

3.17.7

2 release files

3.17.6

2 release files

3.17.5

2 release files

3.17.4

2 release files

3.17.3

2 release files

3.17.2

2 release files

3.17.1

2 release files

3.17.0

2 release files

3.16.0

2 release files

3.15.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page