meerschaum 2.7.6__py3-none-any.whl → 2.7.7__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/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
|