$npx skillfedfor your agent

pyspark

Apache Spark Python API

With conditionsPyPI Distributed ComputingReleased Jul 202651.5M downloads / moApache-2.0Source build

Decision gist · record as of 2026-08-14

sdist only — pyspark-4.2.0.tar.gz · builds from source
v4.2.0 · released 2026-07-14 · Python >=3.10 · 1 runtime deps: py4j

Yes, if you are working with large-scale data processing on a Spark cluster or need distributed machine learning and streaming capabilities. The high install friction and Java dependency are trade-offs for a mature, widely-used distributed computing platform. Not necessary for small-scale local data work. Ensure your Spark cluster version matches the installed PySpark version exactly.AI-flagged interpretation of the facts on this page — verify before relying

Before you install

  • Requires Java runtime and matching Spark cluster version if connecting to an existing cluster; Python >= 3.10 required.
  • High install friction due to the large tarball and dependency on py4j.
  • Maintenance is active with recent releases, but the packaging is noted as experimental and requires careful version alignment with any Spark cluster you intend to connect to.

License · maintenance · safety

Apache-2.0 (permissive) — Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions beyond attribution and liability disclaimers.

last release 2026-07-14 (31 days) · last repo commit 2026-08-13 · 43,869 stars

0 known vulnerabilities (OSV.dev, 2026-08-14) · 51,459,453 downloads/mo, #570 on PyPI

Verify before relying

pip install pyspark

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName('example').getOrCreate()
df = spark.createDataFrame([(1, 'a'), (2, 'b')], ['id', 'value'])
df.show()
  • Whether numpy, pandas, or pyarrow are required for typical workloads or only for specific sub-packages.
  • Performance characteristics and scalability limits for typical cluster sizes.
  • Compatibility matrix details between PySpark and Spark cluster versions beyond 'must match'.
Same gist for agents: .md · .json

What it is and what it does

PySpark is the Python API for Apache Spark, a distributed computing framework for large-scale data processing. It exposes Spark's core engine through Python, allowing you to write distributed data pipelines, SQL queries, machine learning models, and stream processors that run across clusters. The package bundles Spark JARs and uses py4j to bridge Python and Java, making it suitable for connecting to existing Spark clusters (standalone, YARN, or cloud-hosted) rather than setting up new ones from pip alone.

The library supports multiple high-level APIs: Spark SQL for structured queries and DataFrames, pandas API on Spark for pandas-like workloads, MLlib for distributed machine learning, GraphX for graph algorithms, and Structured Streaming for real-time data. Installation is straightforward but carries high friction due to the large archive size. Version alignment with your target Spark cluster is critical—mismatches can cause subtle failures.

Use it for

  • Process multi-terabyte datasets across a Spark cluster using SQL queries or DataFrame operations.
  • Train machine learning models on distributed data using MLlib algorithms.
  • Build real-time streaming pipelines that ingest and process continuous data streams.
  • Perform graph analysis and algorithms on large graphs using GraphX.
  • Migrate pandas workloads to distributed execution via the pandas API on Spark.

Worth the install?

AI-flagged interpretation of the facts on this page. Verify before relying on it.

With conditions

Yes, if you are working with large-scale data processing on a Spark cluster or need distributed machine learning and streaming capabilities.

The high install friction and Java dependency are trade-offs for a mature, widely-used distributed computing platform. Not necessary for small-scale local data work. Ensure your Spark cluster version matches the installed PySpark version exactly.

Install

pyspark on PyPI

Before you install

High install friction due to the large tarball and dependency on py4j. Maintenance is active with recent releases, but the packaging is noted as experimental and requires careful version alignment with any Spark cluster you intend to connect to.

Requires Java runtime and matching Spark cluster version if connecting to an existing cluster; Python >= 3.10 required.

License in practice

Licensed under Apache-2.0 (permissive), allowing commercial use, modification, and distribution with minimal restrictions beyond attribution and liability disclaimers.

Quickstart

pip install pyspark

from pyspark.sql import SparkSession

