thoth-dbmanager 0.4.3__tar.gz → 0.4.6__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.
- {thoth_dbmanager-0.4.3/thoth_dbmanager.egg-info → thoth_dbmanager-0.4.6}/PKG-INFO +1 -2
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/pyproject.toml +1 -2
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/ThothDbManager.py +1 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/mariadb.py +24 -1
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/mysql.py +24 -1
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/postgresql.py +28 -2
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/sqlite.py +28 -2
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6/thoth_dbmanager.egg-info}/PKG-INFO +1 -2
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/LICENSE +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/MANIFEST.in +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/README.md +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/setup.cfg +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_integration_new_architecture.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_lsh_query.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_new_architecture.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_parameter_validation.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_db_manager_base.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_informix_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_mariadb_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_mysql_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_oracle_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_pg_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_sqlite_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_sqlserver_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/tests/test_thoth_supabase_manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/__init__.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/__init__.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/mariadb.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/mysql.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/oracle.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/postgresql.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/sqlite.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/sqlserver.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/adapters/supabase.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/core/__init__.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/core/factory.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/core/interfaces.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/core/registry.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/documents.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/dynamic_imports.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/helpers/__init__.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/helpers/multi_db_generator.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/helpers/preprocess_values.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/helpers/schema.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/helpers/search.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/lsh/__init__.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/lsh/core.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/lsh/factory.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/lsh/manager.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/lsh/storage.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/__init__.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/oracle.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/sqlserver.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/plugins/supabase.py +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager.egg-info/SOURCES.txt +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager.egg-info/dependency_links.txt +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager.egg-info/requires.txt +0 -0
- {thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager.egg-info/top_level.txt +0 -0
@@ -1,9 +1,8 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: thoth_dbmanager
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.6
|
4
4
|
Summary: A Python library for managing SQL databases with support for multiple database types, LSH-based similarity search, and a modern plugin architecture.
|
5
5
|
Author-email: Marco Pancotti <mp@tylconsulting.it>
|
6
|
-
License: MIT
|
7
6
|
Project-URL: Homepage, https://github.com/mptyl/thoth_dbmanager
|
8
7
|
Project-URL: Bug Tracker, https://github.com/mptyl/thoth_dbmanager/issues
|
9
8
|
Project-URL: Documentation, https://github.com/mptyl/thoth_dbmanager#readme
|
@@ -4,13 +4,12 @@ build-backend = "setuptools.build_meta"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "thoth_dbmanager"
|
7
|
-
version = "0.4.
|
7
|
+
version = "0.4.6"
|
8
8
|
authors = [
|
9
9
|
{ name="Marco Pancotti", email="mp@tylconsulting.it" },
|
10
10
|
]
|
11
11
|
description = "A Python library for managing SQL databases with support for multiple database types, LSH-based similarity search, and a modern plugin architecture."
|
12
12
|
readme = "README.md"
|
13
|
-
license = {text = "MIT"}
|
14
13
|
keywords = ["database", "sql", "lsh", "similarity-search", "orm"]
|
15
14
|
requires-python = ">=3.8"
|
16
15
|
classifiers = [
|
@@ -346,6 +346,7 @@ class ThothDbManagerAdapter(ThothDbManager):
|
|
346
346
|
self.db_type = plugin.supported_db_types[0] if plugin.supported_db_types else "unknown"
|
347
347
|
self.db_id = getattr(plugin, 'db_id', None)
|
348
348
|
self.db_directory_path = getattr(plugin, 'db_directory_path', None)
|
349
|
+
self.schema = getattr(plugin, 'schema', "")
|
349
350
|
|
350
351
|
# Engine and connection (delegated to adapter)
|
351
352
|
self.engine = getattr(plugin.adapter, 'engine', None) if plugin.adapter else None
|
@@ -377,7 +377,30 @@ class MariaDBPlugin(DbPlugin):
|
|
377
377
|
"""Lazy load LSH manager for backward compatibility."""
|
378
378
|
if self._lsh_manager is None and self.db_directory_path:
|
379
379
|
from ..lsh.manager import LshManager
|
380
|
-
|
380
|
+
# Try multiple possible paths for LSH data
|
381
|
+
possible_paths = [
|
382
|
+
self.db_directory_path, # Original path
|
383
|
+
Path(self.db_root_path) / "data" / f"{self.db_mode}_databases" / self.db_id, # Data subdirectory
|
384
|
+
]
|
385
|
+
|
386
|
+
lsh_manager = None
|
387
|
+
for path in possible_paths:
|
388
|
+
try:
|
389
|
+
temp_manager = LshManager(path)
|
390
|
+
if temp_manager.is_available():
|
391
|
+
lsh_manager = temp_manager
|
392
|
+
logger.info(f"Found LSH data at: {path}")
|
393
|
+
break
|
394
|
+
except Exception as e:
|
395
|
+
logger.debug(f"LSH not found at {path}: {e}")
|
396
|
+
continue
|
397
|
+
|
398
|
+
if lsh_manager is None:
|
399
|
+
# Create manager with original path as fallback
|
400
|
+
lsh_manager = LshManager(self.db_directory_path)
|
401
|
+
logger.warning(f"No LSH data found, using default path: {self.db_directory_path}")
|
402
|
+
|
403
|
+
self._lsh_manager = lsh_manager
|
381
404
|
return self._lsh_manager
|
382
405
|
|
383
406
|
# LSH integration methods for backward compatibility
|
@@ -349,7 +349,30 @@ class MySQLPlugin(DbPlugin):
|
|
349
349
|
"""Lazy load LSH manager for backward compatibility."""
|
350
350
|
if self._lsh_manager is None and self.db_directory_path:
|
351
351
|
from ..lsh.manager import LshManager
|
352
|
-
|
352
|
+
# Try multiple possible paths for LSH data
|
353
|
+
possible_paths = [
|
354
|
+
self.db_directory_path, # Original path
|
355
|
+
Path(self.db_root_path) / "data" / f"{self.db_mode}_databases" / self.db_id, # Data subdirectory
|
356
|
+
]
|
357
|
+
|
358
|
+
lsh_manager = None
|
359
|
+
for path in possible_paths:
|
360
|
+
try:
|
361
|
+
temp_manager = LshManager(path)
|
362
|
+
if temp_manager.is_available():
|
363
|
+
lsh_manager = temp_manager
|
364
|
+
logger.info(f"Found LSH data at: {path}")
|
365
|
+
break
|
366
|
+
except Exception as e:
|
367
|
+
logger.debug(f"LSH not found at {path}: {e}")
|
368
|
+
continue
|
369
|
+
|
370
|
+
if lsh_manager is None:
|
371
|
+
# Create manager with original path as fallback
|
372
|
+
lsh_manager = LshManager(self.db_directory_path)
|
373
|
+
logger.warning(f"No LSH data found, using default path: {self.db_directory_path}")
|
374
|
+
|
375
|
+
self._lsh_manager = lsh_manager
|
353
376
|
return self._lsh_manager
|
354
377
|
|
355
378
|
# LSH integration methods for backward compatibility
|
@@ -27,7 +27,10 @@ class PostgreSQLPlugin(DbPlugin):
|
|
27
27
|
super().__init__(db_root_path, db_mode, **kwargs)
|
28
28
|
self.db_id = None
|
29
29
|
self.db_directory_path = None
|
30
|
-
|
30
|
+
|
31
|
+
# PostgreSQL default schema is 'public', but can be overridden
|
32
|
+
self.schema = kwargs.get('schema', 'public')
|
33
|
+
|
31
34
|
# LSH manager integration (for backward compatibility)
|
32
35
|
self._lsh_manager = None
|
33
36
|
|
@@ -90,7 +93,30 @@ class PostgreSQLPlugin(DbPlugin):
|
|
90
93
|
"""Lazy load LSH manager for backward compatibility"""
|
91
94
|
if self._lsh_manager is None and self.db_directory_path:
|
92
95
|
from ..lsh.manager import LshManager
|
93
|
-
|
96
|
+
# Try multiple possible paths for LSH data
|
97
|
+
possible_paths = [
|
98
|
+
self.db_directory_path, # Original path
|
99
|
+
Path(self.db_root_path) / "data" / f"{self.db_mode}_databases" / self.db_id, # Data subdirectory
|
100
|
+
]
|
101
|
+
|
102
|
+
lsh_manager = None
|
103
|
+
for path in possible_paths:
|
104
|
+
try:
|
105
|
+
temp_manager = LshManager(path)
|
106
|
+
if temp_manager.is_available():
|
107
|
+
lsh_manager = temp_manager
|
108
|
+
logger.info(f"Found LSH data at: {path}")
|
109
|
+
break
|
110
|
+
except Exception as e:
|
111
|
+
logger.debug(f"LSH not found at {path}: {e}")
|
112
|
+
continue
|
113
|
+
|
114
|
+
if lsh_manager is None:
|
115
|
+
# Create manager with original path as fallback
|
116
|
+
lsh_manager = LshManager(self.db_directory_path)
|
117
|
+
logger.warning(f"No LSH data found, using default path: {self.db_directory_path}")
|
118
|
+
|
119
|
+
self._lsh_manager = lsh_manager
|
94
120
|
return self._lsh_manager
|
95
121
|
|
96
122
|
# LSH integration methods for backward compatibility
|
@@ -28,7 +28,10 @@ class SQLitePlugin(DbPlugin):
|
|
28
28
|
self.db_id = None
|
29
29
|
self.db_directory_path = None
|
30
30
|
self.database_path = None
|
31
|
-
|
31
|
+
|
32
|
+
# SQLite doesn't have named schemas like PostgreSQL, so we use empty string
|
33
|
+
self.schema = ""
|
34
|
+
|
32
35
|
# LSH manager integration (for backward compatibility)
|
33
36
|
self._lsh_manager = None
|
34
37
|
|
@@ -114,7 +117,30 @@ class SQLitePlugin(DbPlugin):
|
|
114
117
|
"""Lazy load LSH manager for backward compatibility"""
|
115
118
|
if self._lsh_manager is None and self.db_directory_path:
|
116
119
|
from ..lsh.manager import LshManager
|
117
|
-
|
120
|
+
# Try multiple possible paths for LSH data
|
121
|
+
possible_paths = [
|
122
|
+
self.db_directory_path, # Original path
|
123
|
+
Path(self.db_root_path) / "data" / f"{self.db_mode}_databases" / self.db_id, # Data subdirectory
|
124
|
+
]
|
125
|
+
|
126
|
+
lsh_manager = None
|
127
|
+
for path in possible_paths:
|
128
|
+
try:
|
129
|
+
temp_manager = LshManager(path)
|
130
|
+
if temp_manager.is_available():
|
131
|
+
lsh_manager = temp_manager
|
132
|
+
logger.info(f"Found LSH data at: {path}")
|
133
|
+
break
|
134
|
+
except Exception as e:
|
135
|
+
logger.debug(f"LSH not found at {path}: {e}")
|
136
|
+
continue
|
137
|
+
|
138
|
+
if lsh_manager is None:
|
139
|
+
# Create manager with original path as fallback
|
140
|
+
lsh_manager = LshManager(self.db_directory_path)
|
141
|
+
logger.warning(f"No LSH data found, using default path: {self.db_directory_path}")
|
142
|
+
|
143
|
+
self._lsh_manager = lsh_manager
|
118
144
|
return self._lsh_manager
|
119
145
|
|
120
146
|
# LSH integration methods for backward compatibility
|
@@ -1,9 +1,8 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: thoth_dbmanager
|
3
|
-
Version: 0.4.
|
3
|
+
Version: 0.4.6
|
4
4
|
Summary: A Python library for managing SQL databases with support for multiple database types, LSH-based similarity search, and a modern plugin architecture.
|
5
5
|
Author-email: Marco Pancotti <mp@tylconsulting.it>
|
6
|
-
License: MIT
|
7
6
|
Project-URL: Homepage, https://github.com/mptyl/thoth_dbmanager
|
8
7
|
Project-URL: Bug Tracker, https://github.com/mptyl/thoth_dbmanager/issues
|
9
8
|
Project-URL: Documentation, https://github.com/mptyl/thoth_dbmanager#readme
|
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
|
{thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/helpers/multi_db_generator.py
RENAMED
File without changes
|
{thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager/helpers/preprocess_values.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
|
{thoth_dbmanager-0.4.3 → thoth_dbmanager-0.4.6}/thoth_dbmanager.egg-info/dependency_links.txt
RENAMED
File without changes
|
File without changes
|
File without changes
|