From 03d399ee117a5047a0759017a674c3ad52b5c627 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Sun, 12 Jan 2025 17:18:44 +0800 Subject: [PATCH 01/11] Release v4.1.0 --- setup.cfg | 2 +- src/pydolphinscheduler/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index e76e8ea4..df3652c7 100644 --- a/setup.cfg +++ b/setup.cfg @@ -111,7 +111,7 @@ doc = # Unreleased package have a feature we want(use correct version package for API ref), so we install from # GitHub directly, see also: # https://github.com/Holzhaus/sphinx-multiversion/issues/42#issuecomment-1210539786 - sphinx-multiversion @ git+https://github.com/Holzhaus/sphinx-multiversion#egg=sphinx-multiversion +# sphinx-multiversion @ git+https://github.com/Holzhaus/sphinx-multiversion#egg=sphinx-multiversion sphinx-github-changelog dev = # build diff --git a/src/pydolphinscheduler/__init__.py b/src/pydolphinscheduler/__init__.py index cf0fe9fd..a666c70e 100644 --- a/src/pydolphinscheduler/__init__.py +++ b/src/pydolphinscheduler/__init__.py @@ -17,4 +17,4 @@ """Init root of pydolphinscheduler.""" -__version__ = "4.1.0-dev" +__version__ = "4.1.0" From 0974eb80843cdddc95a739b2d31e4935942f4767 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 11:59:07 +0800 Subject: [PATCH 02/11] lint: bump ruff to latest version change according to latest ruff rules --- setup.py | 1 + src/pydolphinscheduler/configuration.py | 1 + src/pydolphinscheduler/examples/task_dependent_example.py | 1 + src/pydolphinscheduler/examples/task_sagemaker_example.py | 1 + src/pydolphinscheduler/examples/task_sql_example.py | 1 + .../examples/task_sub_workflow_example.py | 1 - .../examples/tutorial_resource_plugin.py | 1 + src/pydolphinscheduler/java_gateway.py | 1 + src/pydolphinscheduler/models/datasource.py | 1 + src/pydolphinscheduler/models/meta.py | 1 + src/pydolphinscheduler/resources_plugin/__init__.py | 1 + src/pydolphinscheduler/resources_plugin/github.py | 1 + src/pydolphinscheduler/resources_plugin/gitlab.py | 1 + src/pydolphinscheduler/resources_plugin/oss.py | 1 + src/pydolphinscheduler/tasks/dependent.py | 1 + src/pydolphinscheduler/tasks/dvc.py | 1 + src/pydolphinscheduler/tasks/kubernetes.py | 1 + src/pydolphinscheduler/tasks/mlflow.py | 1 + src/pydolphinscheduler/tasks/pytorch.py | 1 + src/pydolphinscheduler/tasks/sql.py | 1 + src/pydolphinscheduler/tasks/switch.py | 1 + src/pydolphinscheduler/utils/yaml_parser.py | 1 + tests/core/test_engine.py | 1 - tests/core/test_local_parameter.py | 1 - tests/core/test_resource_definition.py | 1 + tests/core/test_task.py | 1 + tests/core/test_workflow.py | 1 + tests/integration/test_java_gateway.py | 1 + tests/integration/test_process_definition.py | 1 + tests/integration/test_project.py | 1 + tests/integration/test_tenant.py | 1 + tests/models/test_database.py | 1 + tests/resources_plugin/test_github.py | 1 + tests/resources_plugin/test_gitlab.py | 1 + tests/resources_plugin/test_local.py | 1 + tests/resources_plugin/test_oss.py | 1 + tests/resources_plugin/test_s3.py | 1 + tests/tasks/test_condition.py | 1 + tests/tasks/test_datax.py | 1 + tests/tasks/test_dependent.py | 1 + tests/tasks/test_dvc.py | 1 + tests/tasks/test_mlflow.py | 1 + tests/tasks/test_openmldb.py | 1 + tests/tasks/test_python.py | 1 + tests/tasks/test_pytorch.py | 1 + tests/tasks/test_sagemaker.py | 1 + tests/tasks/test_sql.py | 1 + tests/tasks/test_sub_workflow.py | 1 + tests/tasks/test_switch.py | 1 + tests/testing/cli.py | 1 - tests/testing/docker_wrapper.py | 1 + tests/testing/file.py | 1 + tests/testing/path.py | 1 + tests/utils/test_date.py | 1 + tests/utils/test_yaml_parser.py | 7 +++---- 55 files changed, 53 insertions(+), 8 deletions(-) diff --git a/setup.py b/setup.py index dcc83dbc..d6875674 100644 --- a/setup.py +++ b/setup.py @@ -16,6 +16,7 @@ # under the License. """The script for setting up pydolphinscheduler.""" + from __future__ import annotations import logging diff --git a/src/pydolphinscheduler/configuration.py b/src/pydolphinscheduler/configuration.py index 2a734467..e7a28423 100644 --- a/src/pydolphinscheduler/configuration.py +++ b/src/pydolphinscheduler/configuration.py @@ -16,6 +16,7 @@ # under the License. """Configuration module for pydolphinscheduler.""" + import logging import os from pathlib import Path diff --git a/src/pydolphinscheduler/examples/task_dependent_example.py b/src/pydolphinscheduler/examples/task_dependent_example.py index a09aaf1c..bf43ca56 100644 --- a/src/pydolphinscheduler/examples/task_dependent_example.py +++ b/src/pydolphinscheduler/examples/task_dependent_example.py @@ -35,6 +35,7 @@ task_dependent(this task dependent on task_dependent_external.task_1 and task_dependent_external.task_2). """ + from pydolphinscheduler import configuration from pydolphinscheduler.core.workflow import Workflow from pydolphinscheduler.tasks.dependent import And, Dependent, DependentItem, Or diff --git a/src/pydolphinscheduler/examples/task_sagemaker_example.py b/src/pydolphinscheduler/examples/task_sagemaker_example.py index 6024823a..1ddff494 100644 --- a/src/pydolphinscheduler/examples/task_sagemaker_example.py +++ b/src/pydolphinscheduler/examples/task_sagemaker_example.py @@ -17,6 +17,7 @@ # [start workflow_declare] """A example workflow for task sagemaker.""" + import json from pydolphinscheduler.core.workflow import Workflow diff --git a/src/pydolphinscheduler/examples/task_sql_example.py b/src/pydolphinscheduler/examples/task_sql_example.py index f2a8bd42..ca1319da 100644 --- a/src/pydolphinscheduler/examples/task_sql_example.py +++ b/src/pydolphinscheduler/examples/task_sql_example.py @@ -18,6 +18,7 @@ # [start workflow_declare] """A example workflow for task SQL.""" + from pathlib import Path from pydolphinscheduler.core.workflow import Workflow diff --git a/src/pydolphinscheduler/examples/task_sub_workflow_example.py b/src/pydolphinscheduler/examples/task_sub_workflow_example.py index df7b6ce4..c7417fb0 100644 --- a/src/pydolphinscheduler/examples/task_sub_workflow_example.py +++ b/src/pydolphinscheduler/examples/task_sub_workflow_example.py @@ -26,7 +26,6 @@ from pydolphinscheduler.tasks.sub_workflow import SubWorkflow from pydolphinscheduler.tasks.shell import Shell - # [start workflow_declare] # [start sub_workflow_declare] with Workflow(name="sub_workflow_downstream") as wf_downstream, Workflow( diff --git a/src/pydolphinscheduler/examples/tutorial_resource_plugin.py b/src/pydolphinscheduler/examples/tutorial_resource_plugin.py index 0089e5f9..1b56d5d5 100644 --- a/src/pydolphinscheduler/examples/tutorial_resource_plugin.py +++ b/src/pydolphinscheduler/examples/tutorial_resource_plugin.py @@ -22,6 +22,7 @@ it will instantiate and run all the task it have. """ + import os from pathlib import Path diff --git a/src/pydolphinscheduler/java_gateway.py b/src/pydolphinscheduler/java_gateway.py index e848475b..52300669 100644 --- a/src/pydolphinscheduler/java_gateway.py +++ b/src/pydolphinscheduler/java_gateway.py @@ -16,6 +16,7 @@ # under the License. """Module java gateway, contain gateway behavior.""" + from __future__ import annotations import contextlib diff --git a/src/pydolphinscheduler/models/datasource.py b/src/pydolphinscheduler/models/datasource.py index a7407a2e..390b3d31 100644 --- a/src/pydolphinscheduler/models/datasource.py +++ b/src/pydolphinscheduler/models/datasource.py @@ -16,6 +16,7 @@ # under the License. """Module database.""" + from __future__ import annotations import json diff --git a/src/pydolphinscheduler/models/meta.py b/src/pydolphinscheduler/models/meta.py index f4da69c9..0aa4c773 100644 --- a/src/pydolphinscheduler/models/meta.py +++ b/src/pydolphinscheduler/models/meta.py @@ -22,6 +22,7 @@ server to get some resource from database, but you want to make sure the return object is a in Python object. """ + from __future__ import annotations from functools import wraps diff --git a/src/pydolphinscheduler/resources_plugin/__init__.py b/src/pydolphinscheduler/resources_plugin/__init__.py index 1e24e1eb..5195d89f 100644 --- a/src/pydolphinscheduler/resources_plugin/__init__.py +++ b/src/pydolphinscheduler/resources_plugin/__init__.py @@ -16,6 +16,7 @@ # under the License. """Init resources_plugin package.""" + from pydolphinscheduler.resources_plugin.github import GitHub from pydolphinscheduler.resources_plugin.gitlab import GitLab from pydolphinscheduler.resources_plugin.local import Local diff --git a/src/pydolphinscheduler/resources_plugin/github.py b/src/pydolphinscheduler/resources_plugin/github.py index f103d75c..825d35eb 100644 --- a/src/pydolphinscheduler/resources_plugin/github.py +++ b/src/pydolphinscheduler/resources_plugin/github.py @@ -16,6 +16,7 @@ # under the License. """DolphinScheduler github resource plugin.""" + from __future__ import annotations import base64 diff --git a/src/pydolphinscheduler/resources_plugin/gitlab.py b/src/pydolphinscheduler/resources_plugin/gitlab.py index d1ee80be..1c1ddc1e 100644 --- a/src/pydolphinscheduler/resources_plugin/gitlab.py +++ b/src/pydolphinscheduler/resources_plugin/gitlab.py @@ -16,6 +16,7 @@ # under the License. """DolphinScheduler gitlab resource plugin.""" + from __future__ import annotations from urllib.parse import urljoin, urlparse diff --git a/src/pydolphinscheduler/resources_plugin/oss.py b/src/pydolphinscheduler/resources_plugin/oss.py index 871b8db7..819b5d66 100644 --- a/src/pydolphinscheduler/resources_plugin/oss.py +++ b/src/pydolphinscheduler/resources_plugin/oss.py @@ -16,6 +16,7 @@ # under the License. """DolphinScheduler oss resource plugin.""" + from __future__ import annotations from urllib.parse import urljoin, urlparse diff --git a/src/pydolphinscheduler/tasks/dependent.py b/src/pydolphinscheduler/tasks/dependent.py index 28943730..5bf1dbbf 100644 --- a/src/pydolphinscheduler/tasks/dependent.py +++ b/src/pydolphinscheduler/tasks/dependent.py @@ -16,6 +16,7 @@ # under the License. """Task dependent.""" + from __future__ import annotations import warnings diff --git a/src/pydolphinscheduler/tasks/dvc.py b/src/pydolphinscheduler/tasks/dvc.py index 46b21259..a2e94641 100644 --- a/src/pydolphinscheduler/tasks/dvc.py +++ b/src/pydolphinscheduler/tasks/dvc.py @@ -16,6 +16,7 @@ # under the License. """Task dvc.""" + from __future__ import annotations from copy import deepcopy diff --git a/src/pydolphinscheduler/tasks/kubernetes.py b/src/pydolphinscheduler/tasks/kubernetes.py index 0152cb2f..21133ce5 100644 --- a/src/pydolphinscheduler/tasks/kubernetes.py +++ b/src/pydolphinscheduler/tasks/kubernetes.py @@ -16,6 +16,7 @@ # under the License. """Task Kubernetes.""" + from pydolphinscheduler.constants import TaskType from pydolphinscheduler.core.task import BatchTask diff --git a/src/pydolphinscheduler/tasks/mlflow.py b/src/pydolphinscheduler/tasks/mlflow.py index 2d03709a..d9cf0fc0 100644 --- a/src/pydolphinscheduler/tasks/mlflow.py +++ b/src/pydolphinscheduler/tasks/mlflow.py @@ -16,6 +16,7 @@ # under the License. """Task mlflow.""" + from __future__ import annotations from copy import deepcopy diff --git a/src/pydolphinscheduler/tasks/pytorch.py b/src/pydolphinscheduler/tasks/pytorch.py index db0d9be5..1ce622f2 100644 --- a/src/pydolphinscheduler/tasks/pytorch.py +++ b/src/pydolphinscheduler/tasks/pytorch.py @@ -16,6 +16,7 @@ # under the License. """Task Pytorch.""" + from __future__ import annotations from pydolphinscheduler.constants import TaskType diff --git a/src/pydolphinscheduler/tasks/sql.py b/src/pydolphinscheduler/tasks/sql.py index c9c3f490..1a038c3d 100644 --- a/src/pydolphinscheduler/tasks/sql.py +++ b/src/pydolphinscheduler/tasks/sql.py @@ -16,6 +16,7 @@ # under the License. """Task sql.""" + from __future__ import annotations import logging diff --git a/src/pydolphinscheduler/tasks/switch.py b/src/pydolphinscheduler/tasks/switch.py index 625ac702..61fd5a5a 100644 --- a/src/pydolphinscheduler/tasks/switch.py +++ b/src/pydolphinscheduler/tasks/switch.py @@ -16,6 +16,7 @@ # under the License. """Task Switch.""" + from __future__ import annotations from pydolphinscheduler.constants import TaskType diff --git a/src/pydolphinscheduler/utils/yaml_parser.py b/src/pydolphinscheduler/utils/yaml_parser.py index a79dfec1..ea36f0e7 100644 --- a/src/pydolphinscheduler/utils/yaml_parser.py +++ b/src/pydolphinscheduler/utils/yaml_parser.py @@ -16,6 +16,7 @@ # under the License. """YAML parser utils, parser yaml string to ``ruamel.yaml`` object and nested key dict.""" + from __future__ import annotations import copy diff --git a/tests/core/test_engine.py b/tests/core/test_engine.py index 312f27a5..5d0a9183 100644 --- a/tests/core/test_engine.py +++ b/tests/core/test_engine.py @@ -17,7 +17,6 @@ """Test Task Engine.""" - from unittest.mock import patch import pytest diff --git a/tests/core/test_local_parameter.py b/tests/core/test_local_parameter.py index f1042d28..b0e17c05 100644 --- a/tests/core/test_local_parameter.py +++ b/tests/core/test_local_parameter.py @@ -17,7 +17,6 @@ """Test parameter.""" - import pytest from pydolphinscheduler.core.parameter import ( diff --git a/tests/core/test_resource_definition.py b/tests/core/test_resource_definition.py index 07fcac35..97539cf8 100644 --- a/tests/core/test_resource_definition.py +++ b/tests/core/test_resource_definition.py @@ -16,6 +16,7 @@ # under the License. """Test resource definition.""" + import pytest from pydolphinscheduler.core.resource import Resource diff --git a/tests/core/test_task.py b/tests/core/test_task.py index 8b7d2a0c..6f14267e 100644 --- a/tests/core/test_task.py +++ b/tests/core/test_task.py @@ -16,6 +16,7 @@ # under the License. """Test Task class function.""" + from __future__ import annotations import logging diff --git a/tests/core/test_workflow.py b/tests/core/test_workflow.py index 66748eda..15d0b9c1 100644 --- a/tests/core/test_workflow.py +++ b/tests/core/test_workflow.py @@ -16,6 +16,7 @@ # under the License. """Test workflow.""" + from __future__ import annotations import warnings diff --git a/tests/integration/test_java_gateway.py b/tests/integration/test_java_gateway.py index 4545546b..1b33eb08 100644 --- a/tests/integration/test_java_gateway.py +++ b/tests/integration/test_java_gateway.py @@ -16,6 +16,7 @@ # under the License. """Test pydolphinscheduler java gateway.""" + import importlib import warnings from unittest.mock import PropertyMock, patch diff --git a/tests/integration/test_process_definition.py b/tests/integration/test_process_definition.py index 42aa96aa..babf9ccf 100644 --- a/tests/integration/test_process_definition.py +++ b/tests/integration/test_process_definition.py @@ -16,6 +16,7 @@ # under the License. """Test workflow in integration.""" + from __future__ import annotations import pytest diff --git a/tests/integration/test_project.py b/tests/integration/test_project.py index 7b8d8757..b8e11055 100644 --- a/tests/integration/test_project.py +++ b/tests/integration/test_project.py @@ -16,6 +16,7 @@ # under the License. """Test pydolphinscheduler project.""" + import pytest from pydolphinscheduler.models import Project, User diff --git a/tests/integration/test_tenant.py b/tests/integration/test_tenant.py index 844f8d72..1432fa32 100644 --- a/tests/integration/test_tenant.py +++ b/tests/integration/test_tenant.py @@ -16,6 +16,7 @@ # under the License. """Test pydolphinscheduler tenant.""" + import pytest from pydolphinscheduler.models import Tenant, User diff --git a/tests/models/test_database.py b/tests/models/test_database.py index 44e7561d..3e063d2d 100644 --- a/tests/models/test_database.py +++ b/tests/models/test_database.py @@ -16,6 +16,7 @@ # under the License. """Test Database.""" + import json from unittest.mock import patch diff --git a/tests/resources_plugin/test_github.py b/tests/resources_plugin/test_github.py index 1f1a6316..bc6f6f90 100644 --- a/tests/resources_plugin/test_github.py +++ b/tests/resources_plugin/test_github.py @@ -16,6 +16,7 @@ # under the License. """Test github resource plugin.""" + from unittest.mock import PropertyMock, patch import pytest diff --git a/tests/resources_plugin/test_gitlab.py b/tests/resources_plugin/test_gitlab.py index 6bb90acc..d884647b 100644 --- a/tests/resources_plugin/test_gitlab.py +++ b/tests/resources_plugin/test_gitlab.py @@ -16,6 +16,7 @@ # under the License. """Test github resource plugin.""" + import pytest from pydolphinscheduler.resources_plugin.gitlab import GitLab diff --git a/tests/resources_plugin/test_local.py b/tests/resources_plugin/test_local.py index 82b196f7..0fca83d2 100644 --- a/tests/resources_plugin/test_local.py +++ b/tests/resources_plugin/test_local.py @@ -16,6 +16,7 @@ # under the License. """Test local resource plugin.""" + from pathlib import Path from unittest.mock import PropertyMock, patch diff --git a/tests/resources_plugin/test_oss.py b/tests/resources_plugin/test_oss.py index 7e57e823..bc53fb30 100644 --- a/tests/resources_plugin/test_oss.py +++ b/tests/resources_plugin/test_oss.py @@ -16,6 +16,7 @@ # under the License. """Test oss resource plugin.""" + import pytest from pydolphinscheduler.resources_plugin.oss import OSS diff --git a/tests/resources_plugin/test_s3.py b/tests/resources_plugin/test_s3.py index 5f75f3eb..1880aa2e 100644 --- a/tests/resources_plugin/test_s3.py +++ b/tests/resources_plugin/test_s3.py @@ -16,6 +16,7 @@ # under the License. """Test oss resource plugin.""" + import pytest from pydolphinscheduler.resources_plugin import S3 diff --git a/tests/tasks/test_condition.py b/tests/tasks/test_condition.py index 41dbdb2d..3e85646c 100644 --- a/tests/tasks/test_condition.py +++ b/tests/tasks/test_condition.py @@ -16,6 +16,7 @@ # under the License. """Test Task dependent.""" + from __future__ import annotations from unittest.mock import patch diff --git a/tests/tasks/test_datax.py b/tests/tasks/test_datax.py index aa884a68..85835f14 100644 --- a/tests/tasks/test_datax.py +++ b/tests/tasks/test_datax.py @@ -16,6 +16,7 @@ # under the License. """Test Task DataX.""" + from pathlib import Path from unittest.mock import patch diff --git a/tests/tasks/test_dependent.py b/tests/tasks/test_dependent.py index 0e41a9c5..fb10ac5b 100644 --- a/tests/tasks/test_dependent.py +++ b/tests/tasks/test_dependent.py @@ -16,6 +16,7 @@ # under the License. """Test Task dependent.""" + from __future__ import annotations import itertools diff --git a/tests/tasks/test_dvc.py b/tests/tasks/test_dvc.py index a297228b..357512ae 100644 --- a/tests/tasks/test_dvc.py +++ b/tests/tasks/test_dvc.py @@ -16,6 +16,7 @@ # under the License. """Test Task Dvc.""" + from unittest.mock import patch from pydolphinscheduler.tasks.dvc import DVCDownload, DVCInit, DvcTaskType, DVCUpload diff --git a/tests/tasks/test_mlflow.py b/tests/tasks/test_mlflow.py index 9e6517e3..ba0a6937 100644 --- a/tests/tasks/test_mlflow.py +++ b/tests/tasks/test_mlflow.py @@ -16,6 +16,7 @@ # under the License. """Test Task MLflow.""" + from copy import deepcopy from unittest.mock import patch diff --git a/tests/tasks/test_openmldb.py b/tests/tasks/test_openmldb.py index 5675bced..51c9087d 100644 --- a/tests/tasks/test_openmldb.py +++ b/tests/tasks/test_openmldb.py @@ -16,6 +16,7 @@ # under the License. """Test Task OpenMLDB.""" + from unittest.mock import patch from pydolphinscheduler.tasks.openmldb import OpenMLDB diff --git a/tests/tasks/test_python.py b/tests/tasks/test_python.py index e842f907..2f6afc9d 100644 --- a/tests/tasks/test_python.py +++ b/tests/tasks/test_python.py @@ -16,6 +16,7 @@ # under the License. """Test Task python.""" + from pathlib import Path from unittest.mock import patch diff --git a/tests/tasks/test_pytorch.py b/tests/tasks/test_pytorch.py index 66c16646..55d53ff0 100644 --- a/tests/tasks/test_pytorch.py +++ b/tests/tasks/test_pytorch.py @@ -16,6 +16,7 @@ # under the License. """Test Task Pytorch.""" + from copy import deepcopy from unittest.mock import patch diff --git a/tests/tasks/test_sagemaker.py b/tests/tasks/test_sagemaker.py index ec0c42e4..e29f8629 100644 --- a/tests/tasks/test_sagemaker.py +++ b/tests/tasks/test_sagemaker.py @@ -16,6 +16,7 @@ # under the License. """Test Task SageMaker.""" + import json from unittest.mock import patch diff --git a/tests/tasks/test_sql.py b/tests/tasks/test_sql.py index f150820c..3ff8128d 100644 --- a/tests/tasks/test_sql.py +++ b/tests/tasks/test_sql.py @@ -16,6 +16,7 @@ # under the License. """Test Task Sql.""" + from pathlib import Path from unittest.mock import patch diff --git a/tests/tasks/test_sub_workflow.py b/tests/tasks/test_sub_workflow.py index 9c4d4542..2ea522a3 100644 --- a/tests/tasks/test_sub_workflow.py +++ b/tests/tasks/test_sub_workflow.py @@ -16,6 +16,7 @@ # under the License. """Test Task sub workflow.""" + import warnings from unittest.mock import patch diff --git a/tests/tasks/test_switch.py b/tests/tasks/test_switch.py index e9a24bfb..b6e85377 100644 --- a/tests/tasks/test_switch.py +++ b/tests/tasks/test_switch.py @@ -16,6 +16,7 @@ # under the License. """Test Task switch.""" + from __future__ import annotations from unittest.mock import patch diff --git a/tests/testing/cli.py b/tests/testing/cli.py index 0d2c1d1f..089c1d0e 100644 --- a/tests/testing/cli.py +++ b/tests/testing/cli.py @@ -17,7 +17,6 @@ """Utils of command line test.""" - from click.testing import CliRunner from tests.testing.constants import DEV_MODE diff --git a/tests/testing/docker_wrapper.py b/tests/testing/docker_wrapper.py index ce8ba0c5..d7bade3e 100644 --- a/tests/testing/docker_wrapper.py +++ b/tests/testing/docker_wrapper.py @@ -16,6 +16,7 @@ # under the License. """Wrap docker commands for easier create docker container.""" + from __future__ import annotations import logging diff --git a/tests/testing/file.py b/tests/testing/file.py index 67fd4baf..86da010c 100644 --- a/tests/testing/file.py +++ b/tests/testing/file.py @@ -16,6 +16,7 @@ # under the License. """Testing util about file operating.""" + from __future__ import annotations from pathlib import Path diff --git a/tests/testing/path.py b/tests/testing/path.py index 0359a23a..413bef92 100644 --- a/tests/testing/path.py +++ b/tests/testing/path.py @@ -16,6 +16,7 @@ # under the License. """Handle path related issue in test module.""" + from __future__ import annotations from collections.abc import Generator diff --git a/tests/utils/test_date.py b/tests/utils/test_date.py index 9599d61a..03a7a209 100644 --- a/tests/utils/test_date.py +++ b/tests/utils/test_date.py @@ -16,6 +16,7 @@ # under the License. """Test utils.date module.""" + from __future__ import annotations from datetime import datetime, timedelta diff --git a/tests/utils/test_yaml_parser.py b/tests/utils/test_yaml_parser.py index c0170674..a0f7d187 100644 --- a/tests/utils/test_yaml_parser.py +++ b/tests/utils/test_yaml_parser.py @@ -16,6 +16,7 @@ # under the License. """Test utils.path_dict module.""" + from __future__ import annotations import pytest @@ -67,8 +68,7 @@ }, ] -param = [ - """#example +param = ["""#example name: # details family: Smith # very common @@ -76,8 +76,7 @@ mark: name_mark: key: value -""" -] +"""] with open(path_default_config_yaml) as f: param.append(f.read()) From 29f88ba2f553676cceae8e04a6030cc47e8efc1c Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:01:02 +0800 Subject: [PATCH 03/11] Revert "Release v4.1.0" This reverts commit 03d399ee117a5047a0759017a674c3ad52b5c627. --- setup.cfg | 2 +- src/pydolphinscheduler/__init__.py | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/setup.cfg b/setup.cfg index df3652c7..e76e8ea4 100644 --- a/setup.cfg +++ b/setup.cfg @@ -111,7 +111,7 @@ doc = # Unreleased package have a feature we want(use correct version package for API ref), so we install from # GitHub directly, see also: # https://github.com/Holzhaus/sphinx-multiversion/issues/42#issuecomment-1210539786 -# sphinx-multiversion @ git+https://github.com/Holzhaus/sphinx-multiversion#egg=sphinx-multiversion + sphinx-multiversion @ git+https://github.com/Holzhaus/sphinx-multiversion#egg=sphinx-multiversion sphinx-github-changelog dev = # build diff --git a/src/pydolphinscheduler/__init__.py b/src/pydolphinscheduler/__init__.py index a666c70e..cf0fe9fd 100644 --- a/src/pydolphinscheduler/__init__.py +++ b/src/pydolphinscheduler/__init__.py @@ -17,4 +17,4 @@ """Init root of pydolphinscheduler.""" -__version__ = "4.1.0" +__version__ = "4.1.0-dev" From b3d89f853bba73d71e220a36bb972f3449cc4ac6 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:16:04 +0800 Subject: [PATCH 04/11] fix dead link check --- CONTRIBUTING.md | 1 + 1 file changed, 1 insertion(+) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index e00b1a37..f1910cd9 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -46,6 +46,7 @@ define by code, user usually do not care user, tenant, or queue exists or not. A a new workflow according the code definition. So we have some **models object** in `pydolphinscheduler/models` directory, their only check object exists or not, and create them if not exists. + More detail about core concept, please read [concept](https://dolphinscheduler.apache.org/python/main/concept.html) in our documentation. From 9c96591232b072d8ba06b373fa13e1347fa00792 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:27:58 +0800 Subject: [PATCH 05/11] Revert "fix dead link check" This reverts commit b3d89f853bba73d71e220a36bb972f3449cc4ac6. --- CONTRIBUTING.md | 1 - 1 file changed, 1 deletion(-) diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md index f1910cd9..e00b1a37 100644 --- a/CONTRIBUTING.md +++ b/CONTRIBUTING.md @@ -46,7 +46,6 @@ define by code, user usually do not care user, tenant, or queue exists or not. A a new workflow according the code definition. So we have some **models object** in `pydolphinscheduler/models` directory, their only check object exists or not, and create them if not exists. - More detail about core concept, please read [concept](https://dolphinscheduler.apache.org/python/main/concept.html) in our documentation. From b71362f19066312f872009dc20c94507da855d99 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:28:29 +0800 Subject: [PATCH 06/11] tmp disable deadlink --- .github/workflows/ci.yaml | 24 ++++++++++++------------ 1 file changed, 12 insertions(+), 12 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 4d281f67..d9608215 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -40,17 +40,17 @@ jobs: runs-on: ubuntu-latest steps: - uses: apache/skywalking-eyes/header@main - dead-link: - runs-on: ubuntu-latest - needs: license - timeout-minutes: 30 - steps: - - uses: actions/checkout@v3 - - run: sudo npm install -g markdown-link-check@3.10.0 - - run: | - for file in $(find . -name "*.md"); do - markdown-link-check -c .dlc.json -q "$file" - done +# dead-link: +# runs-on: ubuntu-latest +# needs: license +# timeout-minutes: 30 +# steps: +# - uses: actions/checkout@v3 +# - run: sudo npm install -g markdown-link-check@3.10.0 +# - run: | +# for file in $(find . -name "*.md"); do +# markdown-link-check -c .dlc.json -q "$file" +# done lint: timeout-minutes: 15 runs-on: ubuntu-latest @@ -216,7 +216,7 @@ jobs: name: CI if: always() needs: - - dead-link +# - dead-link - local-ci - integrate-test runs-on: ubuntu-latest From 4792a1024d08b0269e2c903668d3741e1ac09172 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:39:50 +0800 Subject: [PATCH 07/11] remove py 3.9 --- .github/workflows/ci.yaml | 9 +-------- 1 file changed, 1 insertion(+), 8 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index d9608215..937936aa 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -76,7 +76,7 @@ jobs: matrix: # 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.9', '3.10', '3.11', '3.12', '3.13'] + python-version: ['3.10', '3.11', '3.12', '3.13'] os: [ubuntu-latest, macOS-latest, windows-latest] exclude: # Skip because dependence [py4j](https://pypi.org/project/py4j/) not work on those environments @@ -86,13 +86,6 @@ jobs: python-version: '3.11' - os: windows-latest python-version: '3.12' - # Python 3.9 is on macos-13 but not macos-latest (macos-14-arm64) - # https://github.com/actions/setup-python/issues/696#issuecomment-1637587760 - - os: macos-latest - python-version: '3.9' - include: - - python-version: '3.9' - os: macos-13 steps: - uses: actions/checkout@v3 - name: Set up Python ${{ matrix.python-version }} From 6980757c7aa1a79af0d9f41bb314d07e6a38082b Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:41:07 +0800 Subject: [PATCH 08/11] use 3.10 build doc --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 937936aa..65fee19c 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -126,7 +126,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.11 + python-version: 3.10 - name: Install Dependences run: | python -m pip install --upgrade ${{ env.DEPENDENCES }} From 2dc91163bbe2972de64e3e431c283276ca75d407 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:44:46 +0800 Subject: [PATCH 09/11] use 3.10 build doc --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 65fee19c..e6f61822 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -126,7 +126,7 @@ jobs: - name: Set up Python uses: actions/setup-python@v4 with: - python-version: 3.10 + python-version: '3.10' - name: Install Dependences run: | python -m pip install --upgrade ${{ env.DEPENDENCES }} From 82b31a6332eb948055db51fcc5b6232b2aa7a46b Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 12:52:59 +0800 Subject: [PATCH 10/11] skip dead link check --- .github/workflows/ci.yaml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index e6f61822..f68e28cf 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -216,8 +216,8 @@ jobs: steps: - name: Status run: | - if [[ ${{ needs.dead-link.result }} != 'success' ]] || \ - [[ ${{ needs.local-ci.result }} != 'success' ]] || \ +# if [[ ${{ needs.dead-link.result }} != 'success' ]] || \ + if [[ ${{ needs.local-ci.result }} != 'success' ]] || \ ([[ ${{ needs.integrate-test.result }} != 'skipped' ]] && [[ ${{ needs.integrate-test.result }} != 'success' ]]); then echo "CI Failed!" exit -1 From 200ba8c978caaac758fb95cb9291dce08e283d03 Mon Sep 17 00:00:00 2001 From: Jay Chung Date: Tue, 20 Jan 2026 13:42:18 +0800 Subject: [PATCH 11/11] fix syntax --- .github/workflows/ci.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f68e28cf..982166ee 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -215,8 +215,8 @@ jobs: runs-on: ubuntu-latest steps: - name: Status - run: | # if [[ ${{ needs.dead-link.result }} != 'success' ]] || \ + run: | if [[ ${{ needs.local-ci.result }} != 'success' ]] || \ ([[ ${{ needs.integrate-test.result }} != 'skipped' ]] && [[ ${{ needs.integrate-test.result }} != 'success' ]]); then echo "CI Failed!"