spark = SparkSession.builder.appName('example').getOrCreate()
df = spark.createDataFrame([(1, 'a'), (2, 'b')], ['id', 'value'])
df.show()

Verify before relying

  • Whether numpy, pandas, or pyarrow are required for typical workloads or only for specific sub-packages.
  • Performance characteristics and scalability limits for typical cluster sizes.
  • Compatibility matrix details between PySpark and Spark cluster versions beyond 'must match'.

Package facts

LicenseApache-2.0 permissive
Python supportSupports the current Python release >=3.10
Install frictionHigh. Source build required
Runtime dependencies
1 package
py4j
MaintenanceActively maintained 31 days since the last release
Last repo commit
First released
Downloads51,459,453 / month, #570 on PyPI 30-day window, as of 2026-08-14
Known vulnerabilitiesNone known OSV.dev, checked 2026-08-14
Classifiers
Development Status :: 5 - Production/StableProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonTyping :: Typed

Evidence: pyspark-4.2.0.tar.gz

Tags

Capabilities
distributed data processing pythonspark python apilarge-scale analytics enginedistributed machine learningstream processing pythonspark dataframe sqlcluster computing python
Topics
distributed-computingbig-datamachine-learning

Let your AI agent find packages like this

Example. Real query, live index.

You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.

wish › “large-scale analytics engine”

  • pysparkPySpark provides Python bindings to Apache Spark, enabling…
  • coiledCoiled is a Python client library that provisions and manages Dask…
  • ResiliparseResiliparse provides fast, robust parsing and analysis tools for web…

Give your agent the search over MCP, or paste the wish link into any chat.

More Distributed Computing packages

grpcio Worth it
PyPI · Distributed Computing · released Jul 2026

gRPC Python is an HTTP/2-based RPC framework that enables you to define and call remote procedures across network boundaries using protocol buffers for serialization.

Install it if you need RPC communication in a distributed system or are integrating with existing gRPC services.

Apache-2.0compiled wheel · 3.10+
446.4Mdownloads / mo
execnet With conditions
PyPI · Libraries · released Nov 2025

execnet lets you spawn and communicate with Python interpreters across local processes, remote hosts, and different platforms, using a simple API for task distribution and inter-process messaging.

However, the aging maintenance status (275 days since last release) means you should verify it meets your concurrency and performance needs before committing to a…

MITpure Python · 3.8+aging
172.1Mdownloads / mo
cloudpickle Worth it
PyPI · Scientific/Engineering · released Nov 2025

Cloudpickle extends Python's standard pickle module to serialize lambda functions, interactively-defined functions and classes, and other constructs that the default pickle cannot handle, making it suitable for cluster computing and remote code execution.

Install it if you need to serialize lambda functions, interactively-defined code, or non-standard Python constructs for cluster computing or distributed execution.

BSD-3-Clausepure Python · 3.8+
148.4Mdownloads / mo
smart-open Worth it
PyPI · Distributed Computing · released Jul 2026

Provides a unified, open()-compatible Python API for streaming large files from remote storage (S3, GCS, Azure, HDFS, SFTP, HTTP) and local filesystems, with transparent compression support.

Install it if you work with large files on cloud storage or remote systems and want to avoid writing boilerplate around multiple SDKs.

MITpure Python
72.8Mdownloads / mo
portalocker Worth it
PyPI · Libraries · released Aug 2026

Portalocker provides cross-platform file locking with support for exclusive and shared locks, plus Redis-based distributed locks and process-aware PID file locking.

Install it if you need file or process coordination; the optional extras (pywin32, redis) are only required for specific lock types.

BSD-3-Clausepure Python · 3.10+
65.1Mdownloads / mo
ray Worth it
PyPI · Distributed Computing · released Aug 2026

Ray is a distributed computing framework that scales Python applications from a single machine to multi-node clusters, providing abstractions for parallel tasks, stateful actors, and shared objects.

permissive licensecompiled wheel · 3.10+
63.3Mdownloads / mo

See also apache-sedona · dataengine · pyspark-client · pyspark-extension · pyspark-pandas · raydp · spark-sklearn · synapseml · graphframes · koalas