Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
76 commits
Select commit Hold shift + click to select a range
7110c45
Remove deprecated functions exists and forall
nijanthanvijayakumar Jul 8, 2024
9e32cfa
Remove imported and unused Callable module to avoid ruff lint failure
nijanthanvijayakumar Jul 8, 2024
ebfe482
Merge branch 'MrPowers:main' into issue-49-remove-exists-forall
nijanthanvijayakumar Jul 8, 2024
a52b9b1
Remove the print_athena_create_table function
nijanthanvijayakumar Jul 10, 2024
7ef60e4
Merge branch 'MrPowers:main' into issue-49-remove-exists-forall
nijanthanvijayakumar Jul 10, 2024
eb1f794
Merge branch 'MrPowers:main' into feature/issue-199-remove-athena-func
nijanthanvijayakumar Jul 11, 2024
f07755a
Merge pull request #236 from nijanthanvijayakumar/feature/issue-199-r…
SemyonSinchenko Jul 11, 2024
b67fc98
Merge pull request #233 from nijanthanvijayakumar/issue-49-remove-exi…
SemyonSinchenko Jul 11, 2024
cee354e
Remove extension functions
nijanthanvijayakumar Jul 11, 2024
27526f1
Remove the extensions directory
nijanthanvijayakumar Jul 11, 2024
97c5ce5
Remove the functions that have been removed in previous commits
nijanthanvijayakumar Jul 11, 2024
78e6a20
Merge branch 'planning-1.0-release' into feature-issue-237-remove-ext…
nijanthanvijayakumar Jul 11, 2024
483b334
Restore SparkSession extension module & delete patching row 48
nijanthanvijayakumar Jul 11, 2024
d3d497a
Move the create_df function to dataframe_helpers
nijanthanvijayakumar Jul 14, 2024
aac6dce
Drop Spark-2 support and update dependencies
SemyonSinchenko Jul 14, 2024
af30f31
Update linting CI
SemyonSinchenko Jul 14, 2024
12f083a
Fix typo in CI
SemyonSinchenko Jul 14, 2024
b20cdb1
Fix failed tests
SemyonSinchenko Jul 14, 2024
e1b66c8
Merge pull request #239 from nijanthanvijayakumar/feature-issue-237-r…
SemyonSinchenko Jul 14, 2024
4004cae
Merge remote-tracking branch 'origin/planning-1.0-release' into 202-d…
SemyonSinchenko Jul 14, 2024
c92c381
Updates from review
SemyonSinchenko Jul 14, 2024
407f463
Merge pull request #242 from MrPowers/202-drop-pyspark2
SemyonSinchenko Jul 14, 2024
a4457ec
Create the first-version of files for Spark-Connect tests
nijanthanvijayakumar Jul 14, 2024
e1f0487
Address the fixtures issue in the test file
nijanthanvijayakumar Jul 15, 2024
c196228
Update the CI workflow to initiate the sparkconnect test on the 1.0
nijanthanvijayakumar Jul 15, 2024
1e4a439
Update the poetry & pyproject with the dependencies for Spark-Connect
nijanthanvijayakumar Jul 15, 2024
5cdc03b
Update the CI workflow to run Spark-Connect tests only for v3.4+
nijanthanvijayakumar Jul 15, 2024
37c271b
Update the script to check if Spark-Connect server is running or not
nijanthanvijayakumar Jul 15, 2024
b5f6749
Remove the spark-connect server run check
nijanthanvijayakumar Jul 15, 2024
6cdd1d2
Update workflows & pytest to choose the Sparksession instance based o…
nijanthanvijayakumar Jul 15, 2024
3ed7ee1
Add a TODO statement so that the spark-connect server check can be ad…
nijanthanvijayakumar Jul 15, 2024
8879d59
Remove the 1.0 planning branch for the CI file
nijanthanvijayakumar Jul 15, 2024
92ced5e
Attribute the original script that inspired this
nijanthanvijayakumar Jul 15, 2024
615db18
update column extension function names and desc in readme
Jul 12, 2024
1ed9375
Merge pull request #245 from fpgmaas/chore/UP007
SemyonSinchenko Jul 15, 2024
1d8a0de
Mark recently added deps as optional for Spark-Classic
nijanthanvijayakumar Jul 15, 2024
ad483d8
improve documentation of makefile
fpgmaas Jul 15, 2024
01813e5
fix
fpgmaas Jul 15, 2024
b44a025
Rename the spark-classic to connect & update makefile to install thes…
nijanthanvijayakumar Jul 15, 2024
e6d1c28
add acknowledgement
fpgmaas Jul 15, 2024
1710e6e
Merge pull request #249 from fpgmaas/makefile
SemyonSinchenko Jul 15, 2024
60b3f81
remove .python-version
fpgmaas Jul 15, 2024
5cf63f1
Resolve the incoming commit with the makefile and import changes from…
nijanthanvijayakumar Jul 15, 2024
2f2f1a8
Fix the linting issues in the linting CI workflow
nijanthanvijayakumar Jul 15, 2024
f393c20
Merge pull request #250 from fpgmaas/remove-python-version-file
SemyonSinchenko Jul 15, 2024
4b829b6
Update the files according to the review comments
nijanthanvijayakumar Jul 15, 2024
0da1804
Merge branch 'planning-1.0-release' into feature/issue-241-add-spark-…
nijanthanvijayakumar Jul 15, 2024
cfcb720
Merge pull request #244 from nijanthanvijayakumar/feature/issue-241-a…
SemyonSinchenko Jul 15, 2024
58157bf
apply hotfix
fpgmaas Jul 15, 2024
a5c80cf
Merge pull request #251 from fpgmaas/hotfix
SemyonSinchenko Jul 15, 2024
261f9f9
improve use of ruff
fpgmaas Jul 15, 2024
b98edc8
install pre-commit in cicd
fpgmaas Jul 15, 2024
a26b0b1
add lint.yaml bacl
fpgmaas Jul 15, 2024
fff74c4
run lint also on pr
fpgmaas Jul 15, 2024
f96940a
relax pre-commit version
fpgmaas Jul 15, 2024
0d47136
Merge pull request #248 from fpgmaas/improve-ruff
SemyonSinchenko Jul 15, 2024
33eefc9
Update the CONTRIBUTING.md file to add details regarding pre-commit &…
nijanthanvijayakumar Jul 16, 2024
b917388
Remove the test_spark_connect as it is not required separately
nijanthanvijayakumar Jul 17, 2024
d56c1c5
Fix the failing tests for the dataframe_helpers
nijanthanvijayakumar Jul 19, 2024
d12ab07
Update the CI YAML file for running the Spark-Connect tests
nijanthanvijayakumar Aug 4, 2024
55bc170
Update the failing functions & test-cases to throw exceptions for Spa…
nijanthanvijayakumar Aug 5, 2024
598bc34
Update the test cases to skip the sort_columns execution if SC < 3.5.2
nijanthanvijayakumar Aug 5, 2024
b0c35a6
Update the test case wrapper to check SparkConnect compatibility
nijanthanvijayakumar Aug 5, 2024
936409c
Wrap the describe_sort_columns with check sc compatibility decorator
nijanthanvijayakumar Aug 6, 2024
bcd9e9c
Use the spark connect compatibility decorator only on the child-tests
nijanthanvijayakumar Aug 6, 2024
86ed8a0
Remove the feature/* branch from the workflow trigger
nijanthanvijayakumar Aug 6, 2024
0c6422a
Include the doc-string for the Spark-Connect wrapper function
nijanthanvijayakumar Aug 6, 2024
4bac2c9
Fix the linting errors by introducing custom exception
nijanthanvijayakumar Aug 6, 2024
c0b300e
Update the Spark-Connect test cases to use the decorator function
nijanthanvijayakumar Aug 9, 2024
93e35ff
Remove the unnecessary doc-string comment from new Exception
nijanthanvijayakumar Aug 9, 2024
c35299b
Update the gitignore file to exclude Spark-Connected binaries downloaded
nijanthanvijayakumar Aug 9, 2024
8bf53b5
Exclude the Spark archive as well from the Git files
nijanthanvijayakumar Aug 9, 2024
86c5f18
Merge pull request #256 from nijanthanvijayakumar/feature/issue-241-i…
SemyonSinchenko Aug 10, 2024
deb156e
Remove linting from Makefile
kunaljubce Sep 7, 2024
caed478
Merge pull request #259 from kunaljubce/kunaljubce/remove-linting-fro…
SemyonSinchenko Sep 7, 2024
75498ad
Create the automated release process using googleapis/release-please …
nijanthanvijayakumar Feb 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
53 changes: 22 additions & 31 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,7 @@ on:
pull_request:
branches:
- main
- planning-1.0-release
workflow_dispatch:

jobs:
Expand All @@ -17,18 +18,12 @@ jobs:
fail-fast: false
matrix:
include:
- pyspark-version: 2.4.8 # latest published 2.x version
pip-packages: "pypandoc==1.7 pyspark==2.4.8" # downgrade of pypandoc necessary
- pyspark-version: 3.0.3
pip-packages: "pyspark==3.0.3"
- pyspark-version: 3.1.3
pip-packages: "pyspark==3.1.3"
- pyspark-version: 3.2.4
pip-packages: "pyspark==3.2.4"
- pyspark-version: 3.3.2
pip-packages: "pyspark==3.3.2"
- pyspark-version: 3.4.0
pip-packages: "pyspark==3.4.0"
- pyspark-version: 3.3.4
pip-packages: "pyspark==3.3.4"
- pyspark-version: 3.4.3
pip-packages: "pyspark==3.4.3"
- pyspark-version: 3.5.1
pip-packages: "pyspark==3.5.1"

steps:
- uses: actions/checkout@v1
Expand All @@ -39,33 +34,17 @@ jobs:
uses: actions/setup-java@v3
with:
distribution: 'zulu'
java-version: '8' # Supported by Spark 2.x & 3.x

- name: Get supported Python Version depending on PySpark
uses: haya14busa/action-cond@v1
id: python_version
with:
cond: ${{ startsWith(matrix.pyspark-version, '2.') }}
if_true: '3.7' # latest supported version for PySpark 2.x
if_false: '3.9' # PySpark 3+
java-version: '17' # Spark 4.0 will drop Java 11;

- name: Set up Python ${{ steps.python_version.outputs.value }}
uses: actions/setup-python@v2
with:
python-version: ${{ steps.python_version.outputs.value }}

- name: Get supported Poetry version
uses: haya14busa/action-cond@v1
id: poetry_version
with:
cond: ${{ startsWith(matrix.pyspark-version, '2.') }}
if_true: '1.5.1' # latest supported version for PySpark 2.x
if_false: '1.6.1' # PySpark 3+
python-version: '3.10'

- name: Install Poetry
uses: snok/install-poetry@v1
with:
version: ${{ steps.poetry_version.outputs.value }}
version: '1.6.1'

- name: Cache Poetry virtualenv
uses: actions/cache@v1
Expand All @@ -88,6 +67,18 @@ jobs:
- name: Run tests with pytest against PySpark ${{ matrix.pyspark-version }}
run: make test

- name: Run tests using Spark-Connect against PySpark ${{ matrix.pyspark-version }}
env:
SPARK_VERSION: ${{ matrix.pyspark-version }}
SPARK_CONNECT_MODE_ENABLED: 1
run: |
if [[ "${SPARK_VERSION}" > "3.4" ]]; then
sh scripts/run_spark_connect_server.sh
make test
else
echo "Skipping Spark-Connect tests for Spark version ${SPARK_VERSION}, which is <= 3.4"
fi

check-license-headers:
runs-on: ubuntu-latest
steps:
Expand Down
24 changes: 17 additions & 7 deletions .github/workflows/lint.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,26 @@
name: Lint

on: push
on:
push:
branches:
- main
pull_request:
branches:
- main
- planning-1.0-release
workflow_dispatch:

jobs:
ruff:
precommit:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-python@v4
with:
python-version: 3.9
- name: Run Ruff
uses: chartboost/ruff-action@v1
with:
version: 0.0.291
python-version: '3.10'

- name: Run pre-commit hooks
run: |
pip install pre-commit
pre-commit install
pre-commit run -a
57 changes: 57 additions & 0 deletions .github/workflows/release-please.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,57 @@
on:
push:
branches:
- main

permissions:
contents: write
pull-requests: write

name: release-please

jobs:
release-please:
runs-on: ubuntu-latest
steps:
- uses: googleapis/release-please-action@v4
with:
config-file: release-please-config.json
manifest-file: .release-please-manifest.json

# Following GH step is created based on the following article and the credits to the same
# https://johnfraney.ca/blog/how-to-publish-a-python-package-with-poetry-and-github-actions/
publish-to-pypi:
needs: release-please
runs-on: ubuntu-latest
environment:
name: pypi
url: https://pypi.org/project/quinn/
permissions:
id-token: write
steps:
- name: Checkout code
uses: actions/checkout@v4

- name: Set up Python
uses: actions/setup-python@v5
with:
python-version: ">=3.9,<4.0"

- name: Install Poetry
run: |
curl -sSL https://install.python-poetry.org | python - -y

- name: Update PATH
run: echo "$HOME/.local/bin" >> $GITHUB_PATH

- name: Update Poetry configuration
run: poetry config virtualenvs.create false

- name: Install dependencies
run: poetry install --sync --no-interaction

- name: Package project
run: poetry build

- name: Publish package distributions to PyPI
uses: pypa/gh-action-pypi-publish@release/v1
6 changes: 5 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -38,4 +38,8 @@ site
# Benchmarking
*.crc
*.parquet
_SUCCESS
_SUCCESS

# Spark-Connect related files/binaries
spark-*-bin-hadoop3/**
spark-*-bin-hadoop3.tgz
15 changes: 3 additions & 12 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
@@ -1,16 +1,7 @@
repos:
- repo: https://github.com/charliermarsh/ruff-pre-commit
# Ruff version.
rev: 'v0.0.291'
rev: 'v0.5.2'
hooks:
- id: ruff
- repo: local
hooks:
- id: pytest
name: pytest-check
entry: poetry run pytest
language: system
pass_filenames: false
# Runs only on python files
types: [ python ]
always_run: true
args: [--exit-non-zero-on-fix]
- id: ruff-format
1 change: 0 additions & 1 deletion .python-version

This file was deleted.

3 changes: 3 additions & 0 deletions .release-please-manifest.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
{
".": "0.10.3"
}
Loading