Skip to content

Commit 18cd1c0

Browse files
authored
SNOW-2003372: remove python 3.8 (#3189)
1 parent f4fc9bd commit 18cd1c0

File tree

15 files changed

+34
-58
lines changed

15 files changed

+34
-58
lines changed

.github/workflows/daily_precommit.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -98,7 +98,7 @@ jobs:
9898
download_name: macos
9999
- image_name: windows-latest-64-cores
100100
download_name: windows
101-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
101+
python-version: ["3.9", "3.10", "3.11", "3.12"]
102102
cloud-provider: [aws, azure, gcp]
103103
steps:
104104
- name: Checkout Code
@@ -167,7 +167,7 @@ jobs:
167167
.tox/coverage.xml
168168
169169
test-fips:
170-
name: Test FIPS py-linux-3.8-${{ matrix.cloud-provider }}
170+
name: Test FIPS py-linux-3.9-${{ matrix.cloud-provider }}
171171
needs: build
172172
runs-on: ubuntu-latest-64-cores
173173
strategy:
@@ -194,15 +194,15 @@ jobs:
194194
- name: Run tests
195195
run: ./ci/test_fips_docker.sh
196196
env:
197-
PYTHON_VERSION: 3.8
197+
PYTHON_VERSION: 3.9
198198
cloud_provider: ${{ matrix.cloud-provider }}
199199
PYTEST_ADDOPTS: --color=yes --tb=short
200200
TOX_PARALLEL_NO_SPINNER: 1
201201
shell: bash
202202
- uses: actions/upload-artifact@v4
203203
with:
204204
include-hidden-files: true
205-
name: coverage_linux-fips-3.8-${{ matrix.cloud-provider }}
205+
name: coverage_linux-fips-3.9-${{ matrix.cloud-provider }}
206206
path: |
207207
.coverage
208208
coverage.xml
@@ -217,7 +217,7 @@ jobs:
217217
os:
218218
- image_name: macos-latest
219219
download_name: macos # it includes doctest
220-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
220+
python-version: ["3.9", "3.10", "3.11", "3.12"]
221221
cloud-provider: [aws]
222222
steps:
223223
- name: Checkout Code
@@ -289,7 +289,7 @@ jobs:
289289
os:
290290
- image_name: macos-latest
291291
download_name: macos
292-
python-version: ["3.8"]
292+
python-version: ["3.9"]
293293
cloud-provider: [aws]
294294
steps:
295295
- name: Checkout Code
@@ -352,7 +352,7 @@ jobs:
352352
fail-fast: false
353353
matrix:
354354
os: [macos-latest, windows-latest, ubuntu-latest]
355-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
355+
python-version: ["3.9", "3.10", "3.11", "3.12"]
356356
cloud-provider: [aws]
357357
steps:
358358
- name: Checkout Code
@@ -482,7 +482,7 @@ jobs:
482482
os:
483483
- image_name: macos-latest
484484
download_name: macos # it includes doctest
485-
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"]
485+
python-version: ["3.9", "3.10", "3.11", "3.12"]
486486
cloud-provider: [aws]
487487
steps:
488488
- name: Checkout Code

.github/workflows/precommit.yml

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -230,12 +230,12 @@ jobs:
230230
fail-fast: false
231231
matrix:
232232
os: [macos-latest, windows-latest, ubuntu-latest]
233-
python-version: [ "3.8", "3.9", "3.10", "3.11", "3.12" ]
233+
python-version: ["3.9", "3.10", "3.11", "3.12" ]
234234
cloud-provider: [aws]
235235
exclude:
236236
# only run each version on one os
237237
# daily-precommit does full matrix
238-
# macos runs 3.8 and 3.9
238+
# macos runs 3.10
239239
- os: macos-latest
240240
python-version: "3.12"
241241
- os: macos-latest
@@ -247,17 +247,13 @@ jobs:
247247
python-version: "3.12"
248248
- os: windows-latest
249249
python-version: "3.10"
250-
- os: windows-latest
251-
python-version: "3.8"
252250
# ubuntu runs 3.12
253251
- os: ubuntu-latest
254252
python-version: "3.11"
255253
- os: ubuntu-latest
256254
python-version: "3.10"
257255
- os: ubuntu-latest
258256
python-version: "3.9"
259-
- os: ubuntu-latest
260-
python-version: "3.8"
261257
steps:
262258
- name: Checkout Code
263259
uses: actions/checkout@v4
@@ -315,6 +311,7 @@ jobs:
315311
.tox/coverage.xml
316312
317313
test-ast-encoding:
314+
if: false # SNOW-2005312: re-enable after addressing SNOW-1763185
318315
name: Test AST Encoding py-${{ matrix.os }}-${{ matrix.python-version }}
319316
needs: build
320317
runs-on: ${{ matrix.os }}
@@ -324,7 +321,7 @@ jobs:
324321
os: [macos-latest, windows-latest, ubuntu-latest]
325322
# TODO SNOW-1763185 use py39 by default
326323
# Protobuf encoding differs per python version, use 3.8 by default.
327-
python-version: [ "3.8"]
324+
python-version: [ "3.8" ]
328325
cloud-provider: [aws]
329326
protobuf-version: ["3.20.1"]
330327
steps:

CHANGELOG.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,13 @@
11
# Release History
22

3+
## 1.31.0 (YYYY-MM-DD)
4+
5+
### Snowpark Python API Updates
6+
7+
#### Deprecations
8+
9+
- Deprecated support for Python3.8.
10+
311
## 1.30.0 (2024-03-27)
412

513
### Snowpark Python API Updates

CONTRIBUTING.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ cd snowpark-python
3434
#### Install the library in edit mode and install its dependencies
3535

3636
- Create a new Python virtual environment with any Python version that we support.
37-
- The Snowpark Python API supports **Python 3.8, Python 3.9, Python 3.10, and Python 3.11**.
37+
- The Snowpark Python API supports **Python 3.9, Python 3.10, Python 3.11 and Python 3.12**.
3838
- The Snowpark pandas API supports **Python 3.9, Python 3.10, and Python 3.11**. Additionally, Snowpark pandas requires **Modin 0.30.1** and **pandas 2.2.x**.
3939

4040
```bash

README.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,7 +18,7 @@ If you don't have a Snowflake account yet, you can [sign up for a 30-day free tr
1818

1919
### Create a Python virtual environment
2020
You can use [miniconda][miniconda], [anaconda][anaconda], or [virtualenv][virtualenv]
21-
to create a Python 3.8, 3.9, 3.10 or 3.11 virtual environment.
21+
to create a Python 3.9, 3.10, 3.11 or 3.12 virtual environment.
2222

2323
For Snowpark pandas, only Python 3.9, 3.10, or 3.11 is supported.
2424

ci/docker/snowpark_test_fips/Dockerfile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ RUN sed -i s/mirror.centos.org/vault.centos.org/g /etc/yum.repos.d/*.repo && \
1919
RUN yum clean all && \
2020
yum groupinstall -y "Development Tools" && \
2121
yum install -y redhat-rpm-config gcc libffi-devel wget && \
22-
yum install -y perl-IPC-Cmd perl-Digest-SHA perl-Test-Simple perl-Pod-Html python38 python38-devel && \
22+
yum install -y perl-IPC-Cmd perl-Digest-SHA perl-Test-Simple perl-Pod-Html python39 python39-devel && \
2323
yum clean all && \
2424
rm -rf /var/cache/yum
2525

ci/test_fips.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ THIS_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
88
SNOWPARK_DIR="$( dirname "${THIS_DIR}")"
99
SNOWPARK_WHL="$(ls $SNOWPARK_DIR/dist/*.whl | sort -r | head -n 1)"
1010

11-
python3.8 -m venv fips_env
11+
python3.9 -m venv fips_env
1212
source fips_env/bin/activate
1313
export PATH=/usr/local/bin:$PATH
1414
export LD_LIBRARY_PATH=/usr/local/lib64/:/usr/local/lib/:$LD_LIBRARY_PATH

scripts/jenkins_regress.sh

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,5 +20,5 @@ gpg --quiet --batch --yes --decrypt --passphrase="$GPG_KEY" --output "tests/para
2020
# Install protoc
2121
pip install protoc-wheel-0==21.1 mypy-protobuf
2222

23-
# Run linter, Python 3.8 test and code coverage jobs
23+
# Run linter, Python test and code coverage jobs
2424
exit_code_decorator "python -m tox -c $WORKING_DIR" -e notdoctest

scripts/tox_install_cmd.sh

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ echo "${pip_options[*]}"
1515

1616
# Default to empty, to ensure snowflake_path variable is defined.
1717
snowflake_path=${snowflake_path:-""}
18+
python_version=$(python -c 'import sys; print(f"cp{sys.version_info.major}{sys.version_info.minor}")')
1819

1920
if [[ -z "${snowflake_path}" ]]; then
2021
echo "Using Python Connector from PyPI"
@@ -23,6 +24,6 @@ else
2324
echo "Installing locally built Python Connector"
2425
echo "Python Connector path: ${snowflake_path}"
2526
ls -al ${snowflake_path}
26-
python -m pip install ${snowflake_path}/snowflake_connector_python*cp38*.whl
27+
python -m pip install ${snowflake_path}/snowflake_connector_python*${python_version}*.whl
2728
python -m pip install -U ${pip_options[@]}
2829
fi

setup.py

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,10 @@
3030
"python-dateutil", # Snowpark IR
3131
"tzlocal", # Snowpark IR
3232
]
33-
REQUIRED_PYTHON_VERSION = ">=3.8, <3.13"
33+
REQUIRED_PYTHON_VERSION = ">=3.9, <3.13"
3434

3535
if os.getenv("SNOWFLAKE_IS_PYTHON_RUNTIME_TEST", False):
36-
REQUIRED_PYTHON_VERSION = ">=3.8"
36+
REQUIRED_PYTHON_VERSION = ">=3.9"
3737

3838
PANDAS_REQUIREMENTS = [
3939
f"snowflake-connector-python[pandas]{CONNECTOR_DEPENDENCY_VERSION}",
@@ -232,7 +232,6 @@ def run(self):
232232
"Operating System :: OS Independent",
233233
"Programming Language :: SQL",
234234
"Programming Language :: Python :: 3 :: Only",
235-
"Programming Language :: Python :: 3.8",
236235
"Programming Language :: Python :: 3.9",
237236
"Programming Language :: Python :: 3.10",
238237
"Programming Language :: Python :: 3.11",

0 commit comments

Comments
 (0)