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

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.1
File Size Uploaded Provenance
sparkless-4.14.1.tar.gz 694.0 kB Without provenance Details

Built distributions (wheels)

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

Total release size: 321.3 MB

Release files / sparkless-4.14.1.tar.gz

Download URL sparkless-4.14.1.tar.gz
Size 694.0 kB
Tags Source
SHA-256 checksum
How to use checksums
42ed99c84b2c1de4bd8683119dd25d26ac4024a2a28863aef9b6ffa47f14e172
BLAKE2b-256 checksum
How to use checksums
8d07030e333aad3b2d9822bfb5e5709af25cb22757cc44b29431890f5168b54c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

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

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

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

Download URL sparkless-4.14.1-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
711f14abff9e52dc19d3931af8dbcf56eca2ebbf39b12b2abb9fbea21a0d13cf
BLAKE2b-256 checksum
How to use checksums
466b52e9c85b95465a4e0df56cacc0543c59dda01e51e236b3776e117c1143b2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL sparkless-4.14.1-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
817fad5d34a0b6c33ddad636ccc48309a55d266438e32e27b67b498966a65081
BLAKE2b-256 checksum
How to use checksums
4bd6f603e5d26d68a0bddb8bc89121ffd81d1d9a2344aa658396ca9adcf7908a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL sparkless-4.14.1-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
b5d924c61600b3a3820411be951dc4fe99027d6038ee9210b0a37acc5f92a945
BLAKE2b-256 checksum
How to use checksums
c2852d39255650490fb0736ca47768486a2ceb0b1d6d7348fcf0d94b130acd09
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL sparkless-4.14.1-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
87a99ae73e7046a3f82a7ad1a7e753717f56bbf6c0f2014d464f307f53f2a7da
BLAKE2b-256 checksum
How to use checksums
6cf89a80cd050dffe16cfd92a38e40252b07b98103629e21e05ba9752d2a28a0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

Download URL sparkless-4.14.1-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
801160abb681dd71e7cf5ce534173da39890e0caa8866d9c99c55e8ee3229893
BLAKE2b-256 checksum
How to use checksums
cce3496aaec9c0e7ad264549773855015e71135e6d1580f1238a8726ee06aa6d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via maturin/1.15.0

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

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

Security for sparkless 4.14.1

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