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

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.6
File Size Uploaded Provenance
overture_spark-0.1.6.tar.gz 168.2 kB With provenance Details

Built distribution (wheel)

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

Total release size: 181.8 kB

Release files / overture_spark-0.1.6.tar.gz

Download URL overture_spark-0.1.6.tar.gz
Size 168.2 kB
Tags Source
SHA-256 checksum
How to use checksums
108007d0776c6da1a47c6ec289df05b97878bb42e1e71c57f2cc53682df1d5d6
BLAKE2b-256 checksum
How to use checksums
6d7105c5ce1bfa53600525960c43b689a3cbdea447974cd076cb43e02b58b9dc
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

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

Download URL overture_spark-0.1.6-py3-none-any.whl
Size 13.7 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3122dc6a64b859d2ddd5c8fd2a1d2fcec8e963e5a6bfe3e3a64023956b4c67b6
BLAKE2b-256 checksum
How to use checksums
8e0d28930db07c1bd88269910d6e504d1b029d424c87a73762adb2dc60fc0e10
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 22, 2026.

Transparency log

Security for overture-spark 0.1.6

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.

Full provenance

All 2 files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for overture_spark-0.1.6.tar.gz

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 22, 2026.

Transparency log

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.

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