dataops-sdk 0.5.2__tar.gz → 0.5.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/PKG-INFO +1 -1
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/__init__.py +1 -1
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/dbConn_sync.py +6 -6
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/PKG-INFO +1 -1
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/SOURCES.txt +1 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_db_conn_async.py +5 -2
- dataops_sdk-0.5.3/tests/test_db_conn_sync.py +26 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/README.md +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/pyproject.toml +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/setup.cfg +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/constants.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/exceptions.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/__init__.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/datasource_factory.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/__init__.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/config.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/constants.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/instance.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/nacos_exception.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_param.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_request.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_response.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/preserved_metadata_key.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/service.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/__init__.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/common.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/dbConn_async.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/dbConn_base.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/duckdb_manager.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/file_transfer_base.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/ftp_file_transfer.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/nacos.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/neo4j_sync.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/queue_base.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/queue_kafka.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/sftp_file_transfer.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/websocket_client.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/__init__.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/api.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/common.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/data_table.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/datasource.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/dict_.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/enums.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/group.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/meta.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/ontology.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/query.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/report.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/skill.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/table.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/tag.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/user.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/widget.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/wiki.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/workflow.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/__init__.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/api.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/auth.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/data_table.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/dataset.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/datasource.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/dict_.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/group.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/meta.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/metrics.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/ontology.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/ref.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/report.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/skill.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/table.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/tag.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/widget.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/wiki.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/workflow.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/session.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/__init__.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/builder.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/constants.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/markdown_parser.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/models.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/parse_utils.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/render_utils.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/renderers.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/tool.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/__init__.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/common.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/log.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/utils.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/dependency_links.txt +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/requires.txt +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/top_level.txt +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_constants.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_datasource_factory.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_exceptions.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_session.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_utils.py +0 -0
- {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_websocket_client.py +0 -0
|
@@ -27,12 +27,12 @@ from .dbConn_base import DatabaseConnBase
|
|
|
27
27
|
# 数据库类型到驱动程序的映射
|
|
28
28
|
# 用于 build_url 函数构建数据库连接 URL
|
|
29
29
|
DBTYPE_DRIVER: Final[Mapping[str, str]] = {
|
|
30
|
-
"mysql": "
|
|
30
|
+
"mysql": "pymysql",
|
|
31
31
|
"postgresql": "psycopg",
|
|
32
32
|
"dm": "dmpython",
|
|
33
33
|
"oracle": "oracledb",
|
|
34
|
-
"doris": "
|
|
35
|
-
"mariadb": "
|
|
34
|
+
"doris": "pymysql",
|
|
35
|
+
"mariadb": "pymysql",
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
|
|
@@ -73,7 +73,7 @@ def build_url(
|
|
|
73
73
|
raise NotImplementedError(f"{db_type} 尚未支持,请联系管理员")
|
|
74
74
|
|
|
75
75
|
query: dict[str, str] = dict()
|
|
76
|
-
if db_type in {"mysql", "doris"}:
|
|
76
|
+
if db_type in {"mysql", "mariadb", "doris"}:
|
|
77
77
|
query["local_infile"] = "True"
|
|
78
78
|
query["ssl_disabled"] = "True"
|
|
79
79
|
|
|
@@ -548,8 +548,8 @@ def create_engine_safe(db_type: str, url: str, **kwargs: Any) -> Engine:
|
|
|
548
548
|
raise NotImplementedError(f"{db_type} 尚未支持,请联系管理员")
|
|
549
549
|
|
|
550
550
|
# 根据不同数据库类型调整连接参数
|
|
551
|
-
if db_type in ("mysql", "doris"):
|
|
552
|
-
# MySQL
|
|
551
|
+
if db_type in ("mysql", "mariadb", "doris"):
|
|
552
|
+
# MySQL 协议族需要添加一些兼容参数
|
|
553
553
|
kwargs.setdefault("pool_pre_ping", True)
|
|
554
554
|
kwargs.setdefault("pool_recycle", 3600)
|
|
555
555
|
elif db_type == "postgresql":
|
|
@@ -66,12 +66,15 @@ def _conn(monkeypatch, session: _Session | None = None) -> DatabaseConnAsync:
|
|
|
66
66
|
|
|
67
67
|
def test_build_async_url_drivers():
|
|
68
68
|
mysql = build_async_url("127.0.0.1", 3306, "u", "p", "db", "mysql")
|
|
69
|
-
assert mysql.drivername == "mysql+
|
|
69
|
+
assert mysql.drivername == "mysql+asyncmy"
|
|
70
70
|
assert mysql.query["local_infile"] == "True"
|
|
71
71
|
assert mysql.query["ssl_disabled"] == "True"
|
|
72
72
|
|
|
73
73
|
mariadb = build_async_url("127.0.0.1", 3306, "u", "p", "db", "mariadb")
|
|
74
|
-
assert mariadb.drivername == "mariadb+
|
|
74
|
+
assert mariadb.drivername == "mariadb+asyncmy"
|
|
75
|
+
|
|
76
|
+
doris = build_async_url("127.0.0.1", 9030, "u", "p", "db", "doris")
|
|
77
|
+
assert doris.drivername == "doris+asyncmy"
|
|
75
78
|
|
|
76
79
|
postgres = build_async_url("127.0.0.1", 5432, "u", "p", "db", "postgresql")
|
|
77
80
|
assert postgres.drivername == "postgresql+psycopg"
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"""DatabaseConn 同步连接 URL 构建单元测试."""
|
|
2
|
+
|
|
3
|
+
import pytest
|
|
4
|
+
from dataops_sdk.runner.utils.dbConn_sync import DBTYPE_DRIVER, build_url
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
def test_build_url_drivers():
|
|
8
|
+
mysql = build_url("127.0.0.1", 3306, "u", "p", "db", "mysql")
|
|
9
|
+
assert mysql.drivername == "mysql+pymysql"
|
|
10
|
+
assert mysql.query["local_infile"] == "True"
|
|
11
|
+
assert mysql.query["ssl_disabled"] == "True"
|
|
12
|
+
|
|
13
|
+
mariadb = build_url("127.0.0.1", 3306, "u", "p", "db", "mariadb")
|
|
14
|
+
assert mariadb.drivername == "mariadb+pymysql"
|
|
15
|
+
|
|
16
|
+
doris = build_url("127.0.0.1", 9030, "u", "p", "db", "doris")
|
|
17
|
+
assert doris.drivername == "doris+pymysql"
|
|
18
|
+
|
|
19
|
+
postgres = build_url("127.0.0.1", 5432, "u", "p", "db", "postgresql")
|
|
20
|
+
assert postgres.drivername == "postgresql+psycopg"
|
|
21
|
+
assert "local_infile" not in postgres.query
|
|
22
|
+
|
|
23
|
+
assert DBTYPE_DRIVER["oracle"] == "oracledb"
|
|
24
|
+
|
|
25
|
+
with pytest.raises(NotImplementedError):
|
|
26
|
+
build_url("127.0.0.1", 5236, "u", "p", "db", "unknown")
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/nacos_exception.py
RENAMED
|
File without changes
|
{dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_param.py
RENAMED
|
File without changes
|
{dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_request.py
RENAMED
|
File without changes
|
{dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_response.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|