This is an automated email from the ASF dual-hosted git repository.

zhongjiajie pushed a commit to branch 3.0.1-prepare
in repository https://gitbox.apache.org/repos/asf/dolphinscheduler.git

commit 9f0b2ca5505355680c22dffb8cb956992db8a7a1
Author: Jiajie Zhong <[email protected]>
AuthorDate: Thu Aug 11 23:39:44 2022 +0800

    [python] Add support interpreter version 310 and 311-dev (#11170)
    
    * Change version of package
    * Fix tox error
    * Change dev status to beta
    * py4j not work on py{10,11} OS Windows
    
    (cherry picked from commit 4d427ee215427c3793a2f779b2ca69353e995fcd)
---
 .github/workflows/py-ci.yml                        | 22 +++++++++++++-------
 .../pydolphinscheduler/README.md                   |  5 ++++-
 .../pydolphinscheduler/setup.py                    |  6 ++++--
 .../src/pydolphinscheduler/cli/commands.py         |  6 +++---
 .../pydolphinscheduler/tests/cli/test_version.py   | 24 ++++++++++++++--------
 dolphinscheduler-python/pydolphinscheduler/tox.ini |  2 +-
 6 files changed, 43 insertions(+), 22 deletions(-)

diff --git a/.github/workflows/py-ci.yml b/.github/workflows/py-ci.yml
index b0e042c4e7..6af2d0073e 100644
--- a/.github/workflows/py-ci.yml
+++ b/.github/workflows/py-ci.yml
@@ -61,7 +61,7 @@ jobs:
     steps:
       - uses: actions/checkout@v2
       - name: Set up Python 3.7
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: 3.7
       - name: Install Dependences
@@ -78,12 +78,20 @@ jobs:
     strategy:
       fail-fast: false
       matrix:
-        python-version: [3.6, 3.7, 3.8, 3.9]
-        os: [ubuntu-18.04, macOS-latest, windows-latest]
+        # YAML parse `3.10` to `3.1`, so we have to add quotes for `'3.10'`, 
see also:
+        # 
https://github.com/actions/setup-python/issues/160#issuecomment-724485470
+        python-version: [3.6, 3.7, 3.8, 3.9, '3.10', 3.11-dev]
+        os: [ubuntu-latest, macOS-latest, windows-latest]
+        # Skip because dependence [py4j](https://pypi.org/project/py4j/) not 
work on those environments
+        exclude:
+          - os: windows-latest
+            python-version: '3.10'
+          - os: windows-latest
+            python-version: 3.11-dev
     steps:
       - uses: actions/checkout@v2
       - name: Set up Python ${{ matrix.python-version }}
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: ${{ matrix.python-version }}
       - name: Install Dependences
@@ -104,7 +112,7 @@ jobs:
     steps:
       - uses: actions/checkout@v2
       - name: Set up Python 3.7
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: 3.7
       - name: Install Dependences
@@ -123,7 +131,7 @@ jobs:
     steps:
       - uses: actions/checkout@v2
       - name: Set up Python 3.7
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: 3.7
       - name: Install Dependences
@@ -161,7 +169,7 @@ jobs:
           -Pdocker,release -Ddocker.tag=ci \
           -pl dolphinscheduler-standalone-server -am
       - name: Set up Python 3.7
-        uses: actions/setup-python@v2
+        uses: actions/setup-python@v4
         with:
           python-version: 3.7
       - name: Install Dependences
diff --git a/dolphinscheduler-python/pydolphinscheduler/README.md 
b/dolphinscheduler-python/pydolphinscheduler/README.md
index a487d5afb8..71119bdb2a 100644
--- a/dolphinscheduler-python/pydolphinscheduler/README.md
+++ b/dolphinscheduler-python/pydolphinscheduler/README.md
@@ -45,6 +45,9 @@ pydolphinscheduler version
 # 0.1.0
 ```
 
+> NOTE: package apache-dolphinscheduler not work on above Python version 
3.10(including itself) in Window operating system
+> due to dependence [py4j](https://pypi.org/project/py4j/) not work on those 
environments.
+
 Here we show you how to install and run a simple example of pydolphinscheduler
 
 ### Start Server And Run Example
@@ -84,4 +87,4 @@ If you are interested in how to release 
**PyDolphinScheduler**, you could go and
 
 ## What's more
 
-For more detail information, please go to see **PyDolphinScheduler** 
[document](https://dolphinscheduler.apache.org/python/index.html)
+For more detail information, please go to see **PyDolphinScheduler** 
latest(unreleased) 
[document](https://dolphinscheduler.apache.org/python/dev/index.html)
diff --git a/dolphinscheduler-python/pydolphinscheduler/setup.py 
b/dolphinscheduler-python/pydolphinscheduler/setup.py
index 2e016b7c19..651dfba5b0 100644
--- a/dolphinscheduler-python/pydolphinscheduler/setup.py
+++ b/dolphinscheduler-python/pydolphinscheduler/setup.py
@@ -32,7 +32,7 @@ if sys.version_info[0] < 3:
 
 logger = logging.getLogger(__name__)
 
-version = "3.0.0"
+version = "dev"
 
 # Start package required
 prod = [
@@ -156,7 +156,7 @@ setup(
     platforms=["any"],
     classifiers=[
         # complete classifier list: 
http://pypi.python.org/pypi?%3Aaction=list_classifiers
-        "Development Status :: 3 - Alpha",
+        "Development Status :: 4 - Beta",
         "Environment :: Console",
         "Intended Audience :: Developers",
         "License :: OSI Approved :: Apache Software License",
@@ -169,6 +169,8 @@ setup(
         "Programming Language :: Python :: 3.7",
         "Programming Language :: Python :: 3.8",
         "Programming Language :: Python :: 3.9",
+        "Programming Language :: Python :: 3.10",
+        "Programming Language :: Python :: 3.11",
         "Programming Language :: Python :: Implementation :: CPython",
         "Programming Language :: Python :: Implementation :: PyPy",
         "Topic :: Software Development :: User Interfaces",
diff --git 
a/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/cli/commands.py
 
b/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/cli/commands.py
index e2ca86b573..f1d59dbbd7 100644
--- 
a/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/cli/commands.py
+++ 
b/dolphinscheduler-python/pydolphinscheduler/src/pydolphinscheduler/cli/commands.py
@@ -20,7 +20,7 @@
 import click
 from click import echo
 
-from pydolphinscheduler import __version__
+import pydolphinscheduler
 from pydolphinscheduler.core.configuration import (
     get_single_config,
     init_config_file,
@@ -48,9 +48,9 @@ def version(part: str) -> None:
     """Show current version of pydolphinscheduler."""
     if part:
         idx = version_option_val.index(part)
-        echo(f"{__version__.split('.')[idx]}")
+        echo(f"{pydolphinscheduler.__version__.split('.')[idx]}")
     else:
-        echo(f"{__version__}")
+        echo(f"{pydolphinscheduler.__version__}")
 
 
 @cli.command()
diff --git 
a/dolphinscheduler-python/pydolphinscheduler/tests/cli/test_version.py 
b/dolphinscheduler-python/pydolphinscheduler/tests/cli/test_version.py
index f0dcb0e063..b61d26da02 100644
--- a/dolphinscheduler-python/pydolphinscheduler/tests/cli/test_version.py
+++ b/dolphinscheduler-python/pydolphinscheduler/tests/cli/test_version.py
@@ -17,9 +17,11 @@
 
 """Test command line interface subcommand `version`."""
 
+from unittest.mock import patch
+
 import pytest
 
-from pydolphinscheduler import __version__
+import pydolphinscheduler
 from pydolphinscheduler.cli.commands import cli
 from tests.testing.cli import CliTestWrapper
 
@@ -27,21 +29,27 @@ from tests.testing.cli import CliTestWrapper
 def test_version():
     """Test whether subcommand `version` correct."""
     cli_test = CliTestWrapper(cli, ["version"])
-    cli_test.assert_success(output=f"{__version__}")
+    cli_test.assert_success(output=f"{pydolphinscheduler.__version__}")
 
 
 @pytest.mark.parametrize(
-    "part, idx",
+    "version, part, idx",
     [
-        ("major", 0),
-        ("minor", 1),
-        ("micro", 2),
+        ("1.2.3", "major", 0),
+        ("0.1.3", "minor", 1),
+        ("3.1.0", "micro", 2),
+        ("1.2.3-beta-1", "micro", 2),
+        ("1.2.3-alpha", "micro", 2),
+        ("1.2.3a2", "micro", 2),
+        ("1.2.3b1", "micro", 2),
     ],
 )
-def test_version_part(part: str, idx: int):
+@patch("pydolphinscheduler.__version__")
+def test_version_part(mock_version, version: str, part: str, idx: int):
     """Test subcommand `version` option `--part`."""
+    mock_version.return_value = version
     cli_test = CliTestWrapper(cli, ["version", "--part", part])
-    cli_test.assert_success(output=f"{__version__.split('.')[idx]}")
+    
cli_test.assert_success(output=f"{pydolphinscheduler.__version__.split('.')[idx]}")
 
 
 @pytest.mark.parametrize(
diff --git a/dolphinscheduler-python/pydolphinscheduler/tox.ini 
b/dolphinscheduler-python/pydolphinscheduler/tox.ini
index 186fe456d4..d90e8a3bcd 100644
--- a/dolphinscheduler-python/pydolphinscheduler/tox.ini
+++ b/dolphinscheduler-python/pydolphinscheduler/tox.ini
@@ -16,7 +16,7 @@
 # under the License.
 
 [tox]
-envlist = local-ci, auto-lint, lint, doc-build, doc-build-multi, code-test, 
integrate-test, local-integrate-test, py{36,37,38,39}
+envlist = local-ci, auto-lint, lint, doc-build, doc-build-multi, code-test, 
integrate-test, local-integrate-test, py{36,37,38,39,310,311}
 
 [testenv]
 allowlist_externals =

Reply via email to