dbgraph 0.2.8__tar.gz → 0.2.10__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.
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/workspace.xml +90 -75
- {dbgraph-0.2.8 → dbgraph-0.2.10}/PKG-INFO +13 -13
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/__init__.py +2 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/aspect.py +1 -1
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/orm_graph_persistent.py +9 -1
- {dbgraph-0.2.8 → dbgraph-0.2.10}/pyproject.toml +13 -13
- dbgraph-0.2.10/tests/units/dbgraph.log +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/units/test_orm_graph_persistent.py +6 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/uv.lock +301 -240
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.gitignore +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/.gitignore +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/codeStyles/codeStyleConfig.xml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/dbgraph.iml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/inspectionProfiles/profiles_settings.xml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/misc.xml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/modules.xml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/pydantic.xml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.idea/vcs.xml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/.python-version +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/README.md +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-desc.md +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-graph-import.db +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-graph-v2.json +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-graph-v4.json +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-graph.db +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-graph.json +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-graph.png +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-index/corpus.jsonl +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-index/corpus.mmindex.json +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-index/data.csc.index.npy +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-index/indices.csc.index.npy +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-index/indptr.csc.index.npy +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-index/params.index.json +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-index/vocab.index.json +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind-semantic-v5.json +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/northwind.db +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/data/time-results.txt +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/builder/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/builder/graph_builder.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/builder/sql_graph_builder.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/descriptor/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/descriptor/graph_descriptor.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/descriptor/langchain_graph_descriptor.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/descriptor/prompt_templates.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/asset.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/asset_type.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/dbgraph.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/link.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/link_type.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/entity/rdbgraph.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/io/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/io/graph_loader.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/io/graph_writer.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/io/json_graph_loader.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/io/json_graph_writer.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/graph_not_found.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/graph_persistent.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/models/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/models/asset_aspect_orm.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/models/asset_orm.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/models/base.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/models/graph_orm.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/models/link_aspect_orm.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/persistent/models/link_orm.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/render/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/render/graph_renderer.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/render/markdown_renderer.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/search/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/search/bm25_search_engine.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/search/search_engine.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/utils/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/utils/logging.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/utils/serialize.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph/utils/singleton.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/dbgraph.log +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/diagrams/entity.png +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/diagrams/entity.txt +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/diagrams/usecase.png +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/diagrams/usecase.txt +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/docs/index.md +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/docs/refs/aspect.md +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/docs/refs/graph.md +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/main.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/mkdocs.yml +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/integrates/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/integrates/test_json_graph_loader.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/integrates/test_json_graph_writer.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/integrates/test_langchain_graph_descriptor.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/integrates/test_sql_graph_builder.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/integrates/test_trino_builder.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/units/__init__.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/units/test_dbgraph.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/units/test_markdown_renderer.py +0 -0
- {dbgraph-0.2.8 → dbgraph-0.2.10}/tests/units/test_rdbgraph.py +0 -0
|
@@ -6,6 +6,9 @@
|
|
|
6
6
|
<component name="ChangeListManager">
|
|
7
7
|
<list default="true" id="263a96da-9a82-40fd-89b2-ba71dd2c194d" name="Changes" comment="update sql builder and tests">
|
|
8
8
|
<change beforePath="$PROJECT_DIR$/.idea/dbgraph.iml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/dbgraph.iml" afterDir="false" />
|
|
9
|
+
<change beforePath="$PROJECT_DIR$/dbgraph/persistent/orm_graph_persistent.py" beforeDir="false" afterPath="$PROJECT_DIR$/dbgraph/persistent/orm_graph_persistent.py" afterDir="false" />
|
|
10
|
+
<change beforePath="$PROJECT_DIR$/tests/units/test_orm_graph_persistent.py" beforeDir="false" afterPath="$PROJECT_DIR$/tests/units/test_orm_graph_persistent.py" afterDir="false" />
|
|
11
|
+
<change beforePath="$PROJECT_DIR$/uv.lock" beforeDir="false" afterPath="$PROJECT_DIR$/uv.lock" afterDir="false" />
|
|
9
12
|
</list>
|
|
10
13
|
<option name="SHOW_DIALOG" value="false" />
|
|
11
14
|
<option name="HIGHLIGHT_CONFLICTS" value="true" />
|
|
@@ -50,6 +53,9 @@
|
|
|
50
53
|
"repository": "dbgraph"
|
|
51
54
|
}
|
|
52
55
|
}</component>
|
|
56
|
+
<component name="ProblemsViewState">
|
|
57
|
+
<option name="selectedTabId" value="ProjectErrors" />
|
|
58
|
+
</component>
|
|
53
59
|
<component name="ProjectColorInfo">{
|
|
54
60
|
"associatedIndex": 0,
|
|
55
61
|
"fromUser": false
|
|
@@ -62,67 +68,68 @@
|
|
|
62
68
|
<option name="hideEmptyMiddlePackages" value="true" />
|
|
63
69
|
<option name="showLibraryContents" value="true" />
|
|
64
70
|
</component>
|
|
65
|
-
<component name="PropertiesComponent"
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
71
|
+
<component name="PropertiesComponent"><![CDATA[{
|
|
72
|
+
"keyToString": {
|
|
73
|
+
"ASKED_SHARE_PROJECT_CONFIGURATION_FILES": "true",
|
|
74
|
+
"ModuleVcsDetector.initialDetectionPerformed": "true",
|
|
75
|
+
"Python tests.Python tests for tests.integrates.test_json_graph_loader.TestJSONGraphLoader.executor": "Run",
|
|
76
|
+
"Python tests.Python tests for tests.integrates.test_sql_graph_builder.TestSQLGraphBuilder.executor": "Run",
|
|
77
|
+
"Python tests.Python tests for tests.integrates.test_sql_graph_builder.TestSQLGraphBuilder.test_build_graph.executor": "Run",
|
|
78
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_cat_stats_aspect.executor": "Run",
|
|
79
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_columns.executor": "Run",
|
|
80
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_columns_orm.executor": "Run",
|
|
81
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_null_info.executor": "Run",
|
|
82
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_numerical_stats_aspect.executor": "Run",
|
|
83
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_orm.executor": "Run",
|
|
84
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_row_count.executor": "Run",
|
|
85
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_temp_aspect.executor": "Run",
|
|
86
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__is_column_textual.executor": "Run",
|
|
87
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test_build_graph.executor": "Run",
|
|
88
|
+
"Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test_table_names.executor": "Run",
|
|
89
|
+
"Python tests.Python tests for tests.test_dbgraph.TestDBGraph.executor": "Run",
|
|
90
|
+
"Python tests.Python tests for tests.test_json_graph_loader.TestJSONGraphLoader.executor": "Run",
|
|
91
|
+
"Python tests.Python tests for tests.test_json_graph_loader.TestJSONGraphLoader.test_get_neighbors_sub_graph.executor": "Run",
|
|
92
|
+
"Python tests.Python tests for tests.test_load_graph_sql.TestLoadGraphSQL.test_load.executor": "Run",
|
|
93
|
+
"Python tests.Python tests for tests.test_markdown_renderer.TestMarkdownRenderer.executor": "Run",
|
|
94
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.executor": "Run",
|
|
95
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_cr_asset_aspect.executor": "Run",
|
|
96
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_cr_link_aspect.executor": "Run",
|
|
97
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_crud_assets.executor": "Run",
|
|
98
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_crud_links.executor": "Run",
|
|
99
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_insert_assets.executor": "Run",
|
|
100
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_insert_graph.executor": "Run",
|
|
101
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_insert_links.executor": "Run",
|
|
102
|
+
"Python tests.Python tests for tests.test_orm_graph_persistent.TestORMGraphPersistent.test_save_load_graph.executor": "Run",
|
|
103
|
+
"Python tests.Python tests for tests.test_rdbgraph.TestRDBGraph.executor": "Run",
|
|
104
|
+
"Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder.executor": "Run",
|
|
105
|
+
"Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder.test__build_links.executor": "Run",
|
|
106
|
+
"Python tests.Python tests for tests.test_sql_graph_builder.TestSQLGraphBuilder.test_build_graph.executor": "Run",
|
|
107
|
+
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.executor": "Run",
|
|
108
|
+
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_asset.executor": "Run",
|
|
109
|
+
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_delete_graph.executor": "Run",
|
|
110
|
+
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_link.executor": "Run",
|
|
111
|
+
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_load_graph.executor": "Run",
|
|
112
|
+
"Python tests.Python tests for tests.test_sql_graph_persistent.TestSQLGraphPersistent.test_save_graph.executor": "Run",
|
|
113
|
+
"Python tests.Python tests for tests.units.test_orm_graph_persistent.TestORMGraphPersistent.test_save_load_graph.executor": "Run",
|
|
114
|
+
"Python tests.Python tests in test_load_graph_sql.py.executor": "Run",
|
|
115
|
+
"Python tests.Python tests in test_trino_builder.py.executor": "Run",
|
|
116
|
+
"Python tests.Python tests in tests.executor": "Run",
|
|
117
|
+
"Python tests.Python tests in units.executor": "Run",
|
|
118
|
+
"RunOnceActivity.ShowReadmeOnStart": "true",
|
|
119
|
+
"RunOnceActivity.git.unshallow": "true",
|
|
120
|
+
"RunOnceActivity.typescript.service.memoryLimit.init": "true",
|
|
121
|
+
"codeWithMe.voiceChat.enabledByDefault": "false",
|
|
122
|
+
"git-widget-placeholder": "optimize-queries",
|
|
123
|
+
"ignore.virus.scanning.warn.message": "true",
|
|
124
|
+
"node.js.detected.package.eslint": "true",
|
|
125
|
+
"node.js.detected.package.jshint": "true",
|
|
126
|
+
"node.js.selected.package.eslint": "(autodetect)",
|
|
127
|
+
"node.js.selected.package.jshint": "",
|
|
128
|
+
"nodejs_package_manager_path": "npm",
|
|
129
|
+
"run.code.analysis.last.selected.profile": "aDefault",
|
|
130
|
+
"settings.editor.selected.configurable": "preferences.PingConfigurable"
|
|
124
131
|
}
|
|
125
|
-
}
|
|
132
|
+
}]]></component>
|
|
126
133
|
<component name="PyConsoleOptionsProvider">
|
|
127
134
|
<option name="myPythonConsoleState">
|
|
128
135
|
<console-settings module-name="dbgraph" is-module-sdk="true">
|
|
@@ -137,7 +144,7 @@
|
|
|
137
144
|
<recent name="C:\Users\minhden\Projects\dbgraph\tests\units" />
|
|
138
145
|
</key>
|
|
139
146
|
</component>
|
|
140
|
-
<component name="RunManager" selected="Python tests.Python tests for tests.
|
|
147
|
+
<component name="RunManager" selected="Python tests.Python tests for tests.units.test_orm_graph_persistent.TestORMGraphPersistent.test_save_load_graph">
|
|
141
148
|
<configuration name="Python tests for tests.integrates.test_sql_graph_builder.TestSQLGraphBuilder.test_build_graph" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
142
149
|
<module name="dbgraph" />
|
|
143
150
|
<option name="ENV_FILES" value="" />
|
|
@@ -155,7 +162,7 @@
|
|
|
155
162
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
156
163
|
<method v="2" />
|
|
157
164
|
</configuration>
|
|
158
|
-
<configuration name="Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.
|
|
165
|
+
<configuration name="Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_orm" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
159
166
|
<module name="dbgraph" />
|
|
160
167
|
<option name="ENV_FILES" value="" />
|
|
161
168
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
@@ -168,11 +175,11 @@
|
|
|
168
175
|
<option name="DEBUG_JUST_MY_CODE" value="false" />
|
|
169
176
|
<option name="RUN_TOOL" value="" />
|
|
170
177
|
<option name="_new_additionalArguments" value="""" />
|
|
171
|
-
<option name="_new_target" value=""tests.integrates.test_trino_builder.TestTrinoBuilder.
|
|
178
|
+
<option name="_new_target" value=""tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_orm"" />
|
|
172
179
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
173
180
|
<method v="2" />
|
|
174
181
|
</configuration>
|
|
175
|
-
<configuration name="Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.
|
|
182
|
+
<configuration name="Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_row_count" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
176
183
|
<module name="dbgraph" />
|
|
177
184
|
<option name="ENV_FILES" value="" />
|
|
178
185
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
@@ -185,11 +192,11 @@
|
|
|
185
192
|
<option name="DEBUG_JUST_MY_CODE" value="false" />
|
|
186
193
|
<option name="RUN_TOOL" value="" />
|
|
187
194
|
<option name="_new_additionalArguments" value="""" />
|
|
188
|
-
<option name="_new_target" value=""tests.integrates.test_trino_builder.TestTrinoBuilder.
|
|
195
|
+
<option name="_new_target" value=""tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_row_count"" />
|
|
189
196
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
190
197
|
<method v="2" />
|
|
191
198
|
</configuration>
|
|
192
|
-
<configuration name="Python tests for tests.
|
|
199
|
+
<configuration name="Python tests for tests.units.test_orm_graph_persistent.TestORMGraphPersistent.test_save_load_graph" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
193
200
|
<module name="dbgraph" />
|
|
194
201
|
<option name="ENV_FILES" value="" />
|
|
195
202
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
@@ -202,34 +209,34 @@
|
|
|
202
209
|
<option name="DEBUG_JUST_MY_CODE" value="false" />
|
|
203
210
|
<option name="RUN_TOOL" value="" />
|
|
204
211
|
<option name="_new_additionalArguments" value="""" />
|
|
205
|
-
<option name="_new_target" value=""tests.
|
|
212
|
+
<option name="_new_target" value=""tests.units.test_orm_graph_persistent.TestORMGraphPersistent.test_save_load_graph"" />
|
|
206
213
|
<option name="_new_targetType" value=""PYTHON"" />
|
|
207
214
|
<method v="2" />
|
|
208
215
|
</configuration>
|
|
209
|
-
<configuration name="Python tests
|
|
216
|
+
<configuration name="Python tests in units" type="tests" factoryName="Autodetect" temporary="true" nameIsGenerated="true">
|
|
210
217
|
<module name="dbgraph" />
|
|
211
218
|
<option name="ENV_FILES" value="" />
|
|
212
219
|
<option name="INTERPRETER_OPTIONS" value="" />
|
|
213
220
|
<option name="PARENT_ENVS" value="true" />
|
|
214
221
|
<option name="SDK_HOME" value="" />
|
|
215
|
-
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR
|
|
222
|
+
<option name="WORKING_DIRECTORY" value="$PROJECT_DIR$/tests/units" />
|
|
216
223
|
<option name="IS_MODULE_SDK" value="true" />
|
|
217
224
|
<option name="ADD_CONTENT_ROOTS" value="true" />
|
|
218
225
|
<option name="ADD_SOURCE_ROOTS" value="true" />
|
|
219
226
|
<option name="DEBUG_JUST_MY_CODE" value="false" />
|
|
220
|
-
<option name="RUN_TOOL" value="
|
|
227
|
+
<option name="RUN_TOOL" value="" />
|
|
221
228
|
<option name="_new_additionalArguments" value="""" />
|
|
222
|
-
<option name="_new_target" value=""
|
|
223
|
-
<option name="_new_targetType" value=""
|
|
229
|
+
<option name="_new_target" value=""$PROJECT_DIR$/tests/units"" />
|
|
230
|
+
<option name="_new_targetType" value=""PATH"" />
|
|
224
231
|
<method v="2" />
|
|
225
232
|
</configuration>
|
|
226
233
|
<recent_temporary>
|
|
227
234
|
<list>
|
|
235
|
+
<item itemvalue="Python tests.Python tests for tests.units.test_orm_graph_persistent.TestORMGraphPersistent.test_save_load_graph" />
|
|
236
|
+
<item itemvalue="Python tests.Python tests in units" />
|
|
228
237
|
<item itemvalue="Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_orm" />
|
|
229
238
|
<item itemvalue="Python tests.Python tests for tests.integrates.test_sql_graph_builder.TestSQLGraphBuilder.test_build_graph" />
|
|
230
239
|
<item itemvalue="Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_table_row_count" />
|
|
231
|
-
<item itemvalue="Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test_build_graph" />
|
|
232
|
-
<item itemvalue="Python tests.Python tests for tests.integrates.test_trino_builder.TestTrinoBuilder.test__get_cat_stats_aspect" />
|
|
233
240
|
</list>
|
|
234
241
|
</recent_temporary>
|
|
235
242
|
</component>
|
|
@@ -336,7 +343,15 @@
|
|
|
336
343
|
<option name="project" value="LOCAL" />
|
|
337
344
|
<updated>1790214726709</updated>
|
|
338
345
|
</task>
|
|
339
|
-
<
|
|
346
|
+
<task id="LOCAL-00012" summary="update sql builder and tests">
|
|
347
|
+
<option name="closed" value="true" />
|
|
348
|
+
<created>1790219300115</created>
|
|
349
|
+
<option name="number" value="00012" />
|
|
350
|
+
<option name="presentableId" value="LOCAL-00012" />
|
|
351
|
+
<option name="project" value="LOCAL" />
|
|
352
|
+
<updated>1790219300115</updated>
|
|
353
|
+
</task>
|
|
354
|
+
<option name="localTasksCounter" value="13" />
|
|
340
355
|
<servers />
|
|
341
356
|
</component>
|
|
342
357
|
<component name="TypeScriptGeneratedFilesManager">
|
|
@@ -1,30 +1,30 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: dbgraph
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.10
|
|
4
4
|
Summary: dbgraph is a database profiling tool which model the database as a graph
|
|
5
5
|
Requires-Python: >=3.11
|
|
6
|
-
Requires-Dist: bm25s
|
|
7
|
-
Requires-Dist: build
|
|
6
|
+
Requires-Dist: bm25s==0.3.11
|
|
7
|
+
Requires-Dist: build==1.6.1
|
|
8
8
|
Requires-Dist: grip>=4.6.2
|
|
9
|
-
Requires-Dist: langchain-openai
|
|
10
|
-
Requires-Dist: langchain
|
|
11
|
-
Requires-Dist: matplotlib
|
|
9
|
+
Requires-Dist: langchain-openai==1.6.5
|
|
10
|
+
Requires-Dist: langchain==1.4.2
|
|
11
|
+
Requires-Dist: matplotlib==3.11.2
|
|
12
12
|
Requires-Dist: mkdocs-gen-files>=0.6.1
|
|
13
13
|
Requires-Dist: mkdocs-material>=9.7.7
|
|
14
14
|
Requires-Dist: mkdocs>=1.6.1
|
|
15
15
|
Requires-Dist: mkdocstrings[python]>=1.0.6
|
|
16
|
-
Requires-Dist: openai
|
|
16
|
+
Requires-Dist: openai==3.19.2
|
|
17
17
|
Requires-Dist: psutil>=7.2.2
|
|
18
|
-
Requires-Dist: pydantic
|
|
18
|
+
Requires-Dist: pydantic==2.13.5
|
|
19
19
|
Requires-Dist: pydot>=4.0.1
|
|
20
20
|
Requires-Dist: pympler>=1.1
|
|
21
21
|
Requires-Dist: pyrefly>=0.60.0
|
|
22
22
|
Requires-Dist: pystemmer>=3.1.0
|
|
23
|
-
Requires-Dist: python-dotenv
|
|
24
|
-
Requires-Dist: rustworkx
|
|
25
|
-
Requires-Dist: sqlalchemy
|
|
26
|
-
Requires-Dist: tqdm
|
|
27
|
-
Requires-Dist: trino
|
|
23
|
+
Requires-Dist: python-dotenv==1.2.3
|
|
24
|
+
Requires-Dist: rustworkx==0.18.1
|
|
25
|
+
Requires-Dist: sqlalchemy==2.0.54
|
|
26
|
+
Requires-Dist: tqdm==4.70.1
|
|
27
|
+
Requires-Dist: trino==0.340.0
|
|
28
28
|
Description-Content-Type: text/markdown
|
|
29
29
|
|
|
30
30
|
# DBGraph - Building schema graph with LLM Assistance
|
|
@@ -6,6 +6,7 @@ from dbgraph.entity.link_type import LinkType
|
|
|
6
6
|
from dbgraph.builder.sql_graph_builder import SQLGraphBuilder
|
|
7
7
|
from dbgraph.descriptor.langchain_graph_descriptor import LangchainGraphDescriptor
|
|
8
8
|
from dbgraph.render.markdown_renderer import MarkdownRenderer
|
|
9
|
+
from dbgraph.persistent.orm_graph_persistent import ORMGraphPersistent
|
|
9
10
|
|
|
10
11
|
__all__ = [
|
|
11
12
|
"Asset",
|
|
@@ -16,4 +17,5 @@ __all__ = [
|
|
|
16
17
|
"SQLGraphBuilder",
|
|
17
18
|
"LangchainGraphDescriptor",
|
|
18
19
|
"MarkdownRenderer",
|
|
20
|
+
"ORMGraphPersistent"
|
|
19
21
|
]
|
|
@@ -134,7 +134,7 @@ class RColumnStatisticsAspect(Aspect):
|
|
|
134
134
|
|
|
135
135
|
non_null_count: int
|
|
136
136
|
null_count: int
|
|
137
|
-
is_textual: bool
|
|
137
|
+
is_textual: bool = False
|
|
138
138
|
numerical_stats: RNumericalStatistics | None = None
|
|
139
139
|
categorical_stats: RCategoricalStatistics | None = None
|
|
140
140
|
temporal_stats: RTemporalStatistics | None = None
|
|
@@ -2,7 +2,7 @@ import json
|
|
|
2
2
|
from dataclasses import dataclass, asdict
|
|
3
3
|
from uuid import UUID
|
|
4
4
|
|
|
5
|
-
from sqlalchemy import create_engine, select, delete, and_
|
|
5
|
+
from sqlalchemy import create_engine, select, delete, and_, event
|
|
6
6
|
from sqlalchemy.orm import Session
|
|
7
7
|
|
|
8
8
|
from dbgraph import Asset, Link, DatabaseGraph, LinkType, AssetType
|
|
@@ -35,6 +35,13 @@ class ORMGraphPersistent(GraphPersistent):
|
|
|
35
35
|
|
|
36
36
|
def __post_init__(self):
|
|
37
37
|
self.engine = create_engine(self.persistent_uri)
|
|
38
|
+
|
|
39
|
+
@event.listens_for(self.engine, "connect")
|
|
40
|
+
def set_sqlite_pragma(dbapi_connection, connection_record):
|
|
41
|
+
cursor = dbapi_connection.cursor()
|
|
42
|
+
cursor.execute("PRAGMA foreign_keys=ON")
|
|
43
|
+
cursor.close()
|
|
44
|
+
|
|
38
45
|
Base.metadata.create_all(self.engine)
|
|
39
46
|
|
|
40
47
|
def insert_graph(self, graph_id: UUID, graph_name: str):
|
|
@@ -212,6 +219,7 @@ class ORMGraphPersistent(GraphPersistent):
|
|
|
212
219
|
categorical_stats=categorical_aspect,
|
|
213
220
|
numerical_stats=numerical_aspect,
|
|
214
221
|
temporal_stats=temp_aspect,
|
|
222
|
+
is_textual=aspect_data["is_textual"]
|
|
215
223
|
)
|
|
216
224
|
case "semantic_properties":
|
|
217
225
|
aspect = SemanticAspect(**aspect_data)
|
|
@@ -4,33 +4,33 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "dbgraph"
|
|
7
|
-
version = "0.2.
|
|
7
|
+
version = "0.2.10"
|
|
8
8
|
description = "dbgraph is a database profiling tool which model the database as a graph"
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.11"
|
|
11
11
|
dependencies = [
|
|
12
|
-
"bm25s
|
|
13
|
-
"build
|
|
12
|
+
"bm25s==0.3.11",
|
|
13
|
+
"build==1.6.1",
|
|
14
14
|
"grip>=4.6.2",
|
|
15
|
-
"langchain
|
|
16
|
-
"langchain-openai
|
|
17
|
-
"matplotlib
|
|
15
|
+
"langchain==1.4.2",
|
|
16
|
+
"langchain-openai==1.6.5",
|
|
17
|
+
"matplotlib==3.11.2",
|
|
18
18
|
"mkdocs>=1.6.1",
|
|
19
19
|
"mkdocs-gen-files>=0.6.1",
|
|
20
20
|
"mkdocs-material>=9.7.7",
|
|
21
21
|
"mkdocstrings[python]>=1.0.6",
|
|
22
|
-
"openai
|
|
22
|
+
"openai==3.19.2",
|
|
23
23
|
"psutil>=7.2.2",
|
|
24
|
-
"pydantic
|
|
24
|
+
"pydantic==2.13.5",
|
|
25
25
|
"pydot>=4.0.1",
|
|
26
26
|
"pympler>=1.1",
|
|
27
27
|
"pyrefly>=0.60.0",
|
|
28
28
|
"pystemmer>=3.1.0",
|
|
29
|
-
"python-dotenv
|
|
30
|
-
"rustworkx
|
|
31
|
-
"sqlalchemy
|
|
32
|
-
"tqdm
|
|
33
|
-
"trino
|
|
29
|
+
"python-dotenv==1.2.3",
|
|
30
|
+
"rustworkx==0.18.1",
|
|
31
|
+
"sqlalchemy==2.0.54",
|
|
32
|
+
"tqdm==4.70.1",
|
|
33
|
+
"trino==0.340.0",
|
|
34
34
|
]
|
|
35
35
|
|
|
36
36
|
[tool.setuptools.packages.find]
|
|
File without changes
|
|
@@ -84,6 +84,7 @@ class TestORMGraphPersistent(unittest.TestCase):
|
|
|
84
84
|
name="column-1-1-statistic",
|
|
85
85
|
non_null_count=0,
|
|
86
86
|
null_count=0,
|
|
87
|
+
is_textual=False,
|
|
87
88
|
numerical_stats=RNumericalStatistics(min=0, max=0, mean=0),
|
|
88
89
|
categorical_stats=None,
|
|
89
90
|
),
|
|
@@ -108,6 +109,7 @@ class TestORMGraphPersistent(unittest.TestCase):
|
|
|
108
109
|
non_null_count=0,
|
|
109
110
|
null_count=0,
|
|
110
111
|
numerical_stats=None,
|
|
112
|
+
is_textual=False,
|
|
111
113
|
categorical_stats=RCategoricalStatistics(
|
|
112
114
|
value_counts={"1": 1, "2": 2}
|
|
113
115
|
),
|
|
@@ -132,6 +134,7 @@ class TestORMGraphPersistent(unittest.TestCase):
|
|
|
132
134
|
name="column-2-1-statistic",
|
|
133
135
|
non_null_count=0,
|
|
134
136
|
null_count=0,
|
|
137
|
+
is_textual=False,
|
|
135
138
|
numerical_stats=None,
|
|
136
139
|
categorical_stats=None,
|
|
137
140
|
temporal_stats=RTemporalStatistics(
|
|
@@ -362,6 +365,9 @@ class TestORMGraphPersistent(unittest.TestCase):
|
|
|
362
365
|
self.persistent.save_graph(target_id, "test", self.graph)
|
|
363
366
|
graph = self.persistent.load_graph(target_id)
|
|
364
367
|
self.assertEqual(self.graph, graph)
|
|
368
|
+
self.persistent.delete_graph(target_id)
|
|
369
|
+
assets = self.persistent.get_assets(target_id)
|
|
370
|
+
self.assertEqual(0, len(assets))
|
|
365
371
|
|
|
366
372
|
|
|
367
373
|
if __name__ == "__main__":
|