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

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.0
File Size Uploaded
overture_spark-0.1.0.tar.gz 156.7 kB Details

Built distribution (wheel)

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

Total release size: 170.0 kB

Release files / overture_spark-0.1.0.tar.gz

Download URL overture_spark-0.1.0.tar.gz
Size 156.7 kB
Tags Source
SHA-256 checksum
How to use checksums
4fc1143837d0b28abd77ae657df3378f45c556b152db63b5fcb683ec1fd7ed76
BLAKE2b-256 checksum
How to use checksums
e728c574bb287821f1ee5c3610d913c257b17ad4e3ee4462dde25cbe592551c1
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 Sep 28, 2026.

Transparency log

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

Download URL overture_spark-0.1.0-py3-none-any.whl
Size 13.3 kB
Tags Python 3
SHA-256 checksum
How to use checksums
f90b50765a104e1a0a4bb5be4958bdb64401a935f5ff0ee009e707b4cf55f1c4
BLAKE2b-256 checksum
How to use checksums
fc4b4816a2331991a813f2dd90083ebbfc639282f47a186e31411411ee6e355e
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 Sep 28, 2026.

Transparency log

Release history Release notifications | RSS feed

0.1.4

2 release files

0.1.3

2 release files

0.1.2

2 release files

0.1.1

2 release files

This release

0.1.0 This release

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