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.14.0

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.14.0
File Size Uploaded Provenance
sparkless-4.14.0.tar.gz 693.5 kB Without provenance Details

Built distributions (wheels)

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

Total release size: 321.4 MB

Release files / sparkless-4.14.0.tar.gz

Download URL sparkless-4.14.0.tar.gz
Size 693.5 kB
Tags Source
SHA-256 checksum
How to use checksums
ac19471972f9a5729b122cbe5fa0dae33690793b7d53efa9cbab54b986ce262a
BLAKE2b-256 checksum
How to use checksums
6b6536762eafcaba26e4b6e8b62ea3402e2905bee44ea102d871d22d651b70b5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL sparkless-4.14.0-cp38-abi3-win_arm64.whl
Size 39.8 MB
Tags CPython 3.8 Windows ARM64 abi3
SHA-256 checksum
How to use checksums
393dd9252d69a0ecfb3c8e5ef7d805dfdfbb81604bb1bbc197a3271b1170d99d
BLAKE2b-256 checksum
How to use checksums
b5c39df30ba10b70dc7a8ceab9bbc624b6d9a7e89f9140195d1fd1d1a7013d64
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL sparkless-4.14.0-cp38-abi3-win_amd64.whl
Size 43.5 MB
Tags CPython 3.8 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
e09c534c64233144c7431ec826000a21aa868102fb7a6f01e12668eb8ab5dccd
BLAKE2b-256 checksum
How to use checksums
158f62242c25f264c0b6c7f16563048e3c2765cfd74ce0a3d9cabc43fb5e4a2b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

Download URL sparkless-4.14.0-cp38-abi3-musllinux_1_2_aarch64.whl
Size 38.7 MB
Tags CPython 3.8 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
0054bbc91ad01e57e6ef0c76377921027368f24ff57adccf02dc42006e046d88
BLAKE2b-256 checksum
How to use checksums
49266677c63b8e8a7a04e08dc2d7160c919315c6b629be3eea650ccdfa9a75fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL sparkless-4.14.0-cp38-abi3-manylinux_2_28_aarch64.whl
Size 38.7 MB
Tags CPython 3.8 Linux glibc 2.28+ ARM64 abi3
SHA-256 checksum
How to use checksums
5c4cd6023cf0a936ea5f8f950b5791559cc6d5c10ae7317198e9c883760992b7
BLAKE2b-256 checksum
How to use checksums
8a54e68a853b1eaa9966774580a37503c27ef9311385cd2fddb1aa3132f24bec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

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

Security for sparkless 4.14.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

Release history Release notifications | RSS feed

This release

4.14.0 This release

9 release files No provenance

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