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

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.4
File Size Uploaded Provenance
sparkless-4.13.4.tar.gz 673.9 kB Without provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for sparkless 4.13.4
File
sparkless-4.13.4-cp38-abi3-win_arm64.whl CPython 3.8 abi3 Windows ARM64 Details
sparkless-4.13.4-cp38-abi3-win_amd64.whl CPython 3.8 abi3 Windows x86-64 Details
sparkless-4.13.4-cp38-abi3-musllinux_1_2_x86_64.whl CPython 3.8 abi3 Linux musl 1.2+ x86-64 Details
sparkless-4.13.4-cp38-abi3-musllinux_1_2_aarch64.whl CPython 3.8 abi3 Linux musl 1.2+ ARM64 Details
sparkless-4.13.4-cp38-abi3-manylinux_2_28_aarch64.whl CPython 3.8 abi3 Linux glibc 2.28+ ARM64 Details
sparkless-4.13.4-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.4-cp38-abi3-macosx_11_0_arm64.whl CPython 3.8 abi3 macOS 11.0+ ARM64 Details
sparkless-4.13.4-cp38-abi3-macosx_10_12_x86_64.whl CPython 3.8 abi3 macOS 10.12+ x86-64 Details

Total release size: 317.8 MB

Release files / sparkless-4.13.4.tar.gz

Download URL sparkless-4.13.4.tar.gz
Size 673.9 kB
Tags Source
SHA-256 checksum
How to use checksums
a95757bd52b293e1c2b4fea08491faa9b2abdaf26e74b3ef3335c550914e84bc
BLAKE2b-256 checksum
How to use checksums
931df6c78e91922871b5aa7fec5e59bc58097be9486dd7d11ad4e468a3ab98d0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

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

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

Download URL sparkless-4.13.4-cp38-abi3-musllinux_1_2_aarch64.whl
Size 38.2 MB
Tags CPython 3.8 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
42c2fc9e9d244aa570321a89a0399453f0a0a6981a87da082a6f8eaada4a3621
BLAKE2b-256 checksum
How to use checksums
6b2fc075299f564337fb7ba85d94360e492238363e7372428385687b6c06ae3e
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

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

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

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

Security for sparkless 4.13.4

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