overture-spark
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(injob.py) — cluster-side base class for jobs: platform detection, parameter parsing, logging, and the SedonaSparkSessionlifecycle. Subclass it and implementexecute_job().test_area— helpers for a job's optionaltest_areaparam (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)
| File | Size | Uploaded | |
|---|---|---|---|
| overture_spark-0.1.0.tar.gz | 156.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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 logRelease 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