koalas
Koalas: pandas API on Apache Spark
What it is and what it does
Koalas bridges pandas and Apache Spark by exposing a pandas-compatible DataFrame API that executes on Spark clusters. If you know pandas, you can write similar code against Koalas and have it run on distributed data without learning Spark's native API. The package wraps Spark's distributed execution while mimicking pandas' single-node interface, making it useful for teams that want to scale pandas workflows to big data without rewriting code.
However, Koalas is now in maintenance mode and officially superseded by PySpark's native pandas API layer in Spark 3.2+. The last release was in October 2021, and the repository has seen minimal activity since. For new projects targeting Spark 3.2 or later, the description recommends using PySpark directly instead.
Use it for:
- Scale existing pandas code to distributed Spark clusters without rewriting logic or learning Spark's native API
- Write a single codebase that works with pandas on small datasets (for testing) and Koalas on large Spark clusters
- Migrate legacy pandas workflows to big data infrastructure when locked into Spark 3.1 or below
- Prototype data transformations in pandas, then deploy them on Spark using Koalas with minimal code changes
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
Koalas implements the pandas DataFrame API on top of Apache Spark, letting you write pandas-like code that runs on distributed Spark clusters instead of a single machine.
No, unless you are locked into Spark 3.1 or below and cannot upgrade. Koalas is dormant (last release October 2021, minimal commits since) and officially deprecated in favor of PySpark's native pandas API layer in Spark 3.2+. For new projects or upgradeable environments, use PySpark directly. For legacy systems on Spark 3.1, Koalas remains functional but will not receive updates.
Install
koalas on PyPI
pip
pip install koalasuv
uv add koalaspoetry
poetry add koalasInstalling koalas
Before you install
Low install friction with a pure-Python wheel. However, the package is dormant—last release was 2021-10-19 and last commit 2024-03-20—and the description explicitly states it is in maintenance mode, superseded by PySpark's native pandas API layer in Spark 3.2+.
License in practice
Licensed under Apache License 2.0 (permissive), which allows commercial and private use with minimal restrictions, though you must include a copy of the license and state significant changes.
Quickstart
pip install koalas
import pandas as pd
import pyarrow
import numpy
pdf = pd.DataFrame({'x': range(3), 'y': ['a', 'b', 'b']})
# Convert to Koalas DataFrame and perform operations
Requires Apache Spark 3.1 or below; for Spark 3.2+, use PySpark directly. Also requires pandas, pyarrow, and numpy as runtime dependencies.
Verify before relying
- Exact import path and API surface for Koalas DataFrame creation and operations
- Whether existing code will continue to work without modification if Spark is upgraded to 3.2+
- Compatibility with Python versions beyond 3.9 (classifiers support up to 3.9)
Package facts
| License | http://www.apache.org/licenses/LICENSE-2.0 (permissive) |
| Python support | capped below the current Python release (>=3.5,<3.10) |
| Install friction | low — pure-Python wheel |
| Runtime dependencies | 3 — pandas, pyarrow, numpy |
| Maintenance | dormant — 1,760 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 1,084,450/month — #4,389 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: koalas-1.8.2-py3-none-any.whl
Tags
More Information Analysis packages
A drop-in replacement for Python's standard…
permissive · top 100 on PyPI
pyarrowpyarrow provides Python bindings to Apache…
permissive · top 100 on PyPI
networkxNetworkX provides data structures and…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
contourpyContourPy calculates contours of 2D…
permissive · top 1,000 on PyPI
snowflake-snowpark-pythonSnowpark Python provides APIs to query and…
permissive · top 1,000 on PyPI
pyspark-pandasProvides tools for distributing Pandas…
unclear · top 5,000 on PyPI
pysparkPySpark provides Python bindings to Apache…
permissive · top 1,000 on PyPI
pyspark-clientPython client for connecting to Apache Spark…
permissive · top 5,000 on PyPI
spark-sklearnDistributes scikit-learn model training and…
permissive · top 15,000 on PyPI
graphframesGraphFrames provides distributed graph…
permissive · top 5,000 on PyPI
h2o-pysparkling-3.1PySparkling provides Python bindings to train…
permissive · top 15,000 on PyPI
sagemaker-feature-store-pyspark-3.1Connects Apache Spark DataFrames to Amazon…
permissive · top 15,000 on PyPI
narwhalsNarwhals provides a lightweight compatibility…
permissive · top 1,000 on PyPI
qpdQPD translates SQL SELECT statements into…
permissive · top 15,000 on PyPI
dataengineDataengine is a Python framework for…
unclear · top 15,000 on PyPI