Skip to main content

overture-spark

PyPI Python versions

Portable, framework-agnostic runtime helpers for Overture's Spark jobs. Moved from tf-data-platform's overture_spark module (see ops-team#535, ops-team#536); other overture_spark modules follow in later PRs (see ops-team#532).

It contains:

  • SparkSedonaJob (in job.py) — cluster-side base class for jobs: platform detection, parameter parsing, logging, and the Sedona SparkSession lifecycle. Subclass it and implement execute_job().
  • test_area — helpers for a job's optional test_area param (a bbox or WKT polygon that scopes a dev/test run to a small region instead of the full planet).

Writing a job

from overture_spark.job import SparkSedonaJob


class CollectionJob(SparkSedonaJob):
    def execute_job(self) -> None:
        path = self.get_param("input_path")
        self.log(f"Processing {path}")
        df = self.apply_test_area_filter(self.spark.read.parquet(path))
        # ... your logic

getSparkSedonaSession (in overture_spark/__init__.py) is the one call in this package that actually needs a real Spark/Sedona session — it, and everything downstream of it, imports pyspark/apache-sedona lazily and only there. Platform detection, version/JAR helpers, and SparkSedonaJob's parameter/logging logic are plain Python and importable without either installed.

Testing locally

cd packages/overture_spark
uv sync --extra dev
uv run pytest -v -m "not spark"

Tests marked @pytest.mark.spark need a real Spark/Sedona session (a JVM, plus Sedona's native JAR resolution), so they're excluded from the routine pytest run above and from overture-spark[dev]. Install the sql-spark extra to run them:

uv sync --extra dev --extra sql-spark
uv run pytest -v --cov --cov-fail-under=95

CI mirrors this split: the routine Test Python workflow runs pytest -m "not spark" for this package (no coverage gate, since the Spark-only code paths aren't exercised), and the SQL Engines workflow's spark (overture_spark) job installs the sql-spark extra and Java, then runs the full suite with the 95% coverage floor.

Publishing

See PACKAGE_VERSIONING.md for how a version bump here turns into a PyPI release.

Metadata

Release files for overture-spark 0.1.3

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for overture-spark 0.1.3
File Size Uploaded
overture_spark-0.1.3.tar.gz 163.4 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for overture-spark 0.1.3
File Interpreter ABI Platform
overture_spark-0.1.3-py3-none-any.whl Python 3 none any Details

Total release size: 177.1 kB

Release files / overture_spark-0.1.3.tar.gz

Download URL overture_spark-0.1.3.tar.gz
Size 163.4 kB
Tags Source
SHA-256 checksum
How to use checksums
4e7f26a825af9e965cd17f46acf5c74ff236433fdb2210c9a256510e7b0ab6db
BLAKE2b-256 checksum
How to use checksums
d8ff9aa99ebc80f94d66c199a8079ea06e0d410a4d2a74d1ff6fa725dac87609
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release files / overture_spark-0.1.3-py3-none-any.whl

Download URL overture_spark-0.1.3-py3-none-any.whl
Size 13.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3890763a822c2400689bad7eb3e177a3a4bca5ea06dc54eb0370814cf8e49832
BLAKE2b-256 checksum
How to use checksums
7388931a2effa0d3884c67c7071f8c48bc566bde014f21a3708769b859d8b332
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Oct 5, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.4

2 release files

This release

0.1.3 This release

2 release files

0.1.2

2 release files

0.1.1

2 release files

0.1.0

2 release files

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