meerschaum 2.7.6__py3-none-any.whl → 2.7.7__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- meerschaum/actions/drop.py +100 -22
- meerschaum/actions/index.py +71 -0
- meerschaum/actions/register.py +8 -12
- meerschaum/actions/sql.py +1 -1
- meerschaum/api/routes/_pipes.py +18 -0
- meerschaum/api/routes/_plugins.py +1 -1
- meerschaum/api/routes/_users.py +62 -61
- meerschaum/config/_version.py +1 -1
- meerschaum/connectors/api/_pipes.py +20 -0
- meerschaum/connectors/sql/_SQLConnector.py +6 -3
- meerschaum/connectors/sql/_create_engine.py +1 -1
- meerschaum/connectors/sql/_fetch.py +4 -9
- meerschaum/connectors/sql/_instance.py +3 -3
- meerschaum/connectors/sql/_pipes.py +255 -66
- meerschaum/connectors/sql/_plugins.py +11 -16
- meerschaum/connectors/sql/_sql.py +4 -8
- meerschaum/connectors/sql/_uri.py +9 -9
- meerschaum/connectors/sql/_users.py +10 -12
- meerschaum/connectors/sql/tables/__init__.py +13 -14
- meerschaum/core/Pipe/__init__.py +12 -2
- meerschaum/core/Pipe/_attributes.py +32 -38
- meerschaum/core/Pipe/_drop.py +73 -2
- meerschaum/core/Pipe/_index.py +68 -0
- meerschaum/utils/dtypes/sql.py +2 -2
- meerschaum/utils/sql.py +80 -34
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/METADATA +14 -2
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/RECORD +33 -31
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/WHEEL +1 -1
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/LICENSE +0 -0
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/NOTICE +0 -0
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/top_level.txt +0 -0
- {meerschaum-2.7.6.dist-info → meerschaum-2.7.7.dist-info}/zip-safe +0 -0
meerschaum/utils/sql.py
CHANGED
@@ -43,6 +43,9 @@ SKIP_IF_EXISTS_FLAVORS = {'mssql', 'oracle'}
|
|
43
43
|
DROP_IF_EXISTS_FLAVORS = {
|
44
44
|
'timescaledb', 'postgresql', 'citus', 'mssql', 'mysql', 'mariadb', 'sqlite',
|
45
45
|
}
|
46
|
+
DROP_INDEX_IF_EXISTS_FLAVORS = {
|
47
|
+
'mssql', 'timescaledb', 'postgresql', 'sqlite', 'citus',
|
48
|
+
}
|
46
49
|
SKIP_AUTO_INCREMENT_FLAVORS = {'citus', 'duckdb'}
|
47
50
|
COALESCE_UNIQUE_INDEX_FLAVORS = {'timescaledb', 'postgresql', 'citus'}
|
48
51
|
UPDATE_QUERIES = {
|
@@ -376,7 +379,7 @@ columns_indices_queries = {
|
|
376
379
|
WHERE
|
377
380
|
t.name IN ('{table}', '{table_trunc}')
|
378
381
|
AND s.name = '{schema}'
|
379
|
-
AND i.type IN (1, 2)
|
382
|
+
AND i.type IN (1, 2)
|
380
383
|
""",
|
381
384
|
'oracle': """
|
382
385
|
SELECT
|
@@ -590,7 +593,14 @@ def dateadd_str(
|
|
590
593
|
from meerschaum.utils.dtypes.sql import get_db_type_from_pd_type, get_pd_type_from_db_type
|
591
594
|
dateutil_parser = attempt_import('dateutil.parser')
|
592
595
|
if 'int' in str(type(begin)).lower():
|
593
|
-
|
596
|
+
num_str = str(begin)
|
597
|
+
if number is not None and number != 0:
|
598
|
+
num_str += (
|
599
|
+
f' + {number}'
|
600
|
+
if number > 0
|
601
|
+
else f" - {number * -1}"
|
602
|
+
)
|
603
|
+
return num_str
|
594
604
|
if not begin:
|
595
605
|
return ''
|
596
606
|
|
@@ -797,7 +807,7 @@ def sql_item_name(item: str, flavor: str, schema: Optional[str] = None) -> str:
|
|
797
807
|
"""
|
798
808
|
truncated_item = truncate_item_name(str(item), flavor)
|
799
809
|
if flavor == 'oracle':
|
800
|
-
truncated_item = pg_capital(truncated_item)
|
810
|
+
truncated_item = pg_capital(truncated_item, quote_capitals=True)
|
801
811
|
### NOTE: System-reserved words must be quoted.
|
802
812
|
if truncated_item.lower() in (
|
803
813
|
'float', 'varchar', 'nvarchar', 'clob',
|
@@ -824,14 +834,17 @@ def sql_item_name(item: str, flavor: str, schema: Optional[str] = None) -> str:
|
|
824
834
|
return schema_prefix + wrappers[0] + truncated_item + wrappers[1]
|
825
835
|
|
826
836
|
|
827
|
-
def pg_capital(s: str) -> str:
|
837
|
+
def pg_capital(s: str, quote_capitals: bool = True) -> str:
|
828
838
|
"""
|
829
839
|
If string contains a capital letter, wrap it in double quotes.
|
830
840
|
|
831
841
|
Parameters
|
832
842
|
----------
|
833
|
-
s: str
|
834
|
-
|
843
|
+
s: str
|
844
|
+
The string to be escaped.
|
845
|
+
|
846
|
+
quote_capitals: bool, default True
|
847
|
+
If `False`, do not quote strings with contain only a mix of capital and lower-case letters.
|
835
848
|
|
836
849
|
Returns
|
837
850
|
-------
|
@@ -845,16 +858,24 @@ def pg_capital(s: str) -> str:
|
|
845
858
|
'my_table'
|
846
859
|
|
847
860
|
"""
|
848
|
-
if '"'
|
861
|
+
if s.startswith('"') and s.endswith('"'):
|
849
862
|
return s
|
863
|
+
|
864
|
+
s = s.replace('"', '')
|
865
|
+
|
850
866
|
needs_quotes = s.startswith('_')
|
851
|
-
|
852
|
-
|
853
|
-
if
|
867
|
+
if not needs_quotes:
|
868
|
+
for c in s:
|
869
|
+
if c == '_':
|
870
|
+
continue
|
871
|
+
|
872
|
+
if not c.isalnum() or (quote_capitals and c.isupper()):
|
854
873
|
needs_quotes = True
|
855
874
|
break
|
875
|
+
|
856
876
|
if needs_quotes:
|
857
877
|
return '"' + s + '"'
|
878
|
+
|
858
879
|
return s
|
859
880
|
|
860
881
|
|
@@ -1048,7 +1069,7 @@ def table_exists(
|
|
1048
1069
|
-------
|
1049
1070
|
A `bool` indicating whether or not the table exists on the database.
|
1050
1071
|
"""
|
1051
|
-
sqlalchemy = mrsm.attempt_import('sqlalchemy')
|
1072
|
+
sqlalchemy = mrsm.attempt_import('sqlalchemy', lazy=False)
|
1052
1073
|
schema = schema or connector.schema
|
1053
1074
|
insp = sqlalchemy.inspect(connector.engine)
|
1054
1075
|
truncated_table_name = truncate_item_name(str(table), connector.flavor)
|
@@ -1101,7 +1122,7 @@ def get_sqlalchemy_table(
|
|
1101
1122
|
if refresh:
|
1102
1123
|
connector.metadata.clear()
|
1103
1124
|
tables = get_tables(mrsm_instance=connector, debug=debug, create=False)
|
1104
|
-
sqlalchemy = attempt_import('sqlalchemy')
|
1125
|
+
sqlalchemy = attempt_import('sqlalchemy', lazy=False)
|
1105
1126
|
truncated_table_name = truncate_item_name(str(table), connector.flavor)
|
1106
1127
|
table_kwargs = {
|
1107
1128
|
'autoload_with': connector.engine,
|
@@ -1171,7 +1192,7 @@ def get_table_cols_types(
|
|
1171
1192
|
"""
|
1172
1193
|
import textwrap
|
1173
1194
|
from meerschaum.connectors import SQLConnector
|
1174
|
-
sqlalchemy = mrsm.attempt_import('sqlalchemy')
|
1195
|
+
sqlalchemy = mrsm.attempt_import('sqlalchemy', lazy=False)
|
1175
1196
|
flavor = flavor or getattr(connectable, 'flavor', None)
|
1176
1197
|
if not flavor:
|
1177
1198
|
raise ValueError("Please provide a database flavor.")
|
@@ -1323,7 +1344,7 @@ def get_table_cols_indices(
|
|
1323
1344
|
import textwrap
|
1324
1345
|
from collections import defaultdict
|
1325
1346
|
from meerschaum.connectors import SQLConnector
|
1326
|
-
sqlalchemy = mrsm.attempt_import('sqlalchemy')
|
1347
|
+
sqlalchemy = mrsm.attempt_import('sqlalchemy', lazy=False)
|
1327
1348
|
flavor = flavor or getattr(connectable, 'flavor', None)
|
1328
1349
|
if not flavor:
|
1329
1350
|
raise ValueError("Please provide a database flavor.")
|
@@ -1448,6 +1469,7 @@ def get_update_queries(
|
|
1448
1469
|
schema: Optional[str] = None,
|
1449
1470
|
patch_schema: Optional[str] = None,
|
1450
1471
|
identity_insert: bool = False,
|
1472
|
+
null_indices: bool = True,
|
1451
1473
|
debug: bool = False,
|
1452
1474
|
) -> List[str]:
|
1453
1475
|
"""
|
@@ -1489,6 +1511,9 @@ def get_update_queries(
|
|
1489
1511
|
If `True`, include `SET IDENTITY_INSERT` queries before and after the update queries.
|
1490
1512
|
Only applies for MSSQL upserts.
|
1491
1513
|
|
1514
|
+
null_indices: bool, default True
|
1515
|
+
If `False`, do not coalesce index columns before joining.
|
1516
|
+
|
1492
1517
|
debug: bool, default False
|
1493
1518
|
Verbosity toggle.
|
1494
1519
|
|
@@ -1579,11 +1604,17 @@ def get_update_queries(
|
|
1579
1604
|
|
1580
1605
|
coalesce_join_cols_str = ', '.join(
|
1581
1606
|
[
|
1582
|
-
|
1583
|
-
|
1584
|
-
|
1585
|
-
|
1586
|
-
|
1607
|
+
(
|
1608
|
+
(
|
1609
|
+
'COALESCE('
|
1610
|
+
+ sql_item_name(c_name, flavor)
|
1611
|
+
+ ', '
|
1612
|
+
+ get_null_replacement(c_type, flavor)
|
1613
|
+
+ ')'
|
1614
|
+
)
|
1615
|
+
if null_indices
|
1616
|
+
else sql_item_name(c_name, flavor)
|
1617
|
+
)
|
1587
1618
|
for c_name, c_type in join_cols_types
|
1588
1619
|
]
|
1589
1620
|
)
|
@@ -1633,19 +1664,29 @@ def get_update_queries(
|
|
1633
1664
|
def and_subquery(l_prefix: str, r_prefix: str):
|
1634
1665
|
return '\n AND\n '.join([
|
1635
1666
|
(
|
1636
|
-
|
1637
|
-
|
1638
|
-
|
1639
|
-
|
1640
|
-
|
1641
|
-
|
1642
|
-
|
1643
|
-
|
1644
|
-
|
1645
|
-
|
1646
|
-
|
1647
|
-
|
1648
|
-
|
1667
|
+
(
|
1668
|
+
"COALESCE("
|
1669
|
+
+ l_prefix
|
1670
|
+
+ sql_item_name(c_name, flavor, None)
|
1671
|
+
+ ", "
|
1672
|
+
+ get_null_replacement(c_type, flavor)
|
1673
|
+
+ ")"
|
1674
|
+
+ '\n =\n '
|
1675
|
+
+ "COALESCE("
|
1676
|
+
+ r_prefix
|
1677
|
+
+ sql_item_name(c_name, flavor, None)
|
1678
|
+
+ ", "
|
1679
|
+
+ get_null_replacement(c_type, flavor)
|
1680
|
+
+ ")"
|
1681
|
+
)
|
1682
|
+
if null_indices
|
1683
|
+
else (
|
1684
|
+
l_prefix
|
1685
|
+
+ sql_item_name(c_name, flavor, None)
|
1686
|
+
+ ' = '
|
1687
|
+
+ r_prefix
|
1688
|
+
+ sql_item_name(c_name, flavor, None)
|
1689
|
+
)
|
1649
1690
|
) for c_name, c_type in join_cols_types
|
1650
1691
|
])
|
1651
1692
|
|
@@ -1973,7 +2014,12 @@ def _get_create_table_query_from_dtypes(
|
|
1973
2014
|
autoincrement = False
|
1974
2015
|
|
1975
2016
|
cols_types = (
|
1976
|
-
[
|
2017
|
+
[
|
2018
|
+
(
|
2019
|
+
primary_key,
|
2020
|
+
get_db_type_from_pd_type(dtypes.get(primary_key, 'int') or 'int', flavor=flavor)
|
2021
|
+
)
|
2022
|
+
]
|
1977
2023
|
if primary_key
|
1978
2024
|
else []
|
1979
2025
|
) + [
|
@@ -2329,7 +2375,7 @@ def session_execute(
|
|
2329
2375
|
A `SuccessTuple` indicating the queries were successfully executed.
|
2330
2376
|
If `with_results`, return the `SuccessTuple` and a list of results.
|
2331
2377
|
"""
|
2332
|
-
sqlalchemy = mrsm.attempt_import('sqlalchemy')
|
2378
|
+
sqlalchemy = mrsm.attempt_import('sqlalchemy', lazy=False)
|
2333
2379
|
if not isinstance(queries, list):
|
2334
2380
|
queries = [queries]
|
2335
2381
|
successes, msgs, results = [], [], []
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.2
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.7.
|
3
|
+
Version: 2.7.7
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -318,6 +318,18 @@ Requires-Dist: python-multipart>=0.0.9; extra == "full"
|
|
318
318
|
Requires-Dist: httpx>=0.27.2; extra == "full"
|
319
319
|
Requires-Dist: httpcore>=1.0.6; extra == "full"
|
320
320
|
Requires-Dist: valkey>=6.0.0; extra == "full"
|
321
|
+
Dynamic: author
|
322
|
+
Dynamic: author-email
|
323
|
+
Dynamic: classifier
|
324
|
+
Dynamic: description
|
325
|
+
Dynamic: description-content-type
|
326
|
+
Dynamic: home-page
|
327
|
+
Dynamic: license
|
328
|
+
Dynamic: maintainer-email
|
329
|
+
Dynamic: project-url
|
330
|
+
Dynamic: provides-extra
|
331
|
+
Dynamic: requires-python
|
332
|
+
Dynamic: summary
|
321
333
|
|
322
334
|
<img src="https://meerschaum.io/assets/banner_1920x320.png" alt="Meerschaum banner" style="width: 100%"/>
|
323
335
|
|
@@ -29,20 +29,21 @@ meerschaum/actions/clear.py,sha256=v_xHn7-Pu7iwFNJ07q9eJt2hqPV7OwNZHUYa9dvixs4,4
|
|
29
29
|
meerschaum/actions/copy.py,sha256=z_51zEQCKDXnAGfICIGKS3klZ2OTPdiZPJACvpuheDY,6861
|
30
30
|
meerschaum/actions/deduplicate.py,sha256=puYyxeFYEUy1Sd2IOcZB2e6MrNxAZl2bTLmNzFDkCiw,1167
|
31
31
|
meerschaum/actions/delete.py,sha256=H5oP0nE7qIWnFvkuFhZQZQYBVC0IbUevpaQ_2YQKXRA,18559
|
32
|
-
meerschaum/actions/drop.py,sha256=
|
32
|
+
meerschaum/actions/drop.py,sha256=UZg16dPx1o9f-hBrbIiZ6-F2QOTaTAdmFqLaSQla0t8,4434
|
33
33
|
meerschaum/actions/edit.py,sha256=VpP6bJ-i7GR3tRzs_PILcDKcFCBeTUaeXpZDwxJ4fFk,16224
|
34
|
+
meerschaum/actions/index.py,sha256=JukgmLYhVkbV4eDgw_WbJwOGadNXQCVJfsGvND8HaEs,1800
|
34
35
|
meerschaum/actions/install.py,sha256=P_M2dnn3sVC2mAn5hwvu4VHWkoh4r9TBUzNcU_Kukpc,7437
|
35
36
|
meerschaum/actions/login.py,sha256=fNgsgkrFCn9wBQJY50SQhz2PwsN_TvEYYHnXK3JG4ig,4206
|
36
37
|
meerschaum/actions/os.py,sha256=dtoppoBhLzW3rLNF0SFovEfNxA4WJWt_9WrOGlS5KbA,2251
|
37
38
|
meerschaum/actions/pause.py,sha256=WI4dQFfjQ6ObWKUzwQ5FrtYPDyEcnxWwval8cSIzzJw,4221
|
38
39
|
meerschaum/actions/python.py,sha256=k3Oo64RhyPd49W8bSjYvm6DOXuqY17NpR6BmfZb3-os,4737
|
39
|
-
meerschaum/actions/register.py,sha256=
|
40
|
+
meerschaum/actions/register.py,sha256=GR9Q8ml0S_bKPQDFlXarmzNkx4vMn9Un6UKS5qQN38c,14172
|
40
41
|
meerschaum/actions/reload.py,sha256=gMXeFBGVfyQ7uhKhYf6bLaDMD0fLPcA9BrLBSiuvWIc,508
|
41
42
|
meerschaum/actions/restart.py,sha256=6ffp3-X9eTEgunVSdD41HnOwqp71yjuSAmXJ5j39ONI,3038
|
42
43
|
meerschaum/actions/setup.py,sha256=KkAGWcgwzl_L6A19fTmTX1KtBjW2FwD8QenLjPy0mQQ,3205
|
43
44
|
meerschaum/actions/sh.py,sha256=hSkGNTVqP5dNjhJ64zy3V3VCFPTKnDlH3PxdKdxtkGQ,1990
|
44
45
|
meerschaum/actions/show.py,sha256=T8Ol1o-762cI9rlUzd-8svvwgT4slYXYfOPQETh9Koo,28446
|
45
|
-
meerschaum/actions/sql.py,sha256=
|
46
|
+
meerschaum/actions/sql.py,sha256=PhbBMBq20LL8Yh3q-yqGMe7f8ffmyjbD8q_G8Q0WxZc,4527
|
46
47
|
meerschaum/actions/stack.py,sha256=ZwrCTGJ0x3jjZkRieWcvqasQHYCqNtB1HYvTX-r3Z3g,5996
|
47
48
|
meerschaum/actions/start.py,sha256=NtdVzeB00PQBnDSUSu8ypHmMrZT8_Idmw5BfVZ--Zic,21296
|
48
49
|
meerschaum/actions/stop.py,sha256=5fdUw70YN-yuUWrC-NhA88cxr9FZ5NbssbQ8xXO8nFU,4632
|
@@ -124,9 +125,9 @@ meerschaum/api/routes/_index.py,sha256=QI6CBo6pI2Zi0a6fJHDjZfiLa9f4okb0BGe3A_JD0
|
|
124
125
|
meerschaum/api/routes/_jobs.py,sha256=sEt-UtVd5pN-hJgikTvj1oTKJQ2hhNe8XhjkclwOXOE,12568
|
125
126
|
meerschaum/api/routes/_login.py,sha256=tygEp50EVOMgvTG6CEASlShflbtEK8viJ9O07o0lnnE,2434
|
126
127
|
meerschaum/api/routes/_misc.py,sha256=05--9ZVFeaCgZrHER2kA3SYdK4TyfkEXOCjLvPbum-w,2469
|
127
|
-
meerschaum/api/routes/_pipes.py,sha256=
|
128
|
-
meerschaum/api/routes/_plugins.py,sha256=
|
129
|
-
meerschaum/api/routes/_users.py,sha256=
|
128
|
+
meerschaum/api/routes/_pipes.py,sha256=kykrEP6A75WBjn2wP28BLiPVRpwtfd8sVhfOhzjHaBY,22013
|
129
|
+
meerschaum/api/routes/_plugins.py,sha256=zzUyCiylJGeoLoa3dNjeRMSspvKfywTVXBpB-ghJ7ls,6228
|
130
|
+
meerschaum/api/routes/_users.py,sha256=Gts7gltQc5uxgjfL5pQS_R-cAhkHJZJWBCKGPRS1gmQ,6809
|
130
131
|
meerschaum/api/routes/_version.py,sha256=2t-nw_9IxCVZCNEar0LOwmut2zsClRVHjiOOUx16cu0,825
|
131
132
|
meerschaum/api/routes/_webterm.py,sha256=MenDvWXnZ8CWEmryB46pKohMf0PN6o1xJGZ3LFjxTOc,3909
|
132
133
|
meerschaum/api/tables/__init__.py,sha256=e2aNC0CdlWICTUMx1i9RauF8Pm426J0RZJbsJWv4SWo,482
|
@@ -143,7 +144,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
143
144
|
meerschaum/config/_read_config.py,sha256=RLC3HHi_1ndj7ITVDKLD9_uULY3caGRwSz3ATYE-ixA,15014
|
144
145
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
145
146
|
meerschaum/config/_sync.py,sha256=jHcWRkxd82_BgX8Xo8agsWvf7BSbv3qHLWmYl6ehp_0,4242
|
146
|
-
meerschaum/config/_version.py,sha256=
|
147
|
+
meerschaum/config/_version.py,sha256=zI3Zi2dLLwmP_AO5KiSMWcMgpQo8y2osXT-ZmhrXGXU,71
|
147
148
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
148
149
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
150
|
meerschaum/config/stack/__init__.py,sha256=2UukC0Lmk-aVL1o1qXzumqmuIrw3vu9fD7iCuz4XD4I,10544
|
@@ -163,26 +164,26 @@ meerschaum/connectors/api/_fetch.py,sha256=Khq9AFr1nk8Dsmcedb77aWhAuHw0JGgVeahDG
|
|
163
164
|
meerschaum/connectors/api/_jobs.py,sha256=N5lpHFGG10jlVgaJeWAOTuLBQw3AdgjXsEPpp1YwZQE,11270
|
164
165
|
meerschaum/connectors/api/_login.py,sha256=5GsD-B214vr5EYfM3XrTUs1sTFApxZA-9dNxq8oNSyg,2050
|
165
166
|
meerschaum/connectors/api/_misc.py,sha256=XK0LLexNUEKZjAAqoJ-9oOgwLlMdwxSOvcpqO5NuOas,1083
|
166
|
-
meerschaum/connectors/api/_pipes.py,sha256=
|
167
|
+
meerschaum/connectors/api/_pipes.py,sha256=9i3KZ0S9960AaVYMlecxEEMKq8nTvT_Y3jNaFkoRU7E,21739
|
167
168
|
meerschaum/connectors/api/_plugins.py,sha256=z04tPjfZZWwa7T60mogZH3X3wDmeLdnoN5Oh8m_YsU8,5217
|
168
169
|
meerschaum/connectors/api/_request.py,sha256=Wc4Y70t0VxEj3_ch5fAeeoSAeFMuRnyNLOV-aUFInjY,6996
|
169
170
|
meerschaum/connectors/api/_uri.py,sha256=HWxqGx4R1cHZ3ywy9Ro9ePbFxxusw4RLaC3hpGt9Z6I,1469
|
170
171
|
meerschaum/connectors/api/_users.py,sha256=kzb7ENgXwQ19OJYKOuuWzx2rwVuUZCly9dTnyvVuT2Q,5275
|
171
172
|
meerschaum/connectors/plugin/PluginConnector.py,sha256=aQ1QaB7MordCFimZqoGLb0R12PfDUN_nWks2J5mzeAs,2084
|
172
173
|
meerschaum/connectors/plugin/__init__.py,sha256=pwF7TGY4WNz2_HaVdmK4rPQ9ZwTOEuPHgzOqsGcoXJw,198
|
173
|
-
meerschaum/connectors/sql/_SQLConnector.py,sha256=
|
174
|
+
meerschaum/connectors/sql/_SQLConnector.py,sha256=fAYXt2BrW6PmCJyEGRGfKjY0IffLT-5wrxCT31H4vdE,12137
|
174
175
|
meerschaum/connectors/sql/__init__.py,sha256=3cqYiDkVasn7zWdtOTAZbT4bo95AuvGOmDD2TkaAxtw,205
|
175
176
|
meerschaum/connectors/sql/_cli.py,sha256=VqAHkdXC0HVXuHaZik2q-cTVmIsuS4DWMcPMJPP_g-Q,4514
|
176
|
-
meerschaum/connectors/sql/_create_engine.py,sha256=
|
177
|
-
meerschaum/connectors/sql/_fetch.py,sha256=
|
178
|
-
meerschaum/connectors/sql/_instance.py,sha256=
|
179
|
-
meerschaum/connectors/sql/_pipes.py,sha256=
|
180
|
-
meerschaum/connectors/sql/_plugins.py,sha256=
|
181
|
-
meerschaum/connectors/sql/_sql.py,sha256=
|
182
|
-
meerschaum/connectors/sql/_uri.py,sha256=
|
183
|
-
meerschaum/connectors/sql/_users.py,sha256=
|
177
|
+
meerschaum/connectors/sql/_create_engine.py,sha256=VfGtqF2hDNbgl2g-ZPcz28gKkfL6UOk4rKxUB4tKHdU,10567
|
178
|
+
meerschaum/connectors/sql/_fetch.py,sha256=5zkyzTrH0atsXmUduPw9sY1CPoX_l8_rUo-lzgBS49U,13907
|
179
|
+
meerschaum/connectors/sql/_instance.py,sha256=KUTDrWWD9uf8G94_n_VM_J0HdggXQofJbekZ4errypw,6310
|
180
|
+
meerschaum/connectors/sql/_pipes.py,sha256=gMRHe8WrdO60YzTV2j0pgyr8U4CPC1Mujn8NaohpTe0,127996
|
181
|
+
meerschaum/connectors/sql/_plugins.py,sha256=OVEdZ_UHTi-x5sF-5lu2TmR9ONxddp6SwDOmFo5TpU8,8051
|
182
|
+
meerschaum/connectors/sql/_sql.py,sha256=R57E2-QVeCEzvz4j85b_tmYvkXTUSvCDB40LuocrAiw,41247
|
183
|
+
meerschaum/connectors/sql/_uri.py,sha256=BFzu5pjlbL3kxLH13vHWlpKGYTPfg8wuA2j58O9NsCM,3440
|
184
|
+
meerschaum/connectors/sql/_users.py,sha256=Dbe79FV07ms5QVHwp68cruDzkGeKR4cE1-xc9Gza8Hs,9932
|
184
185
|
meerschaum/connectors/sql/tools.py,sha256=jz8huOaRCwGlYdtGfAqAh7SoK8uydYBrasKQba9FT38,187
|
185
|
-
meerschaum/connectors/sql/tables/__init__.py,sha256=
|
186
|
+
meerschaum/connectors/sql/tables/__init__.py,sha256=53EeJsvmGjj68SpSShdt6kyLuk5Md5O8DnvWC1ra3u8,8876
|
186
187
|
meerschaum/connectors/sql/tables/types.py,sha256=Jc_MTHIBM-KHpQt__Lckp39CeOo7tGOiAk5faDx-znY,1573
|
187
188
|
meerschaum/connectors/valkey/_ValkeyConnector.py,sha256=xHld4OCnt0SXmAWH8Yintb3931F-MEgXfWerhTthsXc,15849
|
188
189
|
meerschaum/connectors/valkey/__init__.py,sha256=jkVutsygQCvGPLN17cP6wHAjHajxVycnQJbm2eVMuY0,187
|
@@ -191,18 +192,19 @@ meerschaum/connectors/valkey/_pipes.py,sha256=sjjO1vehNCkN_2bsqQKy81WWWrOg8a8Elu
|
|
191
192
|
meerschaum/connectors/valkey/_plugins.py,sha256=ZqiEW4XZCOpw4G8DUK2IKY6Qrph4mYfTjgXWimgakYY,6267
|
192
193
|
meerschaum/connectors/valkey/_users.py,sha256=AS1vLarrkDA9yPK644GWwRiQiTZVa9x3nlLpyntq40g,7730
|
193
194
|
meerschaum/core/__init__.py,sha256=tjASW10n9uLV6bYhcwP4rggh-ESXSJzgxpSBbVsuISs,251
|
194
|
-
meerschaum/core/Pipe/__init__.py,sha256=
|
195
|
-
meerschaum/core/Pipe/_attributes.py,sha256=
|
195
|
+
meerschaum/core/Pipe/__init__.py,sha256=OG2oKBfNmwGbdCI-m8wgdmFKflFbMkziP-YzAiTLww8,19304
|
196
|
+
meerschaum/core/Pipe/_attributes.py,sha256=ZUfgN7Vk8liu_lbF4nORtCjFlJB7LBNhrgZdgmEqTpU,22215
|
196
197
|
meerschaum/core/Pipe/_bootstrap.py,sha256=gTNGh5e2LmTMrgIpHqrVaL60uPKWCphhsuz8j-lJ2HI,7348
|
197
198
|
meerschaum/core/Pipe/_clear.py,sha256=LghXabgyyc1tD7FNQrh9ExT71ipcg2poM9FDA3k9e4M,2230
|
198
199
|
meerschaum/core/Pipe/_copy.py,sha256=YDclAapf_spm9phpFr4-CALyYyw7nUsyKyiaLM1cnm4,2965
|
199
200
|
meerschaum/core/Pipe/_data.py,sha256=HOvKlpD9NiBg599mSH1lzUQ_2g8-PsnMbGzMTOJx81E,24047
|
200
201
|
meerschaum/core/Pipe/_deduplicate.py,sha256=xthUdsDxGO2t3m0XGDm9K3F6dpaZoemtjNi8gyKm0e0,10177
|
201
202
|
meerschaum/core/Pipe/_delete.py,sha256=1geNp9BgrocXP1gt76dMbnlJWKYFMuSNqPFA4K4-hXE,2118
|
202
|
-
meerschaum/core/Pipe/_drop.py,sha256=
|
203
|
+
meerschaum/core/Pipe/_drop.py,sha256=KDfJVz2aGjHUE1Jkmj7Ej4ICPR5xPiuhyhgRO7Lu9d4,3299
|
203
204
|
meerschaum/core/Pipe/_dtypes.py,sha256=-D3Dr64rSX7twuGNieZOYJOIdEKTknhBFHPmwj_QSQw,4274
|
204
205
|
meerschaum/core/Pipe/_edit.py,sha256=HrKWe9vhqKaNOjOcJzW5BNbaUBPIbgNAhJEK8OMsy7c,8416
|
205
206
|
meerschaum/core/Pipe/_fetch.py,sha256=dI2WFqaXVSi-xhgRcpp8Dh1g_ALgm5w6umvOj1cyCFk,5368
|
207
|
+
meerschaum/core/Pipe/_index.py,sha256=cYgaVwBVfAYxJBZ6j6MXDqOxnOrD_QnYi33_kIwy_FQ,1944
|
206
208
|
meerschaum/core/Pipe/_register.py,sha256=Sd5xaAW8H7uLTIoommcKb-6kHPRuHJLWNSbPnt2UbvA,2240
|
207
209
|
meerschaum/core/Pipe/_show.py,sha256=nG50y8eBT9TVuKkRgAKtNDNIxysJvMNxfu__lkL1F9k,1352
|
208
210
|
meerschaum/core/Pipe/_sync.py,sha256=Bl-DJTuo-iZvPFlSeTbSjje36NeyUTW0yVcJZLEQMtA,36258
|
@@ -228,7 +230,7 @@ meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
|
228
230
|
meerschaum/utils/process.py,sha256=9O8PPPJjY9Q5W2f39I3B3lFU6TlSiRiI3bgrzdOOyOw,7843
|
229
231
|
meerschaum/utils/prompt.py,sha256=qbS8l0DfD6eRB9_RRbfkKLPs3m-Hw2zXSeQCf0TDJgU,19370
|
230
232
|
meerschaum/utils/schedule.py,sha256=bUsaCO9CGn2vJO5UvoISScHDDGIiMdCPHxpTFmu7vwE,11531
|
231
|
-
meerschaum/utils/sql.py,sha256=
|
233
|
+
meerschaum/utils/sql.py,sha256=3UAC4KnH2tl4bojvFCwIV2uQqdV9RKxwXZRsmfjBfWM,79390
|
232
234
|
meerschaum/utils/threading.py,sha256=awjbVL_QR6G-o_9Qk85utac9cSdqkiC8tQSdERCdrG8,2814
|
233
235
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
234
236
|
meerschaum/utils/warnings.py,sha256=n-phr3BftNNgyPnvnXC_VMSjtCvjiCZ-ewmVfcROhkc,6611
|
@@ -240,7 +242,7 @@ meerschaum/utils/daemon/StdinFile.py,sha256=qdZ8E_RSOkURypwnS50mWeyWyRig1bAY9tKW
|
|
240
242
|
meerschaum/utils/daemon/__init__.py,sha256=ziRPyu_IM3l7Xd58y3Uvt0fZLoirJ9nuboFIxxult6c,8741
|
241
243
|
meerschaum/utils/daemon/_names.py,sha256=d2ZwTxBoTAqXZkCfZ5LuX2XrkQmLNUq1OTlUqfoH5dA,4515
|
242
244
|
meerschaum/utils/dtypes/__init__.py,sha256=c6DoYyCbWvMdRapBRKP5UJYLRUWtkTIlC_8HRzXFh2s,12166
|
243
|
-
meerschaum/utils/dtypes/sql.py,sha256=
|
245
|
+
meerschaum/utils/dtypes/sql.py,sha256=4rd33hXyyzdY51oCMch97z2DPFz_UUd2eoyiFr89VOc,19608
|
244
246
|
meerschaum/utils/formatting/__init__.py,sha256=6MAIpkLG7inFvPGRZqV8EpVRmMB3BGQsgAh5KBP4tsg,15528
|
245
247
|
meerschaum/utils/formatting/_jobs.py,sha256=izsqPJhTtUkXUUtWnbXtReYsUYwulXtci3pBj72Ne64,6637
|
246
248
|
meerschaum/utils/formatting/_pipes.py,sha256=OISJmmFiilaDbZxkiXck_g39MnnTfk_fJJyJ-YInvXA,19559
|
@@ -251,11 +253,11 @@ meerschaum/utils/packages/_packages.py,sha256=_xODMSz1FAcx3XHrn9RXUhGJ1zg-QKsVu9
|
|
251
253
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
252
254
|
meerschaum/utils/venv/_Venv.py,sha256=gc1TCeAj-kTZbQFAT9xl1bi4HXFV5ApT0dPOJfxwr78,3748
|
253
255
|
meerschaum/utils/venv/__init__.py,sha256=vVU9vj7t-HTiRU--ReQZ9kRLesVqcHnSJDbmcfC-Dzg,27030
|
254
|
-
meerschaum-2.7.
|
255
|
-
meerschaum-2.7.
|
256
|
-
meerschaum-2.7.
|
257
|
-
meerschaum-2.7.
|
258
|
-
meerschaum-2.7.
|
259
|
-
meerschaum-2.7.
|
260
|
-
meerschaum-2.7.
|
261
|
-
meerschaum-2.7.
|
256
|
+
meerschaum-2.7.7.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
257
|
+
meerschaum-2.7.7.dist-info/METADATA,sha256=8zR70RhmNHVVh2Lt91DYBmEJ6OVR_kNb4EFok9wpEeU,24489
|
258
|
+
meerschaum-2.7.7.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
259
|
+
meerschaum-2.7.7.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
260
|
+
meerschaum-2.7.7.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
261
|
+
meerschaum-2.7.7.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
262
|
+
meerschaum-2.7.7.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
263
|
+
meerschaum-2.7.7.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|