meerschaum 3.0.4__py3-none-any.whl → 3.0.6__py3-none-any.whl
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.
- meerschaum/_internal/static.py +10 -0
- meerschaum/actions/copy.py +1 -1
- meerschaum/actions/delete.py +1 -1
- meerschaum/api/dash/callbacks/dashboard.py +20 -3
- meerschaum/api/dash/pipes.py +25 -9
- meerschaum/config/_version.py +1 -1
- meerschaum/connectors/__init__.py +13 -6
- meerschaum/connectors/parse.py +2 -2
- meerschaum/connectors/sql/_SQLConnector.py +4 -3
- meerschaum/connectors/sql/_cli.py +6 -1
- meerschaum/connectors/sql/_create_engine.py +2 -1
- meerschaum/connectors/sql/_fetch.py +25 -22
- meerschaum/connectors/sql/_pipes.py +19 -6
- meerschaum/connectors/sql/_sql.py +31 -1
- meerschaum/connectors/sql/_uri.py +1 -1
- meerschaum/connectors/sql/tables/__init__.py +2 -2
- meerschaum/core/Pipe/_attributes.py +1 -1
- meerschaum/core/Plugin/_Plugin.py +9 -3
- meerschaum/plugins/__init__.py +24 -7
- meerschaum/utils/_get_pipes.py +2 -2
- meerschaum/utils/dtypes/sql.py +68 -1
- meerschaum/utils/packages/__init__.py +10 -8
- meerschaum/utils/sql.py +86 -9
- meerschaum/utils/venv/_Venv.py +18 -6
- meerschaum/utils/venv/__init__.py +20 -4
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/METADATA +1 -1
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/RECORD +33 -33
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/WHEEL +0 -0
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/entry_points.txt +0 -0
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/licenses/LICENSE +0 -0
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/licenses/NOTICE +0 -0
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/top_level.txt +0 -0
- {meerschaum-3.0.4.dist-info → meerschaum-3.0.6.dist-info}/zip-safe +0 -0
meerschaum/utils/sql.py
CHANGED
@@ -36,6 +36,7 @@ exists_queries = {
|
|
36
36
|
version_queries = {
|
37
37
|
'default': "SELECT VERSION() AS {version_name}",
|
38
38
|
'sqlite': "SELECT SQLITE_VERSION() AS {version_name}",
|
39
|
+
'geopackage': "SELECT SQLITE_VERSION() AS {version_name}",
|
39
40
|
'mssql': "SELECT @@version",
|
40
41
|
'oracle': "SELECT version from PRODUCT_COMPONENT_VERSION WHERE rownum = 1",
|
41
42
|
}
|
@@ -50,6 +51,7 @@ DROP_IF_EXISTS_FLAVORS = {
|
|
50
51
|
'mysql',
|
51
52
|
'mariadb',
|
52
53
|
'sqlite',
|
54
|
+
'geopackage',
|
53
55
|
}
|
54
56
|
DROP_INDEX_IF_EXISTS_FLAVORS = {
|
55
57
|
'mssql',
|
@@ -58,6 +60,7 @@ DROP_INDEX_IF_EXISTS_FLAVORS = {
|
|
58
60
|
'postgresql',
|
59
61
|
'postgis',
|
60
62
|
'sqlite',
|
63
|
+
'geopackage',
|
61
64
|
'citus',
|
62
65
|
}
|
63
66
|
SKIP_AUTO_INCREMENT_FLAVORS = {'citus', 'duckdb'}
|
@@ -223,6 +226,13 @@ UPDATE_QUERIES = {
|
|
223
226
|
SELECT {patch_cols_str} FROM {patch_table_name} AS p
|
224
227
|
""",
|
225
228
|
],
|
229
|
+
'geopackage-upsert': """
|
230
|
+
INSERT INTO {target_table_name} ({patch_cols_str})
|
231
|
+
SELECT {patch_cols_str}
|
232
|
+
FROM {patch_table_name}
|
233
|
+
WHERE true
|
234
|
+
ON CONFLICT ({join_cols_str}) DO {update_or_nothing} {sets_subquery_none_excluded}
|
235
|
+
""",
|
226
236
|
}
|
227
237
|
columns_types_queries = {
|
228
238
|
'default': """
|
@@ -250,6 +260,19 @@ columns_types_queries = {
|
|
250
260
|
WHERE m.type = 'table'
|
251
261
|
AND m.name IN ('{table}', '{table_trunc}')
|
252
262
|
""",
|
263
|
+
'geopackage': """
|
264
|
+
SELECT
|
265
|
+
'' "database",
|
266
|
+
'' "schema",
|
267
|
+
m.name "table",
|
268
|
+
p.name "column",
|
269
|
+
p.type "type"
|
270
|
+
FROM sqlite_master m
|
271
|
+
LEFT OUTER JOIN pragma_table_info(m.name) p
|
272
|
+
ON m.name <> p.name
|
273
|
+
WHERE m.type = 'table'
|
274
|
+
AND m.name IN ('{table}', '{table_trunc}')
|
275
|
+
""",
|
253
276
|
'mssql': """
|
254
277
|
SELECT
|
255
278
|
TABLE_CATALOG AS [database],
|
@@ -388,6 +411,49 @@ columns_indices_queries = {
|
|
388
411
|
index_type
|
389
412
|
FROM primary_key_columns
|
390
413
|
""",
|
414
|
+
'geopackage': """
|
415
|
+
WITH indexed_columns AS (
|
416
|
+
SELECT
|
417
|
+
'{table}' AS table_name,
|
418
|
+
pi.name AS column_name,
|
419
|
+
i.name AS index_name,
|
420
|
+
'INDEX' AS index_type
|
421
|
+
FROM
|
422
|
+
sqlite_master AS i,
|
423
|
+
pragma_index_info(i.name) AS pi
|
424
|
+
WHERE
|
425
|
+
i.type = 'index'
|
426
|
+
AND i.tbl_name = '{table}'
|
427
|
+
),
|
428
|
+
primary_key_columns AS (
|
429
|
+
SELECT
|
430
|
+
'{table}' AS table_name,
|
431
|
+
ti.name AS column_name,
|
432
|
+
'PRIMARY_KEY' AS index_name,
|
433
|
+
'PRIMARY KEY' AS index_type
|
434
|
+
FROM
|
435
|
+
pragma_table_info('{table}') AS ti
|
436
|
+
WHERE
|
437
|
+
ti.pk > 0
|
438
|
+
)
|
439
|
+
SELECT
|
440
|
+
NULL AS "database",
|
441
|
+
NULL AS "schema",
|
442
|
+
"table_name" AS "table",
|
443
|
+
"column_name" AS "column",
|
444
|
+
"index_name" AS "index",
|
445
|
+
"index_type"
|
446
|
+
FROM indexed_columns
|
447
|
+
UNION ALL
|
448
|
+
SELECT
|
449
|
+
NULL AS "database",
|
450
|
+
NULL AS "schema",
|
451
|
+
table_name AS "table",
|
452
|
+
column_name AS "column",
|
453
|
+
index_name AS "index",
|
454
|
+
index_type
|
455
|
+
FROM primary_key_columns
|
456
|
+
""",
|
391
457
|
'mssql': """
|
392
458
|
SELECT
|
393
459
|
NULL AS [database],
|
@@ -504,6 +570,11 @@ reset_autoincrement_queries: Dict[str, Union[str, List[str]]] = {
|
|
504
570
|
SET seq = {val}
|
505
571
|
WHERE name = '{table}'
|
506
572
|
""",
|
573
|
+
'geopackage': """
|
574
|
+
UPDATE sqlite_sequence
|
575
|
+
SET seq = {val}
|
576
|
+
WHERE name = '{table}'
|
577
|
+
""",
|
507
578
|
'oracle': (
|
508
579
|
"ALTER TABLE {table_name} MODIFY {column_name} "
|
509
580
|
"GENERATED BY DEFAULT ON NULL AS IDENTITY (START WITH {val_plus_1})"
|
@@ -518,6 +589,7 @@ table_wrappers = {
|
|
518
589
|
'postgresql' : ('"', '"'),
|
519
590
|
'postgis' : ('"', '"'),
|
520
591
|
'sqlite' : ('"', '"'),
|
592
|
+
'geopackage' : ('"', '"'),
|
521
593
|
'mysql' : ('`', '`'),
|
522
594
|
'mariadb' : ('`', '`'),
|
523
595
|
'mssql' : ('[', ']'),
|
@@ -534,7 +606,8 @@ max_name_lens = {
|
|
534
606
|
'timescaledb-ha': 64,
|
535
607
|
'citus' : 64,
|
536
608
|
'cockroachdb' : 64,
|
537
|
-
'sqlite' : 1024,
|
609
|
+
'sqlite' : 1024,
|
610
|
+
'geopackage' : 1024,
|
538
611
|
'mysql' : 64,
|
539
612
|
'mariadb' : 64,
|
540
613
|
}
|
@@ -549,6 +622,7 @@ json_flavors = {
|
|
549
622
|
NO_SCHEMA_FLAVORS = {
|
550
623
|
'oracle',
|
551
624
|
'sqlite',
|
625
|
+
'geopackage',
|
552
626
|
'mysql',
|
553
627
|
'mariadb',
|
554
628
|
'duckdb',
|
@@ -573,6 +647,7 @@ OMIT_NULLSFIRST_FLAVORS = {
|
|
573
647
|
SINGLE_ALTER_TABLE_FLAVORS = {
|
574
648
|
'duckdb',
|
575
649
|
'sqlite',
|
650
|
+
'geopackage',
|
576
651
|
'mssql',
|
577
652
|
'oracle',
|
578
653
|
}
|
@@ -582,6 +657,7 @@ NO_CTE_FLAVORS = {
|
|
582
657
|
}
|
583
658
|
NO_SELECT_INTO_FLAVORS = {
|
584
659
|
'sqlite',
|
660
|
+
'geopackage',
|
585
661
|
'oracle',
|
586
662
|
'mysql',
|
587
663
|
'mariadb',
|
@@ -629,6 +705,7 @@ def dateadd_str(
|
|
629
705
|
- `'mysql'`
|
630
706
|
- `'mariadb'`
|
631
707
|
- `'sqlite'`
|
708
|
+
- `'geopackage'`
|
632
709
|
- `'oracle'`
|
633
710
|
|
634
711
|
datepart: str, default `'day'`
|
@@ -763,7 +840,7 @@ def dateadd_str(
|
|
763
840
|
)
|
764
841
|
da = (f"DATE_ADD({begin}, INTERVAL {number} {datepart})" if number != 0 else begin)
|
765
842
|
|
766
|
-
elif flavor
|
843
|
+
elif flavor in ('sqlite', 'geopackage'):
|
767
844
|
da = f"datetime({begin}, '{number} {datepart}')"
|
768
845
|
|
769
846
|
elif flavor == 'oracle':
|
@@ -909,7 +986,7 @@ def sql_item_name(item: str, flavor: str, schema: Optional[str] = None) -> str:
|
|
909
986
|
wrappers = table_wrappers.get(flavor, table_wrappers['default'])
|
910
987
|
|
911
988
|
### NOTE: SQLite does not support schemas.
|
912
|
-
if flavor
|
989
|
+
if flavor in ('sqlite', 'geopackage'):
|
913
990
|
schema = None
|
914
991
|
elif flavor == 'mssql' and str(item).startswith('#'):
|
915
992
|
schema = None
|
@@ -1293,7 +1370,7 @@ def get_table_cols_types(
|
|
1293
1370
|
schema = None
|
1294
1371
|
if schema is None:
|
1295
1372
|
schema = DEFAULT_SCHEMA_FLAVORS.get(flavor, None)
|
1296
|
-
if flavor in ('sqlite', 'duckdb', 'oracle'):
|
1373
|
+
if flavor in ('sqlite', 'duckdb', 'oracle', 'geopackage'):
|
1297
1374
|
database = None
|
1298
1375
|
table_trunc = truncate_item_name(table, flavor=flavor)
|
1299
1376
|
table_lower = table.lower()
|
@@ -1472,7 +1549,7 @@ def get_table_cols_indices(
|
|
1472
1549
|
schema = None
|
1473
1550
|
if schema is None:
|
1474
1551
|
schema = DEFAULT_SCHEMA_FLAVORS.get(flavor, None)
|
1475
|
-
if flavor in ('sqlite', 'duckdb', 'oracle'):
|
1552
|
+
if flavor in ('sqlite', 'duckdb', 'oracle', 'geopackage'):
|
1476
1553
|
database = None
|
1477
1554
|
table_trunc = truncate_item_name(table, flavor=flavor)
|
1478
1555
|
table_lower = table.lower()
|
@@ -1662,7 +1739,7 @@ def get_update_queries(
|
|
1662
1739
|
if not flavor:
|
1663
1740
|
raise ValueError("Provide a flavor if using a SQLAlchemy session.")
|
1664
1741
|
if (
|
1665
|
-
flavor
|
1742
|
+
flavor in ('sqlite', 'geopackage')
|
1666
1743
|
and isinstance(connectable, SQLConnector)
|
1667
1744
|
and connectable.db_version < '3.33.0'
|
1668
1745
|
):
|
@@ -1776,7 +1853,7 @@ def get_update_queries(
|
|
1776
1853
|
if c_name in utc_value_cols
|
1777
1854
|
else ''
|
1778
1855
|
))
|
1779
|
-
if flavor
|
1856
|
+
if flavor not in ('sqlite', 'geopackage')
|
1780
1857
|
else ('', '', '')
|
1781
1858
|
)
|
1782
1859
|
)
|
@@ -2183,7 +2260,7 @@ def _get_create_table_query_from_dtypes(
|
|
2183
2260
|
)) if autoincrement or primary_key not in dtypes else ''
|
2184
2261
|
col_name = sql_item_name(primary_key, flavor=flavor, schema=None)
|
2185
2262
|
|
2186
|
-
if flavor
|
2263
|
+
if flavor in ('sqlite', 'geopackage'):
|
2187
2264
|
query += (
|
2188
2265
|
f"\n {col_name} "
|
2189
2266
|
+ (f"{col_db_type}" if not auto_increment_str else 'INTEGER')
|
@@ -2315,7 +2392,7 @@ def _get_create_table_query_from_cte(
|
|
2315
2392
|
f"ADD PRIMARY KEY ({primary_key_name})"
|
2316
2393
|
),
|
2317
2394
|
]
|
2318
|
-
elif flavor in ('sqlite', 'mysql', 'mariadb', 'duckdb', 'oracle'):
|
2395
|
+
elif flavor in ('sqlite', 'mysql', 'mariadb', 'duckdb', 'oracle', 'geopackage'):
|
2319
2396
|
create_table_queries = [
|
2320
2397
|
(
|
2321
2398
|
f"CREATE TABLE {new_table_name} AS\n"
|
meerschaum/utils/venv/_Venv.py
CHANGED
@@ -11,7 +11,8 @@ from __future__ import annotations
|
|
11
11
|
import copy
|
12
12
|
import pathlib
|
13
13
|
from meerschaum.utils.typing import Union
|
14
|
-
|
14
|
+
|
15
|
+
import meerschaum as mrsm
|
15
16
|
|
16
17
|
|
17
18
|
class Venv:
|
@@ -35,7 +36,8 @@ class Venv:
|
|
35
36
|
|
36
37
|
def __init__(
|
37
38
|
self,
|
38
|
-
venv: Union[str, '
|
39
|
+
venv: Union[str, 'mrsm.core.Plugin', None] = 'mrsm',
|
40
|
+
init_if_not_exists: bool = True,
|
39
41
|
debug: bool = False,
|
40
42
|
) -> None:
|
41
43
|
from meerschaum.utils.venv import activate_venv, deactivate_venv, active_venvs
|
@@ -52,6 +54,7 @@ class Venv:
|
|
52
54
|
self._deactivate = deactivate_venv
|
53
55
|
self._kwargs = {'venv': venv}
|
54
56
|
self._debug = debug
|
57
|
+
self._init_if_not_exists = init_if_not_exists
|
55
58
|
### In case someone calls `deactivate()` before `activate()`.
|
56
59
|
self._kwargs['previously_active_venvs'] = copy.deepcopy(active_venvs)
|
57
60
|
|
@@ -65,11 +68,20 @@ class Venv:
|
|
65
68
|
from meerschaum.utils.venv import active_venvs, init_venv
|
66
69
|
self._kwargs['previously_active_venvs'] = copy.deepcopy(active_venvs)
|
67
70
|
try:
|
68
|
-
return self._activate(
|
71
|
+
return self._activate(
|
72
|
+
debug=(debug or self._debug),
|
73
|
+
init_if_not_exists=self._init_if_not_exists,
|
74
|
+
**self._kwargs
|
75
|
+
)
|
69
76
|
except OSError as e:
|
70
|
-
if
|
71
|
-
|
72
|
-
|
77
|
+
if self._init_if_not_exists:
|
78
|
+
if not init_venv(self._venv, force=True):
|
79
|
+
raise e
|
80
|
+
return self._activate(
|
81
|
+
debug=(debug or self._debug),
|
82
|
+
init_if_not_exists=self._init_if_not_exists,
|
83
|
+
**self._kwargs
|
84
|
+
)
|
73
85
|
|
74
86
|
|
75
87
|
def deactivate(self, debug: bool = False) -> bool:
|
@@ -39,6 +39,7 @@ def activate_venv(
|
|
39
39
|
venv: Optional[str] = 'mrsm',
|
40
40
|
color: bool = True,
|
41
41
|
force: bool = False,
|
42
|
+
init_if_not_exists: bool = True,
|
42
43
|
debug: bool = False,
|
43
44
|
**kw
|
44
45
|
) -> bool:
|
@@ -53,6 +54,9 @@ def activate_venv(
|
|
53
54
|
color: bool, default True
|
54
55
|
If `True`, include color in debug text.
|
55
56
|
|
57
|
+
init_if_not_exists: bool, default True
|
58
|
+
If `True`, create the virtual environment if it does not exist.
|
59
|
+
|
56
60
|
force: bool, default False
|
57
61
|
If `True`, do not exit early even if the venv is currently active.
|
58
62
|
|
@@ -68,10 +72,12 @@ def activate_venv(
|
|
68
72
|
if active_venvs_order and active_venvs_order[0] == venv:
|
69
73
|
if not force:
|
70
74
|
return True
|
75
|
+
|
71
76
|
import sys
|
72
77
|
import os
|
73
|
-
if venv is not None:
|
78
|
+
if venv is not None and init_if_not_exists:
|
74
79
|
init_venv(venv=venv, debug=debug)
|
80
|
+
|
75
81
|
with LOCKS['active_venvs']:
|
76
82
|
if thread_id not in threads_active_venvs:
|
77
83
|
threads_active_venvs[thread_id] = {}
|
@@ -82,10 +88,14 @@ def activate_venv(
|
|
82
88
|
threads_active_venvs[thread_id][venv] += 1
|
83
89
|
|
84
90
|
target_path = venv_target_path(venv, debug=debug, allow_nonexistent=True)
|
85
|
-
if not target_path.exists():
|
91
|
+
if not target_path.exists() and venv is not None and init_if_not_exists:
|
86
92
|
init_venv(venv=venv, force=True, debug=debug)
|
93
|
+
|
87
94
|
if not target_path.exists():
|
95
|
+
if init_if_not_exists:
|
96
|
+
return False
|
88
97
|
raise EnvironmentError(f"Could not activate virtual environment '{venv}'.")
|
98
|
+
|
89
99
|
target = target_path.as_posix()
|
90
100
|
|
91
101
|
if venv in active_venvs_order:
|
@@ -97,6 +107,7 @@ def activate_venv(
|
|
97
107
|
active_venvs_order.remove(venv)
|
98
108
|
except Exception:
|
99
109
|
pass
|
110
|
+
|
100
111
|
if venv is not None:
|
101
112
|
sys.path.insert(0, target)
|
102
113
|
else:
|
@@ -315,8 +326,13 @@ def verify_venv(
|
|
315
326
|
|
316
327
|
### E.g. python3.10 actually links to Python 3.10.
|
317
328
|
if filename == python_versioned_name:
|
318
|
-
|
319
|
-
|
329
|
+
try:
|
330
|
+
real_path = pathlib.Path(os.path.realpath(python_path))
|
331
|
+
real_path_exists = real_path.exists()
|
332
|
+
except Exception:
|
333
|
+
real_path_exists = False
|
334
|
+
|
335
|
+
if not real_path_exists:
|
320
336
|
try:
|
321
337
|
python_path.unlink()
|
322
338
|
except Exception:
|
@@ -2,7 +2,7 @@ meerschaum/__init__.py,sha256=4gb50vOezjYiFHw6oHZfV7enCvCnUqTdZycWyD8BSzE,1766
|
|
2
2
|
meerschaum/__main__.py,sha256=r5UjYxH1WA6dGG9YGBPul5xOdgF3Iwl0X4dWDtXU-30,2646
|
3
3
|
meerschaum/_internal/__init__.py,sha256=5Z41PIj8BbJ2bZJykk7EE4ulyEKKZLCHGVgaTZLfkmY,223
|
4
4
|
meerschaum/_internal/entry.py,sha256=dNk_3KYHx8NgvkVvl5OqAX4MwqYVqfg0GbsGHBiC5Ng,13889
|
5
|
-
meerschaum/_internal/static.py,sha256=
|
5
|
+
meerschaum/_internal/static.py,sha256=CG_hzIhNb05CryfaYO-KcobKdXGgyXpLqGvRU_A5BiA,12581
|
6
6
|
meerschaum/_internal/arguments/__init__.py,sha256=_nSKKVLXNsJeSv-buxEZsx8_c0BAbkhRyE4nT6Bv6q0,541
|
7
7
|
meerschaum/_internal/arguments/_parse_arguments.py,sha256=B7eXnz2fGrDb_lWy2wagWVaIlPAGLJdDEtd39pv87fA,16442
|
8
8
|
meerschaum/_internal/arguments/_parser.py,sha256=v4dlR5ElJFmKGiw35UGCiDI1XiH8-ma8PJwoV3O--c4,18082
|
@@ -26,9 +26,9 @@ meerschaum/actions/api.py,sha256=7mQSSXkYIqetjOAiAGYHOjpzJSx4MN99ts6JwHlrNTc,146
|
|
26
26
|
meerschaum/actions/attach.py,sha256=Vy41f8alMp3P-lXzyQkHqyDSDamtYGe2THWjFFrAdf4,3107
|
27
27
|
meerschaum/actions/bootstrap.py,sha256=z2O5sJSssZ1eUzGx6_lG599uGwGsNPnMxzYNXeBh0Fc,18076
|
28
28
|
meerschaum/actions/clear.py,sha256=v_xHn7-Pu7iwFNJ07q9eJt2hqPV7OwNZHUYa9dvixs4,4976
|
29
|
-
meerschaum/actions/copy.py,sha256=
|
29
|
+
meerschaum/actions/copy.py,sha256=PlYXhtkRroReAI0wHHqevb0a4nTJOKgcVkEGASdVJNk,7000
|
30
30
|
meerschaum/actions/deduplicate.py,sha256=puYyxeFYEUy1Sd2IOcZB2e6MrNxAZl2bTLmNzFDkCiw,1167
|
31
|
-
meerschaum/actions/delete.py,sha256=
|
31
|
+
meerschaum/actions/delete.py,sha256=3jWlGnTkwmK-KV3oxUiqgFy7oaqeL6H673INwNfpHAM,18605
|
32
32
|
meerschaum/actions/drop.py,sha256=xNgHWFPyvs4lm923BCRwYJULUqGYMbcVnRPb25Y-lzs,4433
|
33
33
|
meerschaum/actions/edit.py,sha256=JTvXMkL_9v46mI6P0FhHXhgg9vQjIdz1ebXc2Ei2Dws,20471
|
34
34
|
meerschaum/actions/index.py,sha256=byhcGi7P1S0TTcJPBxq3jGKmBF_gZ8t77oqtg0kGSdI,1826
|
@@ -66,7 +66,7 @@ meerschaum/api/dash/connectors.py,sha256=-Wd40ieYJI2nOASXi4V1C4bvLekjnN_tj6zp7Hg
|
|
66
66
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
67
67
|
meerschaum/api/dash/jobs.py,sha256=p0mC30jO7aYS0vUbfn540d66-s19_c-GgjyfNmVXgrs,7682
|
68
68
|
meerschaum/api/dash/keys.py,sha256=pGIbKxp5RsIelzAU4WZMcYGDN835tF4mGhoktydc42M,8561
|
69
|
-
meerschaum/api/dash/pipes.py,sha256=
|
69
|
+
meerschaum/api/dash/pipes.py,sha256=PUWvuoVGKKwqWb2yIc5l_CLClzcmBk5di4OTWYwlPkg,37992
|
70
70
|
meerschaum/api/dash/plugins.py,sha256=KdfG04f6SsUpBg-nm7MUJegFGuElOj-GAkxDX98hi60,3768
|
71
71
|
meerschaum/api/dash/sessions.py,sha256=jUM0a9CXNZC3j7SF3QkZim-8ZAbDom-V1iXklvMyBZE,5382
|
72
72
|
meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
|
@@ -82,7 +82,7 @@ meerschaum/api/dash/assets/logo_48x48.png,sha256=hTR5BHUHEN4yP2xiqAcDciuigoII9T3
|
|
82
82
|
meerschaum/api/dash/assets/logo_500x500.png,sha256=9EUtf6wQcEZTXHKfQ2kjNXod6Rn_4DTB_BkTgxggq00,67702
|
83
83
|
meerschaum/api/dash/callbacks/__init__.py,sha256=flHWiTSjrdgVNLgFutSnaqYogVUgnqRFWy3K0-n0wFo,651
|
84
84
|
meerschaum/api/dash/callbacks/custom.py,sha256=e9wU2gZ8hutYNe7T4mKjJPFwpR32-dcbEXWyOOJKCEk,1884
|
85
|
-
meerschaum/api/dash/callbacks/dashboard.py,sha256=
|
85
|
+
meerschaum/api/dash/callbacks/dashboard.py,sha256=aJRwgwYvJbcE5H9KMaRYSuu9Mt_9hmP6kgK55_qarRg,39360
|
86
86
|
meerschaum/api/dash/callbacks/jobs.py,sha256=mwYYjxZxHte1g4uCtv6T8nGXR2-JPoWrAgZZdBlvDyQ,8817
|
87
87
|
meerschaum/api/dash/callbacks/login.py,sha256=Eygp71kdWRO_fFrkuUN3hIT-nG9HKYOgebf8ACeuyPs,3175
|
88
88
|
meerschaum/api/dash/callbacks/pipes.py,sha256=t46Mu6-1Pq9FTlE57QzXmEVjt6deZUEdf13hxtDEKeE,7811
|
@@ -154,7 +154,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
154
154
|
meerschaum/config/_read_config.py,sha256=Y4O-eozH94FsucqLWXb5hS57RLPMHsLUQe7a24doi0o,16231
|
155
155
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
156
156
|
meerschaum/config/_sync.py,sha256=nN5bLCHU8sFDdlPi7pQXuRVFcX457rZjOiALTvqRS_E,4332
|
157
|
-
meerschaum/config/_version.py,sha256=
|
157
|
+
meerschaum/config/_version.py,sha256=n_QQMtQ9-WXprfhW3j-OxjwbwRq-50WX3f9QvOq_8Gc,71
|
158
158
|
meerschaum/config/environment.py,sha256=hTyjPLrGp3R4sytg_Jqv4TnCVI1WdmbX2YoRBCWSNt8,8277
|
159
159
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
160
160
|
meerschaum/config/static.py,sha256=92fSGxoHFDOK9GEsN8NVbAEh9W7-eZ1BS6thyEqcjeI,359
|
@@ -165,8 +165,8 @@ meerschaum/config/stack/mosquitto/__init__.py,sha256=-OwOjq8KiBoSH_pmgCAAF3Dp3CR
|
|
165
165
|
meerschaum/config/stack/mosquitto/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
166
166
|
meerschaum/config/stack/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
167
167
|
meerschaum/connectors/_Connector.py,sha256=aC3hkLZ4wT-0FDgeMSdhBHsTW1Ct3Oqe9s5lCB52CG8,6927
|
168
|
-
meerschaum/connectors/__init__.py,sha256=
|
169
|
-
meerschaum/connectors/parse.py,sha256=
|
168
|
+
meerschaum/connectors/__init__.py,sha256=XqyvAtYhj1ftzHmDCRdXz-1Hyk8WZns686nVodqh5jw,13760
|
169
|
+
meerschaum/connectors/parse.py,sha256=yOp9tIZuxbQzsAVJicdg8yhFGiw1dkJvTub1rO6JCps,4364
|
170
170
|
meerschaum/connectors/poll.py,sha256=23yRUeIqqyNVt8VoJErhirW543YZ6X0ocfBauMJnC_g,7465
|
171
171
|
meerschaum/connectors/api/_APIConnector.py,sha256=qWBLROceCazhZrjYsh5fNUPBizsu8PcOFKFs7pWV-eQ,6566
|
172
172
|
meerschaum/connectors/api/__init__.py,sha256=rYHDMK7n-5X5HoxiRITt-sVLgePnPQbgwntkhzvJvOk,234
|
@@ -189,19 +189,19 @@ meerschaum/connectors/instance/_tokens.py,sha256=PejT6UEhkxkOCuEQf3Skvh0vTKTtE7c
|
|
189
189
|
meerschaum/connectors/instance/_users.py,sha256=NijU5wrBLjc67OUeJkyUNZYMC8KtAI-2ALFt36inT9g,5539
|
190
190
|
meerschaum/connectors/plugin/PluginConnector.py,sha256=aQ1QaB7MordCFimZqoGLb0R12PfDUN_nWks2J5mzeAs,2084
|
191
191
|
meerschaum/connectors/plugin/__init__.py,sha256=pwF7TGY4WNz2_HaVdmK4rPQ9ZwTOEuPHgzOqsGcoXJw,198
|
192
|
-
meerschaum/connectors/sql/_SQLConnector.py,sha256=
|
192
|
+
meerschaum/connectors/sql/_SQLConnector.py,sha256=nZE3Ujr9rfpVWNGrJNi70d44c_9Hvm9iFlGaI7VcVnA,12981
|
193
193
|
meerschaum/connectors/sql/__init__.py,sha256=3cqYiDkVasn7zWdtOTAZbT4bo95AuvGOmDD2TkaAxtw,205
|
194
|
-
meerschaum/connectors/sql/_cli.py,sha256=
|
195
|
-
meerschaum/connectors/sql/_create_engine.py,sha256=
|
196
|
-
meerschaum/connectors/sql/_fetch.py,sha256=
|
194
|
+
meerschaum/connectors/sql/_cli.py,sha256=OTMmiOLgRzQn2F_CXsIry4oWhvBek_D0wsX486Fq9jo,5345
|
195
|
+
meerschaum/connectors/sql/_create_engine.py,sha256=yTimP668KAmnA6p8AK4q2OnColwahpRahsluByEgVXU,7725
|
196
|
+
meerschaum/connectors/sql/_fetch.py,sha256=ZqtYd1LSGmz-UVXLcEppRAhY2mAUNAkE2SU-uubwRfk,12154
|
197
197
|
meerschaum/connectors/sql/_instance.py,sha256=xCc8M0xWMzF5Tu_1uWIFivAoHey5N1ccFhN_Z7u04zk,6304
|
198
|
-
meerschaum/connectors/sql/_pipes.py,sha256=
|
198
|
+
meerschaum/connectors/sql/_pipes.py,sha256=tlIAgzGY2vEeO9a891QpuE9UBCiAj7MiCo5r0xrQd5M,130705
|
199
199
|
meerschaum/connectors/sql/_plugins.py,sha256=SubR5HUJaetoUCv83YNEMwhv4wTTBCMcxSOEUgyMML4,8747
|
200
|
-
meerschaum/connectors/sql/_sql.py,sha256=
|
201
|
-
meerschaum/connectors/sql/_uri.py,sha256=
|
200
|
+
meerschaum/connectors/sql/_sql.py,sha256=T94jbuiZ1IRqkt_s_LQNTXyRc8OmzWLZSYnWIityFkU,45313
|
201
|
+
meerschaum/connectors/sql/_uri.py,sha256=pSqGo6DfSvCUl2rjk833W3Foi20goZ0301pyqZR4R2I,3454
|
202
202
|
meerschaum/connectors/sql/_users.py,sha256=n3bW01GHWNT5QpI_uGyQV6aZA_FEwgV61QrhFmgNit8,10837
|
203
203
|
meerschaum/connectors/sql/tools.py,sha256=jz8huOaRCwGlYdtGfAqAh7SoK8uydYBrasKQba9FT38,187
|
204
|
-
meerschaum/connectors/sql/tables/__init__.py,sha256=
|
204
|
+
meerschaum/connectors/sql/tables/__init__.py,sha256=4Uhxz3U_4u5P7z-Ocu-n_UWr5mMBdo-Ha6GgG3MbsZ8,13405
|
205
205
|
meerschaum/connectors/sql/tables/types.py,sha256=Jc_MTHIBM-KHpQt__Lckp39CeOo7tGOiAk5faDx-znY,1573
|
206
206
|
meerschaum/connectors/valkey/_ValkeyConnector.py,sha256=yYbqw93qbOY1eFOXg97fEB4niU_4YxisltX8167M37s,15860
|
207
207
|
meerschaum/connectors/valkey/__init__.py,sha256=jkVutsygQCvGPLN17cP6wHAjHajxVycnQJbm2eVMuY0,187
|
@@ -211,7 +211,7 @@ meerschaum/connectors/valkey/_plugins.py,sha256=KjNE2RDJ90b96ynoPz30iOiWU86bfJjF
|
|
211
211
|
meerschaum/connectors/valkey/_users.py,sha256=AS1vLarrkDA9yPK644GWwRiQiTZVa9x3nlLpyntq40g,7730
|
212
212
|
meerschaum/core/__init__.py,sha256=Qx0s4KANuYCjTCHEaE70cfgCPxiYPPkr9DnmCTw33Z0,291
|
213
213
|
meerschaum/core/Pipe/__init__.py,sha256=5ibU7Cnz3vLsKtfVINkmR4maNE_jOdX6bA4ZpyIm_Pc,19979
|
214
|
-
meerschaum/core/Pipe/_attributes.py,sha256=
|
214
|
+
meerschaum/core/Pipe/_attributes.py,sha256=3ErBBZIWU4hMmE9wH2Zw0116aVh1jPFrw1DW8I0PPYM,32468
|
215
215
|
meerschaum/core/Pipe/_bootstrap.py,sha256=4RLDD25BvqyukHhejTIJFaECOvCgZk6tjtNQfS9qgA8,8150
|
216
216
|
meerschaum/core/Pipe/_cache.py,sha256=p8ckGqqVmm1g9OKDR6OhzpgBCuP7gbYHopmIS9qQR3A,15731
|
217
217
|
meerschaum/core/Pipe/_clear.py,sha256=vCv4imPcMVdJXWwArOcnNlxEOk5HPOHSDZ9omrexzGc,1972
|
@@ -228,7 +228,7 @@ meerschaum/core/Pipe/_register.py,sha256=Sd5xaAW8H7uLTIoommcKb-6kHPRuHJLWNSbPnt2
|
|
228
228
|
meerschaum/core/Pipe/_show.py,sha256=nKLk9uzUIS8HVemwVOYsXTnat8n4mSXqXhCDsb5sfgU,1332
|
229
229
|
meerschaum/core/Pipe/_sync.py,sha256=PZ8j3j_u6cDi7ykOwRKd8aTSedJGMIYdcr87kAt3Z10,37623
|
230
230
|
meerschaum/core/Pipe/_verify.py,sha256=u7Caut9BDZbaZno4A35O7TmYRT6Z-iuOsNROhki5FWg,22621
|
231
|
-
meerschaum/core/Plugin/_Plugin.py,sha256=
|
231
|
+
meerschaum/core/Plugin/_Plugin.py,sha256=DClQRovx9YT4pWir04ahuEzwqdV0YNb-PgRDnG5SWJc,34687
|
232
232
|
meerschaum/core/Plugin/__init__.py,sha256=t1gXBcNkq1hlVVZunBVGv-bpl4MFLpZbVqxw75jocE4,149
|
233
233
|
meerschaum/core/Token/_Token.py,sha256=n1Q47z4Oa_xY-__0dvvVYD9VfQKRebNi_cDedvpkQ4s,7599
|
234
234
|
meerschaum/core/Token/__init__.py,sha256=QYgyoCVkt7bru3CynDKP3wy41BY1NVyAta8smURxnO4,177
|
@@ -242,10 +242,10 @@ meerschaum/models/__init__.py,sha256=9OCElgSTRzgqAIpi_FSUzTAVJtUwOIi71BGFsqkn6PU
|
|
242
242
|
meerschaum/models/pipes.py,sha256=vGSGm5UuyfwfPDqM9iq-PjFeiGrWYW52bJAKNZ4pcHs,7839
|
243
243
|
meerschaum/models/tokens.py,sha256=57cFisjhx47EFbJLfsp8iHX8-qZiRY8ztFWahylWOJQ,1067
|
244
244
|
meerschaum/models/users.py,sha256=E1ambl2g6f2tdnLkwAquyqjvflrb2AMiVhI9nXXHYR0,683
|
245
|
-
meerschaum/plugins/__init__.py,sha256
|
245
|
+
meerschaum/plugins/__init__.py,sha256=-MOhPcbxDne0r_nFm7blg7frtuYgJxO069x_Hesk3ss,35692
|
246
246
|
meerschaum/plugins/bootstrap.py,sha256=sSvdh2g78AYwTTNMTdHw62Nj2v95pmbd77HFznuErUE,27728
|
247
247
|
meerschaum/utils/__init__.py,sha256=QrK1K9hIbPCRCM5k2nZGFqGnrqhA0Eh-iSmCU7FG6Cs,612
|
248
|
-
meerschaum/utils/_get_pipes.py,sha256=
|
248
|
+
meerschaum/utils/_get_pipes.py,sha256=p66b52CdP-FfYamcUf12JYOHHlOHoTAqxFeuf4LdddI,13300
|
249
249
|
meerschaum/utils/dataframe.py,sha256=bxcf04SRlt0tI7vNQXYvoTLHM35e5QMVm4IJYT82mMo,67686
|
250
250
|
meerschaum/utils/debug.py,sha256=zBYxcLJ5Ymzz1J5BVv7DXAZ7CWd6vYN9uFFdWKmny9U,4334
|
251
251
|
meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mikI,3196
|
@@ -256,7 +256,7 @@ meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
|
256
256
|
meerschaum/utils/process.py,sha256=Y7yk7b-OEADd28E40ffvIGLS3shi4-e604YWX5aFUDo,8214
|
257
257
|
meerschaum/utils/prompt.py,sha256=NmbSRJyrapH7UKMV1Ry_LIjj2POVTpNCLS2QeIogge0,19740
|
258
258
|
meerschaum/utils/schedule.py,sha256=TMUjQ57UFStfZfQk7GdQItDHrH888O178vum1ID_Drk,11454
|
259
|
-
meerschaum/utils/sql.py,sha256=
|
259
|
+
meerschaum/utils/sql.py,sha256=FW6ihjXk-muG4w2tfMIkwZ-TakzfFCuOLVV_Mgxgq84,88621
|
260
260
|
meerschaum/utils/threading.py,sha256=FV6mtQecZNmXJgirMcElX_6S0UXVaQHqhC4vzfqarbs,4022
|
261
261
|
meerschaum/utils/typing.py,sha256=LEoM4LbAbGIArBAecdRrtiMfrP8ctm9idjqCGJszVi4,2772
|
262
262
|
meerschaum/utils/warnings.py,sha256=voneQTz4OHFaL5JJ0Hu1lZS_8DrhJJfomPIvnFGq6pQ,6521
|
@@ -268,22 +268,22 @@ meerschaum/utils/daemon/StdinFile.py,sha256=jzJTqo36-XPVjzPCctvY_nHbhAUjLk7wN1Eq
|
|
268
268
|
meerschaum/utils/daemon/__init__.py,sha256=TM2U2m84s7Y80xHJ8BAIQOmGJc7XwjQNXvpQK-SNIJo,9587
|
269
269
|
meerschaum/utils/daemon/_names.py,sha256=DM98kaw6Th-ZO_3eKeysFoyCaod_q3gRS4ig_QPDT7k,4520
|
270
270
|
meerschaum/utils/dtypes/__init__.py,sha256=pUjAKZQGU3wELiRBIMcFQsmN0mDhZFIyOQQgQ5GwSjc,35885
|
271
|
-
meerschaum/utils/dtypes/sql.py,sha256=
|
271
|
+
meerschaum/utils/dtypes/sql.py,sha256=2uIziZYgS7_cJHoWnqiuYNu1_bimBmrmP1xv9-yg8V0,45702
|
272
272
|
meerschaum/utils/formatting/__init__.py,sha256=gP-vHE6iqyqdrTHXVjKc5ML5lUz2MFwaJYwLilduIUE,15585
|
273
273
|
meerschaum/utils/formatting/_jobs.py,sha256=c2Kp51vRJkDs2OeYLiePjSJCYhWj5az4b8uGodhG2a0,6637
|
274
274
|
meerschaum/utils/formatting/_pipes.py,sha256=CbCgUQadFR7i9gKogTPQ7vCgFguy9BW_hIT_aIwPhCw,19565
|
275
275
|
meerschaum/utils/formatting/_pprint.py,sha256=DCwopIQUu2xsCETsmbfSYVupG6Uz95gyZ63pa_nDMPo,3097
|
276
276
|
meerschaum/utils/formatting/_shell.py,sha256=e1SPZIUGRF6TkiKn4tULPGCE6ZbaxFdOTqosJA5rWX4,4378
|
277
|
-
meerschaum/utils/packages/__init__.py,sha256=
|
277
|
+
meerschaum/utils/packages/__init__.py,sha256=h7Q5H2nI6XQLV4FlDfWL06YZu8NgphjUyb3b8xUzCIA,63824
|
278
278
|
meerschaum/utils/packages/_packages.py,sha256=KWVfxsm-6ZdffpskIjHPki6wSQvf0LK9MWZgllS3dMo,9432
|
279
279
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
280
|
-
meerschaum/utils/venv/_Venv.py,sha256=
|
281
|
-
meerschaum/utils/venv/__init__.py,sha256=
|
282
|
-
meerschaum-3.0.
|
283
|
-
meerschaum-3.0.
|
284
|
-
meerschaum-3.0.
|
285
|
-
meerschaum-3.0.
|
286
|
-
meerschaum-3.0.
|
287
|
-
meerschaum-3.0.
|
288
|
-
meerschaum-3.0.
|
289
|
-
meerschaum-3.0.
|
280
|
+
meerschaum/utils/venv/_Venv.py,sha256=lYiuyCloG1OmKh_8xMMXHkAq1VIMUWLhYGtCVm6nvdA,4044
|
281
|
+
meerschaum/utils/venv/__init__.py,sha256=P40aC-RMz3iGrMnED6D4tha6Tj0Mz-pDgUqJVibgjwo,27767
|
282
|
+
meerschaum-3.0.6.dist-info/licenses/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
283
|
+
meerschaum-3.0.6.dist-info/licenses/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
284
|
+
meerschaum-3.0.6.dist-info/METADATA,sha256=g0QWm96vMEp03QxtpG03iUoN096UGYkLe6noa3uny4Y,25325
|
285
|
+
meerschaum-3.0.6.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
286
|
+
meerschaum-3.0.6.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
287
|
+
meerschaum-3.0.6.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
288
|
+
meerschaum-3.0.6.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
289
|
+
meerschaum-3.0.6.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|