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.
Files changed (98) hide show
  1. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/PKG-INFO +1 -1
  2. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/__init__.py +1 -1
  3. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/dbConn_sync.py +6 -6
  4. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/PKG-INFO +1 -1
  5. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/SOURCES.txt +1 -0
  6. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_db_conn_async.py +5 -2
  7. dataops_sdk-0.5.3/tests/test_db_conn_sync.py +26 -0
  8. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/README.md +0 -0
  9. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/pyproject.toml +0 -0
  10. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/setup.cfg +0 -0
  11. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/constants.py +0 -0
  12. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/exceptions.py +0 -0
  13. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/__init__.py +0 -0
  14. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/datasource_factory.py +0 -0
  15. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/__init__.py +0 -0
  16. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/config.py +0 -0
  17. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/constants.py +0 -0
  18. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/instance.py +0 -0
  19. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/nacos_exception.py +0 -0
  20. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_param.py +0 -0
  21. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_request.py +0 -0
  22. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/naming_response.py +0 -0
  23. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/preserved_metadata_key.py +0 -0
  24. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/schemas/nacos/service.py +0 -0
  25. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/__init__.py +0 -0
  26. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/common.py +0 -0
  27. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/dbConn_async.py +0 -0
  28. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/dbConn_base.py +0 -0
  29. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/duckdb_manager.py +0 -0
  30. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/file_transfer_base.py +0 -0
  31. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/ftp_file_transfer.py +0 -0
  32. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/nacos.py +0 -0
  33. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/neo4j_sync.py +0 -0
  34. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/queue_base.py +0 -0
  35. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/queue_kafka.py +0 -0
  36. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/sftp_file_transfer.py +0 -0
  37. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/runner/utils/websocket_client.py +0 -0
  38. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/__init__.py +0 -0
  39. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/api.py +0 -0
  40. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/common.py +0 -0
  41. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/data_table.py +0 -0
  42. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/datasource.py +0 -0
  43. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/dict_.py +0 -0
  44. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/enums.py +0 -0
  45. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/group.py +0 -0
  46. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/meta.py +0 -0
  47. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/ontology.py +0 -0
  48. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/query.py +0 -0
  49. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/report.py +0 -0
  50. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/skill.py +0 -0
  51. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/table.py +0 -0
  52. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/tag.py +0 -0
  53. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/user.py +0 -0
  54. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/widget.py +0 -0
  55. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/wiki.py +0 -0
  56. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/schemas/workflow.py +0 -0
  57. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/__init__.py +0 -0
  58. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/api.py +0 -0
  59. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/auth.py +0 -0
  60. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/data_table.py +0 -0
  61. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/dataset.py +0 -0
  62. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/datasource.py +0 -0
  63. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/dict_.py +0 -0
  64. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/group.py +0 -0
  65. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/meta.py +0 -0
  66. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/metrics.py +0 -0
  67. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/ontology.py +0 -0
  68. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/ref.py +0 -0
  69. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/report.py +0 -0
  70. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/skill.py +0 -0
  71. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/table.py +0 -0
  72. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/tag.py +0 -0
  73. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/widget.py +0 -0
  74. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/wiki.py +0 -0
  75. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/services/workflow.py +0 -0
  76. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/session.py +0 -0
  77. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/__init__.py +0 -0
  78. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/builder.py +0 -0
  79. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/constants.py +0 -0
  80. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/markdown_parser.py +0 -0
  81. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/models.py +0 -0
  82. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/parse_utils.py +0 -0
  83. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/render_utils.py +0 -0
  84. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/renderers.py +0 -0
  85. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/tiptap/tool.py +0 -0
  86. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/__init__.py +0 -0
  87. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/common.py +0 -0
  88. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/log.py +0 -0
  89. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk/utils/utils.py +0 -0
  90. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/dependency_links.txt +0 -0
  91. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/requires.txt +0 -0
  92. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/src/dataops_sdk.egg-info/top_level.txt +0 -0
  93. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_constants.py +0 -0
  94. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_datasource_factory.py +0 -0
  95. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_exceptions.py +0 -0
  96. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_session.py +0 -0
  97. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_utils.py +0 -0
  98. {dataops_sdk-0.5.2 → dataops_sdk-0.5.3}/tests/test_websocket_client.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataops-sdk
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: Python SDK for the DataOps platform.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -93,4 +93,4 @@ from .services import ( # noqa: F401
93
93
  )
94
94
  from .session import dataops_base_url_context, request_context
95
95
 
96
- __version__ = "0.5.2"
96
+ __version__ = "0.5.3"
@@ -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": "mysqldb",
30
+ "mysql": "pymysql",
31
31
  "postgresql": "psycopg",
32
32
  "dm": "dmpython",
33
33
  "oracle": "oracledb",
34
- "doris": "mysqldb",
35
- "mariadb": "mysqldb",
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":
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dataops-sdk
3
- Version: 0.5.2
3
+ Version: 0.5.3
4
4
  Summary: Python SDK for the DataOps platform.
5
5
  Requires-Python: >=3.11
6
6
  Description-Content-Type: text/markdown
@@ -89,6 +89,7 @@ src/dataops_sdk/utils/utils.py
89
89
  tests/test_constants.py
90
90
  tests/test_datasource_factory.py
91
91
  tests/test_db_conn_async.py
92
+ tests/test_db_conn_sync.py
92
93
  tests/test_exceptions.py
93
94
  tests/test_session.py
94
95
  tests/test_utils.py
@@ -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+mariadbconnector"
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+mariadbconnector"
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