This is an automated email from the ASF dual-hosted git repository.
jshao pushed a commit to branch branch-1.0
in repository https://gitbox.apache.org/repos/asf/gravitino.git
The following commit(s) were added to refs/heads/branch-1.0 by this push:
new cdb1f39046 [#7491] improve(client-python): Drop the support of Python
3.8 (#8422)
cdb1f39046 is described below
commit cdb1f39046809dc0396b7df21071cf27ee575ce8
Author: github-actions[bot]
<41898282+github-actions[bot]@users.noreply.github.com>
AuthorDate: Thu Sep 4 14:16:12 2025 +0800
[#7491] improve(client-python): Drop the support of Python 3.8 (#8422)
### What changes were proposed in this pull request?
Python 3.8 has been EOL in 2024, lots of Python libraries already moved
to 3.9+. So as a major release, I'm going to drop the support of Python
3.8 and increase the minimum support version to 3.9+.
### Why are the changes needed?
Fix: #7491
### Does this PR introduce _any_ user-facing change?
Yes, bumping the supported version to 3.9+ will break the existing 3.8
users.
### How was this patch tested?
Existing UTs.
Co-authored-by: Jerry Shao <[email protected]>
---
.github/workflows/python-integration-test.yml | 2 +-
clients/client-python/requirements-dev.txt | 6 +-----
clients/client-python/setup.py | 3 +--
docs/how-to-use-python-client.md | 9 +++------
gradle.properties | 2 +-
5 files changed, 7 insertions(+), 15 deletions(-)
diff --git a/.github/workflows/python-integration-test.yml
b/.github/workflows/python-integration-test.yml
index fe89449203..f6a2cff7a5 100644
--- a/.github/workflows/python-integration-test.yml
+++ b/.github/workflows/python-integration-test.yml
@@ -73,7 +73,7 @@ jobs:
run: |
./gradlew compileDistribution -x test -PjdkVersion=${{
matrix.java-version }}
- for pythonVersion in "3.8" "3.9" "3.10" "3.11" "3.12"
+ for pythonVersion in "3.9" "3.10" "3.11" "3.12"
do
echo "Use Python version ${pythonVersion} to test the Python
client."
./gradlew -PjdkVersion=${{ matrix.java-version }}
-PpythonVersion=${pythonVersion} -PskipDockerTests=false
:clients:client-python:test
diff --git a/clients/client-python/requirements-dev.txt
b/clients/client-python/requirements-dev.txt
index 1110222158..5c795bbbd0 100644
--- a/clients/client-python/requirements-dev.txt
+++ b/clients/client-python/requirements-dev.txt
@@ -21,11 +21,7 @@ pylint==3.2.2
black==24.4.2
twine==5.1.1
coverage==7.5.1
-# pandas 2.0.3 is the last version that supports Python 3.8,
-# use it if you need to run tests on Python 3.8;
-# otherwise, use the version that also supports Python 3.12.
-pandas==2.0.3 ; python_version == '3.8'
-pandas==2.2.3 ; python_version > '3.8'
+pandas==2.2.3
pyarrow==15.0.2
llama-index==0.11.18
tenacity==8.3.0
diff --git a/clients/client-python/setup.py b/clients/client-python/setup.py
index 5ccb319e4d..912186970e 100644
--- a/clients/client-python/setup.py
+++ b/clients/client-python/setup.py
@@ -36,7 +36,7 @@ setup(
maintainer_email="[email protected]",
license="Apache-2.0",
url="https://github.com/apache/gravitino",
- python_requires=">=3.8",
+ python_requires=">=3.9",
keywords="Data, AI, metadata, catalog",
packages=find_packages(exclude=["tests*", "scripts*"]),
project_urls={
@@ -49,7 +49,6 @@ setup(
classifiers=[
"License :: OSI Approved :: Apache Software License",
"Operating System :: OS Independent",
- "Programming Language :: Python :: 3.8",
"Programming Language :: Python :: 3.9",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
diff --git a/docs/how-to-use-python-client.md b/docs/how-to-use-python-client.md
index 224679508d..b5d760c0b8 100644
--- a/docs/how-to-use-python-client.md
+++ b/docs/how-to-use-python-client.md
@@ -69,7 +69,7 @@ You can ues any IDE to develop Gravitino Python Client.
Directly open the client
### Prerequisites
-+ Python 3.8+
++ Python 3.9+
+ Refer to [How to build Gravitino](./how-to-build.md#prerequisites) to have
necessary build
environment ready for building.
@@ -84,15 +84,12 @@ You can ues any IDE to develop Gravitino Python Client.
Directly open the client
2. Build the Gravitino Python client module
```shell
- # Default Python version is 3.8
+ # Default Python version is 3.9
./gradlew :clients:client-python:build
# If you want to build Python client with specific Python version,
# add `-PpythonVersion` with version number:
./gradlew :clients:client-python:build -PpythonVersion=3.10
```
- Some computer may encounter this error: `fatal error: 'cstdlib' file not
found` while setting up Python,
- this might because default Python version (3.8) is too
- old, use version 3.9 or newer version instead.
3. Run unit tests
@@ -149,7 +146,7 @@ SDK, you need to:
find $(pwd)/.gradle/python/*/Miniforge3/envs/*/bin/python
# example output
-
/Users/YOUR_USER_NAME/gravitino/.gradle/python/MacOSX/Miniforge3/envs/python-3.8/bin/python
+
/Users/YOUR_USER_NAME/gravitino/.gradle/python/MacOSX/Miniforge3/envs/python-3.9/bin/python
```
6. Follow steps in [Create a conda
environment](https://www.jetbrains.com/help/idea/configuring-python-sdk.html#gdizlj_44),
diff --git a/gradle.properties b/gradle.properties
index 8a857ef685..1cf427b666 100644
--- a/gradle.properties
+++ b/gradle.properties
@@ -33,7 +33,7 @@ SONATYPE_PASSWORD = password
defaultScalaVersion = 2.12
# pythonVersion is used to specify the version of Python to build and test
Gravitino python client.
-pythonVersion = 3.8
+pythonVersion = 3.9
# skipDockerTests is used to skip the tests that require Docker to be running.
skipDockerTests = true