sqlseed 0.1.13__tar.gz → 0.1.15__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.
- {sqlseed-0.1.13 → sqlseed-0.1.15}/CHANGELOG.md +17 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/CHANGELOG.zh-CN.md +17 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/PKG-INFO +1 -1
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/expression.py +1 -4
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/plugin_mediator.py +5 -1
- {sqlseed-0.1.13 → sqlseed-0.1.15}/.gitignore +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/LICENSE +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/README.md +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/README.zh-CN.md +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/examples/ai_generation_demo.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/pyproject.toml +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/__init__.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/_utils/__init__.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/_utils/logger.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/_utils/metrics.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/_utils/progress.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/_utils/schema_helpers.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/_utils/sql_safe.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/_version.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/cli/__init__.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/cli/main.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/config/__init__.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/config/loader.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/config/models.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/config/snapshot.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/__init__.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/column_dag.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/constraints.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/enrichment.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/mapper.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/orchestrator.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/relation.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/result.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/schema.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/transform.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/core/unique_adjuster.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/__init__.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/_base_adapter.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/_compat.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/_helpers.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/_protocol.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/optimizer.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/raw_sqlite_adapter.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/database/sqlite_utils_adapter.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/__init__.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/_dispatch.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/_json_helpers.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/_protocol.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/_string_helpers.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/base_provider.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/faker_provider.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/mimesis_provider.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/registry.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/generators/stream.py +0 -0
- {sqlseed-0.1.13 → sqlseed-0.1.15}/src/sqlseed/py.typed +0 -0
|
@@ -7,6 +7,23 @@ All notable changes to this project will be documented in this file.
|
|
|
7
7
|
Format based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
|
|
9
9
|
|
|
10
|
+
## [v0.1.15]
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- CI: remove unnecessary try/except in `ExpressionEngine.evaluate` to resolve SonarCloud S2737 and CodeFlow try-except-raise warnings
|
|
14
|
+
- CI: add comment documenting intentional `list()` usage in `PluginMediator.apply_template_pool` (SonarCloud S7504)
|
|
15
|
+
|
|
16
|
+
## [v0.1.14]
|
|
17
|
+
|
|
18
|
+
### Fixed
|
|
19
|
+
- CI: resolve ruff SIM114/SIM102 lint errors in `test_doc_sync.py`
|
|
20
|
+
- CI: eliminate all regex from `test_doc_sync.py` to fix SonarCloud S5852 security hotspots
|
|
21
|
+
- CI: reduce cognitive complexity of `_extract_number_before_keyword` helper
|
|
22
|
+
|
|
23
|
+
### Added
|
|
24
|
+
- Doc Sync Rules mapping table in CLAUDE.md
|
|
25
|
+
- Documentation sync validation tests (`tests/test_doc_sync.py`)
|
|
26
|
+
|
|
10
27
|
## [v0.1.13]
|
|
11
28
|
|
|
12
29
|
### Added
|
|
@@ -7,6 +7,23 @@
|
|
|
7
7
|
格式基于 [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
|
|
8
8
|
本项目遵循[语义化版本](https://semver.org/spec/v2.0.0.html)。
|
|
9
9
|
|
|
10
|
+
## [v0.1.15]
|
|
11
|
+
|
|
12
|
+
### 修复
|
|
13
|
+
- CI: 移除 `ExpressionEngine.evaluate` 中不必要的 try/except,解决 SonarCloud S2737 和 CodeFlow try-except-raise 警告
|
|
14
|
+
- CI: 为 `PluginMediator.apply_template_pool` 中的 `list()` 调用添加注释说明其必要性(SonarCloud S7504)
|
|
15
|
+
|
|
16
|
+
## [v0.1.14]
|
|
17
|
+
|
|
18
|
+
### 修复
|
|
19
|
+
- CI: 修复 `test_doc_sync.py` 中的 ruff SIM114/SIM102 lint 错误
|
|
20
|
+
- CI: 移除 `test_doc_sync.py` 中所有正则表达式,解决 SonarCloud S5852 安全热点
|
|
21
|
+
- CI: 降低 `_extract_number_before_keyword` 辅助函数的认知复杂度
|
|
22
|
+
|
|
23
|
+
### 新增
|
|
24
|
+
- CLAUDE.md 中添加文档同步规则映射表
|
|
25
|
+
- 文档同步验证测试 (`tests/test_doc_sync.py`)
|
|
26
|
+
|
|
10
27
|
## [v0.1.13]
|
|
11
28
|
|
|
12
29
|
### 新增
|
|
@@ -61,10 +61,7 @@ class ExpressionEngine:
|
|
|
61
61
|
|
|
62
62
|
def evaluate(self, expression: str, context: dict[str, Any]) -> Any:
|
|
63
63
|
if self._is_simple_expression(expression):
|
|
64
|
-
|
|
65
|
-
return self._eval_direct(expression, context)
|
|
66
|
-
except (ValueError, SyntaxError, TypeError, simpleeval.InvalidExpression) as e:
|
|
67
|
-
raise e
|
|
64
|
+
return self._eval_direct(expression, context)
|
|
68
65
|
|
|
69
66
|
evaluator = simpleeval.SimpleEval()
|
|
70
67
|
evaluator.functions = dict(self.SAFE_FUNCTIONS)
|
|
@@ -161,7 +161,11 @@ class PluginMediator:
|
|
|
161
161
|
needs_template = any(True for _ in self._iter_template_eligible_specs(specs, column_infos, configured))
|
|
162
162
|
if not needs_template:
|
|
163
163
|
return specs
|
|
164
|
-
|
|
164
|
+
# list() is required: loop body mutates `specs` via __setitem__,
|
|
165
|
+
# and the generator yields from specs.items(). Without snapshotting
|
|
166
|
+
# first, iterating would raise RuntimeError.
|
|
167
|
+
eligible = list(self._iter_template_eligible_specs(specs, column_infos, configured))
|
|
168
|
+
for col_name, _, col_info in eligible:
|
|
165
169
|
sample_data_for_col: list[Any] = []
|
|
166
170
|
with contextlib.suppress(ValueError, OSError, RuntimeError, sqlite3.OperationalError):
|
|
167
171
|
sample_data_for_col = self._db.get_column_values(table_name, col_name, limit=10)
|
|
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
|