meerschaum 2.4.0rc2__py3-none-any.whl → 2.4.1__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/api/dash/callbacks/dashboard.py +7 -0
- meerschaum/api/dash/callbacks/pipes.py +19 -5
- meerschaum/api/dash/pipes.py +17 -2
- meerschaum/config/_version.py +1 -1
- meerschaum/connectors/sql/_pipes.py +8 -5
- meerschaum/core/Pipe/_data.py +16 -7
- meerschaum/core/Pipe/_sync.py +0 -2
- meerschaum/jobs/__init__.py +2 -1
- meerschaum/utils/packages/_packages.py +1 -0
- meerschaum/utils/schedule.py +1 -0
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/METADATA +5 -1
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/RECORD +18 -18
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/WHEEL +1 -1
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/LICENSE +0 -0
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/NOTICE +0 -0
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/top_level.txt +0 -0
- {meerschaum-2.4.0rc2.dist-info → meerschaum-2.4.1.dist-info}/zip-safe +0 -0
@@ -214,6 +214,13 @@ def update_content(*args):
|
|
214
214
|
trigger = ctx.triggered[0]['prop_id'].split('.')[0] if not trigger else trigger
|
215
215
|
|
216
216
|
session_data = args[-1]
|
217
|
+
mrsm_location_href = session_data.get('mrsm-location.href', None)
|
218
|
+
if (
|
219
|
+
initial_load
|
220
|
+
and mrsm_location_href
|
221
|
+
and not mrsm_location_href.rstrip('/').endswith('/dash')
|
222
|
+
):
|
223
|
+
raise PreventUpdate
|
217
224
|
|
218
225
|
### NOTE: functions MUST return a list of content and a list of alerts
|
219
226
|
triggers = {
|
@@ -5,7 +5,9 @@
|
|
5
5
|
Define callbacks for the `/dash/pipes/` page.
|
6
6
|
"""
|
7
7
|
|
8
|
-
from
|
8
|
+
from urllib.parse import parse_qs
|
9
|
+
|
10
|
+
from dash.dependencies import Input, Output, State
|
9
11
|
from dash import no_update
|
10
12
|
|
11
13
|
import meerschaum as mrsm
|
@@ -13,17 +15,28 @@ from meerschaum.api.dash import dash_app
|
|
13
15
|
from meerschaum.api.dash.pipes import build_pipe_card
|
14
16
|
from meerschaum.api import CHECK_UPDATE
|
15
17
|
from meerschaum.utils.packages import import_html, import_dcc
|
18
|
+
from meerschaum.api.dash.sessions import is_session_authenticated
|
19
|
+
from meerschaum.utils.typing import Optional, Dict, Any
|
16
20
|
html, dcc = import_html(check_update=CHECK_UPDATE), import_dcc(check_update=CHECK_UPDATE)
|
17
21
|
|
18
22
|
|
19
23
|
@dash_app.callback(
|
20
24
|
Output('pipe-output-div', 'children'),
|
21
25
|
Input('pipes-location', 'pathname'),
|
26
|
+
State('pipes-location', 'search'),
|
27
|
+
State('session-store', 'data'),
|
22
28
|
)
|
23
|
-
def render_page_from_url(
|
29
|
+
def render_page_from_url(
|
30
|
+
pathname: str,
|
31
|
+
pipe_search: str,
|
32
|
+
session_data: Optional[Dict[str, Any]],
|
33
|
+
):
|
24
34
|
if not str(pathname).startswith('/dash/pipes'):
|
25
35
|
return no_update
|
26
36
|
|
37
|
+
session_id = (session_data or {}).get('session-id', None)
|
38
|
+
authenticated = is_session_authenticated(str(session_id))
|
39
|
+
|
27
40
|
keys = pathname.replace('/dash/pipes', '').lstrip('/').rstrip('/').split('/')
|
28
41
|
if len(keys) not in (2, 3):
|
29
42
|
return no_update
|
@@ -31,11 +44,12 @@ def render_page_from_url(pathname):
|
|
31
44
|
ck = keys[0]
|
32
45
|
mk = keys[1]
|
33
46
|
lk = keys[2] if len(keys) == 3 else None
|
47
|
+
query_params = parse_qs(pipe_search.lstrip('?')) if pipe_search else {}
|
48
|
+
instance = query_params.get('instance', [None])[0]
|
34
49
|
|
35
|
-
pipe = mrsm.Pipe(ck, mk, lk)
|
36
|
-
### TODO Check if logged in
|
50
|
+
pipe = mrsm.Pipe(ck, mk, lk, instance=instance)
|
37
51
|
return [
|
38
52
|
html.Br(),
|
39
|
-
build_pipe_card(pipe, authenticated=False),
|
53
|
+
build_pipe_card(pipe, authenticated=authenticated, include_manage=False),
|
40
54
|
html.Br(),
|
41
55
|
]
|
meerschaum/api/dash/pipes.py
CHANGED
@@ -10,6 +10,8 @@ from __future__ import annotations
|
|
10
10
|
import json
|
11
11
|
import shlex
|
12
12
|
from textwrap import dedent
|
13
|
+
from urllib.parse import urlencode
|
14
|
+
|
13
15
|
from dash.dependencies import Input, Output, State
|
14
16
|
from meerschaum.utils.typing import List, Optional, Dict, Any, Tuple, Union
|
15
17
|
from meerschaum.utils.misc import string_to_dict
|
@@ -30,6 +32,7 @@ html, dcc = import_html(check_update=CHECK_UPDATE), import_dcc(check_update=CHEC
|
|
30
32
|
humanfriendly = attempt_import('humanfriendly', check_update=CHECK_UPDATE)
|
31
33
|
pd = import_pandas()
|
32
34
|
|
35
|
+
|
33
36
|
def pipe_from_ctx(ctx, trigger_property: str = 'n_clicks') -> Union[mrsm.Pipe, None]:
|
34
37
|
"""
|
35
38
|
Return a `meerschaum.Pipe` object from a dynamic object with an
|
@@ -105,6 +108,7 @@ def pipes_from_state(
|
|
105
108
|
def build_pipe_card(
|
106
109
|
pipe: mrsm.Pipe,
|
107
110
|
authenticated: bool = False,
|
111
|
+
include_manage: bool = True,
|
108
112
|
_build_children_num: int = 10,
|
109
113
|
) -> 'dbc.Card':
|
110
114
|
"""
|
@@ -118,6 +122,9 @@ def build_pipe_card(
|
|
118
122
|
authenticated: bool, default False
|
119
123
|
If `True`, allow editing functionality to the card.
|
120
124
|
|
125
|
+
include_manage: bool, default True
|
126
|
+
If `True` and `authenticated` is `True`, include the "Manage" dropdown.
|
127
|
+
|
121
128
|
Returns
|
122
129
|
-------
|
123
130
|
A dash bootstrap components Card representation of the pipe.
|
@@ -184,7 +191,7 @@ def build_pipe_card(
|
|
184
191
|
size='sm',
|
185
192
|
color='secondary',
|
186
193
|
)
|
187
|
-
) if authenticated else [],
|
194
|
+
) if authenticated and include_manage else [],
|
188
195
|
width=2,
|
189
196
|
),
|
190
197
|
dbc.Col(width=6),
|
@@ -217,8 +224,16 @@ def build_pipe_card(
|
|
217
224
|
|
218
225
|
]
|
219
226
|
|
227
|
+
query_params = {}
|
228
|
+
default_instance = get_config('meerschaum', 'instance')
|
229
|
+
if pipe.instance_keys != default_instance:
|
230
|
+
query_params['instance'] = pipe.instance_keys
|
220
231
|
pipe_url = (
|
221
|
-
f"/dash/pipes/
|
232
|
+
f"/dash/pipes/"
|
233
|
+
+ f"{pipe.connector_keys}/"
|
234
|
+
+ f"{pipe.metric_key}/"
|
235
|
+
+ (f"{pipe.location_key}" if pipe.location_key is not None else '')
|
236
|
+
+ (f"?{urlencode(query_params)}" if query_params else "")
|
222
237
|
)
|
223
238
|
|
224
239
|
card_header_children = dbc.Row(
|
meerschaum/config/_version.py
CHANGED
@@ -909,7 +909,7 @@ def get_pipe_data_query(
|
|
909
909
|
|
910
910
|
cols_names = [sql_item_name(col, self.flavor, None) for col in select_columns]
|
911
911
|
select_cols_str = (
|
912
|
-
'SELECT\n'
|
912
|
+
'SELECT\n '
|
913
913
|
+ ',\n '.join(
|
914
914
|
[
|
915
915
|
(
|
@@ -953,14 +953,14 @@ def get_pipe_data_query(
|
|
953
953
|
warn(
|
954
954
|
f"No datetime could be determined for {pipe}."
|
955
955
|
+ "\n Ignoring begin and end...",
|
956
|
-
stack
|
956
|
+
stack=False,
|
957
957
|
)
|
958
958
|
begin, end = None, None
|
959
959
|
else:
|
960
960
|
warn(
|
961
961
|
f"A datetime wasn't specified for {pipe}.\n"
|
962
962
|
+ f" Using column \"{_dt}\" for datetime bounds...",
|
963
|
-
stack
|
963
|
+
stack=False,
|
964
964
|
)
|
965
965
|
|
966
966
|
is_dt_bound = False
|
@@ -1014,9 +1014,12 @@ def get_pipe_data_query(
|
|
1014
1014
|
|
1015
1015
|
if isinstance(limit, int):
|
1016
1016
|
if self.flavor == 'mssql':
|
1017
|
-
query = f'SELECT TOP {limit}
|
1017
|
+
query = f'SELECT TOP {limit}\n' + query[len("SELECT "):]
|
1018
1018
|
elif self.flavor == 'oracle':
|
1019
|
-
query =
|
1019
|
+
query = (
|
1020
|
+
f"SELECT * FROM (\n {query}\n)\n"
|
1021
|
+
+ f"WHERE ROWNUM IN ({', '.join([str(i) for i in range(1, limit+1)])})"
|
1022
|
+
)
|
1020
1023
|
else:
|
1021
1024
|
query += f"\nLIMIT {limit}"
|
1022
1025
|
|
meerschaum/core/Pipe/_data.py
CHANGED
@@ -106,7 +106,7 @@ def get_data(
|
|
106
106
|
from meerschaum.connectors import get_connector_plugin
|
107
107
|
from meerschaum.utils.misc import iterate_chunks, items_str
|
108
108
|
from meerschaum.utils.dtypes import to_pandas_dtype
|
109
|
-
from meerschaum.utils.dataframe import add_missing_cols_to_df
|
109
|
+
from meerschaum.utils.dataframe import add_missing_cols_to_df, df_is_chunk_generator
|
110
110
|
from meerschaum.utils.packages import attempt_import
|
111
111
|
dd = attempt_import('dask.dataframe') if as_dask else None
|
112
112
|
dask = attempt_import('dask') if as_dask else None
|
@@ -122,6 +122,8 @@ def get_data(
|
|
122
122
|
as_iterator = as_iterator or as_chunks
|
123
123
|
|
124
124
|
def _sort_df(_df):
|
125
|
+
if df_is_chunk_generator(_df):
|
126
|
+
return _df
|
125
127
|
dt_col = self.columns.get('datetime', None)
|
126
128
|
indices = [] if dt_col not in _df.columns else [dt_col]
|
127
129
|
non_dt_cols = [
|
@@ -130,12 +132,19 @@ def get_data(
|
|
130
132
|
if col_ix != 'datetime' and col in _df.columns
|
131
133
|
]
|
132
134
|
indices.extend(non_dt_cols)
|
133
|
-
_df.
|
134
|
-
|
135
|
-
|
136
|
-
|
137
|
-
|
138
|
-
|
135
|
+
if 'dask' not in _df.__module__:
|
136
|
+
_df.sort_values(
|
137
|
+
by=indices,
|
138
|
+
inplace=True,
|
139
|
+
ascending=(str(order).lower() == 'asc'),
|
140
|
+
)
|
141
|
+
_df.reset_index(drop=True, inplace=True)
|
142
|
+
else:
|
143
|
+
_df = _df.sort_values(
|
144
|
+
by=indices,
|
145
|
+
ascending=(str(order).lower() == 'asc'),
|
146
|
+
)
|
147
|
+
_df = _df.reset_index(drop=True)
|
139
148
|
if limit is not None and len(_df) > limit:
|
140
149
|
return _df.head(limit)
|
141
150
|
return _df
|
meerschaum/core/Pipe/_sync.py
CHANGED
meerschaum/jobs/__init__.py
CHANGED
@@ -11,11 +11,12 @@ import pathlib
|
|
11
11
|
import meerschaum as mrsm
|
12
12
|
from meerschaum.utils.typing import Dict, Optional, List, SuccessTuple
|
13
13
|
|
14
|
-
from meerschaum.jobs._Job import Job
|
14
|
+
from meerschaum.jobs._Job import Job, StopMonitoringLogs
|
15
15
|
from meerschaum.jobs._Executor import Executor
|
16
16
|
|
17
17
|
__all__ = (
|
18
18
|
'Job',
|
19
|
+
'StopMonitoringLogs',
|
19
20
|
'systemd',
|
20
21
|
'get_jobs',
|
21
22
|
'get_filtered_jobs',
|
@@ -49,6 +49,7 @@ packages: Dict[str, Dict[str, str]] = {
|
|
49
49
|
'more_itertools' : 'more-itertools>=8.7.0',
|
50
50
|
'fasteners' : 'fasteners>=0.19.0',
|
51
51
|
'virtualenv' : 'virtualenv>=20.1.0',
|
52
|
+
'attrs' : 'attrs<24.2.0',
|
52
53
|
'apscheduler' : 'APScheduler>=4.0.0a5',
|
53
54
|
'uv' : 'uv>=0.2.11',
|
54
55
|
},
|
meerschaum/utils/schedule.py
CHANGED
@@ -101,6 +101,7 @@ def schedule_function(
|
|
101
101
|
kw['debug'] = debug
|
102
102
|
kw = filter_keywords(function, **kw)
|
103
103
|
|
104
|
+
_ = mrsm.attempt_import('attrs', lazy=False)
|
104
105
|
apscheduler = mrsm.attempt_import('apscheduler', lazy=False)
|
105
106
|
now = round_time(datetime.now(timezone.utc), timedelta(minutes=1))
|
106
107
|
trigger = parse_schedule(schedule, now=now)
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.4.
|
3
|
+
Version: 2.4.1
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -76,6 +76,7 @@ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'api'
|
|
76
76
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'api'
|
77
77
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'api'
|
78
78
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'api'
|
79
|
+
Requires-Dist: attrs <24.2.0 ; extra == 'api'
|
79
80
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'api'
|
80
81
|
Requires-Dist: uv >=0.2.11 ; extra == 'api'
|
81
82
|
Requires-Dist: pprintpp >=0.4.0 ; extra == 'api'
|
@@ -126,6 +127,7 @@ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'core'
|
|
126
127
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'core'
|
127
128
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'core'
|
128
129
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'core'
|
130
|
+
Requires-Dist: attrs <24.2.0 ; extra == 'core'
|
129
131
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'core'
|
130
132
|
Requires-Dist: uv >=0.2.11 ; extra == 'core'
|
131
133
|
Provides-Extra: dash
|
@@ -209,6 +211,7 @@ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'full'
|
|
209
211
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'full'
|
210
212
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'full'
|
211
213
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'full'
|
214
|
+
Requires-Dist: attrs <24.2.0 ; extra == 'full'
|
212
215
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'full'
|
213
216
|
Requires-Dist: uv >=0.2.11 ; extra == 'full'
|
214
217
|
Requires-Dist: dill >=0.3.3 ; extra == 'full'
|
@@ -300,6 +303,7 @@ Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'sql'
|
|
300
303
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'sql'
|
301
304
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'sql'
|
302
305
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'sql'
|
306
|
+
Requires-Dist: attrs <24.2.0 ; extra == 'sql'
|
303
307
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'sql'
|
304
308
|
Requires-Dist: uv >=0.2.11 ; extra == 'sql'
|
305
309
|
Provides-Extra: stack
|
@@ -62,7 +62,7 @@ meerschaum/api/dash/connectors.py,sha256=nJxBOFldtCMJLYjUSVYZwX5BO-LNjTNHgoEaXe-
|
|
62
62
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
63
63
|
meerschaum/api/dash/jobs.py,sha256=kcWBdOk3tNQTTuN91nd5qbS4u8MmAl3SX0gkAfdKnpk,7279
|
64
64
|
meerschaum/api/dash/keys.py,sha256=hzEVeN60SAfVTVSO5lajGaykxRIKGhj9Ph00HRJnNoE,12598
|
65
|
-
meerschaum/api/dash/pipes.py,sha256=
|
65
|
+
meerschaum/api/dash/pipes.py,sha256=mA2i7fsqNcOnQCt4r0mtOmCCQyNl3mEzgqGc5GHttWg,21764
|
66
66
|
meerschaum/api/dash/plugins.py,sha256=KdfG04f6SsUpBg-nm7MUJegFGuElOj-GAkxDX98hi60,3768
|
67
67
|
meerschaum/api/dash/sessions.py,sha256=-y5p4MYKh1eFzppkBfMsd6T7-rJs1nYS2-4fbVRAeRA,5029
|
68
68
|
meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
|
@@ -77,10 +77,10 @@ meerschaum/api/dash/assets/logo_48x48.png,sha256=hTR5BHUHEN4yP2xiqAcDciuigoII9T3
|
|
77
77
|
meerschaum/api/dash/assets/logo_500x500.png,sha256=9EUtf6wQcEZTXHKfQ2kjNXod6Rn_4DTB_BkTgxggq00,67702
|
78
78
|
meerschaum/api/dash/callbacks/__init__.py,sha256=5nLDkziaWWWt5ivmuMNG3kVBMOfqB6KQNIAS8f16bmA,493
|
79
79
|
meerschaum/api/dash/callbacks/custom.py,sha256=N9pVolAF8sIuJD3V6xBSgS7k8THJo_f8d1qAoh1Kg60,1161
|
80
|
-
meerschaum/api/dash/callbacks/dashboard.py,sha256=
|
80
|
+
meerschaum/api/dash/callbacks/dashboard.py,sha256=c0gEHVfxR4QeB87F3Bx4_cLK5xSrfqAzsiz7MwQRvdU,32731
|
81
81
|
meerschaum/api/dash/callbacks/jobs.py,sha256=F0H8dDUMOr_1C6Pr8yNQCAHhqgJQklHBiOzstOjiQQo,7282
|
82
82
|
meerschaum/api/dash/callbacks/login.py,sha256=mEvMgV-f85H6DvqNdTvJPoiwHqTnhWY2nf_zLB26ipE,2876
|
83
|
-
meerschaum/api/dash/callbacks/pipes.py,sha256=
|
83
|
+
meerschaum/api/dash/callbacks/pipes.py,sha256=AJcs-1BTc_gCxIE6Y2-DM7GB2Cg4QS3V_1HMCzwHF1Q,1688
|
84
84
|
meerschaum/api/dash/callbacks/plugins.py,sha256=znPgw_Uf3__QEjKxoIHADfjVNubTehCDaTJ02b16pQo,2760
|
85
85
|
meerschaum/api/dash/callbacks/register.py,sha256=KfMFgXWiFkemz0YriSPaLQBVnFDG8q6_t9gHuempOS0,3666
|
86
86
|
meerschaum/api/dash/pages/__init__.py,sha256=ZZAWLCgFjl8Gh5MzqeWM7HkXP3uSUuUn-73vQisnAKc,312
|
@@ -142,7 +142,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
142
142
|
meerschaum/config/_read_config.py,sha256=WFZKIXZMDe_ca0ES7ivgM_mnwShvFxLdoeisT_X5-h0,14720
|
143
143
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
144
144
|
meerschaum/config/_sync.py,sha256=oK2ZujO2T1he08BXCFyiniBUevNGWSQKXLcS_jRv_7Y,4155
|
145
|
-
meerschaum/config/_version.py,sha256=
|
145
|
+
meerschaum/config/_version.py,sha256=MWDIPuVPrx0N5vxzIOy58EultrUEFqxSmbIAnQtAUAo,71
|
146
146
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
147
147
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
148
148
|
meerschaum/config/stack/__init__.py,sha256=jHnk1HE7riEVOFbt0SHgTM7kmrdRVic1raQSs220wn0,10550
|
@@ -175,7 +175,7 @@ meerschaum/connectors/sql/_cli.py,sha256=1SgnWeMIAihoxp4FzbNrcq1npXf0dSOQnCntpU9
|
|
175
175
|
meerschaum/connectors/sql/_create_engine.py,sha256=vPVwR3cpfcQm0aW9xo_DUWA3gMdlkuB0wJ8JoTpRYD0,10396
|
176
176
|
meerschaum/connectors/sql/_fetch.py,sha256=NYYWDoEd-aGIS337KwH-D9_3KVWVCZOHAspGLfdEuUE,13086
|
177
177
|
meerschaum/connectors/sql/_instance.py,sha256=r_S96vzSuKnBVGROSKQAPl-DnFnOOEPUkz1KFDFPHFQ,6509
|
178
|
-
meerschaum/connectors/sql/_pipes.py,sha256=
|
178
|
+
meerschaum/connectors/sql/_pipes.py,sha256=cVdc929CIjyPPzM_QNVEkNfvROrksakEifgqJbm6jH0,99622
|
179
179
|
meerschaum/connectors/sql/_plugins.py,sha256=wbxcNxqTtjfDsxPvdVGTllasYf6NHHzODaQ72hEUSBQ,8135
|
180
180
|
meerschaum/connectors/sql/_sql.py,sha256=553BTPtvnnLMERYK8IcxR4CS3R4Sq7id-5hbApOEsIU,34199
|
181
181
|
meerschaum/connectors/sql/_uri.py,sha256=0BrhQtqQdzg9mR04gWBZINs_BbPFtSlTECXT_TCUwik,3460
|
@@ -195,7 +195,7 @@ meerschaum/core/Pipe/_attributes.py,sha256=8nHMCZnQexAcG1ONXNqTldEowD7gstd34lDUc
|
|
195
195
|
meerschaum/core/Pipe/_bootstrap.py,sha256=evyi07kkzAVMj66HfZkbYdcWk_oHUDsl6f13EnSPMYs,7723
|
196
196
|
meerschaum/core/Pipe/_clear.py,sha256=yFAYQnDmL3m6DzyAutgnBDXSOL9gjIrLvlQXd86YFV0,2193
|
197
197
|
meerschaum/core/Pipe/_copy.py,sha256=PcOeNUb0B4-HehTAAnBpjyT4uLLTR6VQOarY0SFA9wk,2912
|
198
|
-
meerschaum/core/Pipe/_data.py,sha256=
|
198
|
+
meerschaum/core/Pipe/_data.py,sha256=pksExwAY1h0NAOgQi5vFqN6jcE0CarQAJPDKlXotYLI,22773
|
199
199
|
meerschaum/core/Pipe/_deduplicate.py,sha256=E3oXu6-0vZhzacv0GHri9yHd7XrSlIStZ--KE2EqeVM,10274
|
200
200
|
meerschaum/core/Pipe/_delete.py,sha256=1geNp9BgrocXP1gt76dMbnlJWKYFMuSNqPFA4K4-hXE,2118
|
201
201
|
meerschaum/core/Pipe/_drop.py,sha256=gIKdHWm0RsIgC2nu768MtFnPbCXyiJjNxaiT1obyuIo,1036
|
@@ -204,14 +204,14 @@ meerschaum/core/Pipe/_edit.py,sha256=HrKWe9vhqKaNOjOcJzW5BNbaUBPIbgNAhJEK8OMsy7c
|
|
204
204
|
meerschaum/core/Pipe/_fetch.py,sha256=LtYqZSN2kwc5Tl2gQ5kSmGN7Ombv86k1zDNTP3SUF1k,5417
|
205
205
|
meerschaum/core/Pipe/_register.py,sha256=Sd5xaAW8H7uLTIoommcKb-6kHPRuHJLWNSbPnt2UbvA,2240
|
206
206
|
meerschaum/core/Pipe/_show.py,sha256=nG50y8eBT9TVuKkRgAKtNDNIxysJvMNxfu__lkL1F9k,1352
|
207
|
-
meerschaum/core/Pipe/_sync.py,sha256=
|
207
|
+
meerschaum/core/Pipe/_sync.py,sha256=ly87zq2YmGiFrjL8ltfvy-MXBrxtxpR3Kho8rCZQ8dc,32103
|
208
208
|
meerschaum/core/Pipe/_verify.py,sha256=GDCFRWWoaqXXfLQaTlS9_J7OqjuqA_JqXvUWZUOEclk,14218
|
209
209
|
meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_uSJJDc,137
|
210
210
|
meerschaum/core/User/_User.py,sha256=JZ9Y1tsjZe-cgD24m9YfZ6ZwSOKn_sHc4rbQ7KblBz8,6592
|
211
211
|
meerschaum/core/User/__init__.py,sha256=lJ7beIZTG9sO4dAi3367fFBl17dXYEWHKi7HoaPlDyk,193
|
212
212
|
meerschaum/jobs/_Executor.py,sha256=qM62BhFTM4tyJ7p90KOM0y3qyeRY9k3ZV_aTDJMHnO8,1682
|
213
213
|
meerschaum/jobs/_Job.py,sha256=hkjHqG5YPej5rC4nwdU7Ay_mjep9Fy4HO5B-eqdBdfo,31984
|
214
|
-
meerschaum/jobs/__init__.py,sha256=
|
214
|
+
meerschaum/jobs/__init__.py,sha256=q0f_2zWw91sAyafP50IgMM06abe-BIYSR_SCWmI4W3E,12177
|
215
215
|
meerschaum/jobs/systemd.py,sha256=Rq-tsDPslG17ZhpKMrVJ5r8Z0IPr6DEc9APObfIoXCg,24614
|
216
216
|
meerschaum/plugins/_Plugin.py,sha256=rTiGNQ9nIQeVSG_P9C6DHCMLW0K-J7zzuu3FjNXUOlE,34056
|
217
217
|
meerschaum/plugins/__init__.py,sha256=trMQ53qgP7ikJhhV_uXzqJw6X1NDz2rPOGXFk40bb1Y,26190
|
@@ -226,7 +226,7 @@ meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRU
|
|
226
226
|
meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
227
227
|
meerschaum/utils/process.py,sha256=o7UtTQX87YGkg2dItPhlvN7gNQPkElXTYSzKf5Ro8Uc,7474
|
228
228
|
meerschaum/utils/prompt.py,sha256=0asF_ndumQIN7p5kEOzK-ldsdE4m8FFapcT3-4wgPi8,19010
|
229
|
-
meerschaum/utils/schedule.py,sha256=
|
229
|
+
meerschaum/utils/schedule.py,sha256=6I2TFGa1aPRU9wTdd3YFrJq-DCPpnl-sTWeFEnrINYA,10886
|
230
230
|
meerschaum/utils/sql.py,sha256=4sCNEpgUd6uFz6ySs4nnUMVaOT0YAvPM1ZlQYJTSF-0,46656
|
231
231
|
meerschaum/utils/threading.py,sha256=3N8JXPAnwqJiSjuQcbbJg3Rv9-CCUMJpeQRfKFR7MaA,2489
|
232
232
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
@@ -246,15 +246,15 @@ meerschaum/utils/formatting/_pipes.py,sha256=wy0iWJFsFl3X2VloaiA_gp9Yx9w6tD3FQZv
|
|
246
246
|
meerschaum/utils/formatting/_pprint.py,sha256=tgrT3FyGyu5CWJYysqK3kX1xdZYorlbOk9fcU_vt9Qg,3096
|
247
247
|
meerschaum/utils/formatting/_shell.py,sha256=OMFh3cSZNr83z8m265irkS_JtEWHwjkEY2ybnMIOllY,3774
|
248
248
|
meerschaum/utils/packages/__init__.py,sha256=aByhWPf4H7yilmSkEP4Qa0IXsZv6Aq1l19b40QydvG4,63393
|
249
|
-
meerschaum/utils/packages/_packages.py,sha256=
|
249
|
+
meerschaum/utils/packages/_packages.py,sha256=987HQ1SnjGh2r4Gp8pziX7VUzUHm-tM_g2oYsDdLfpM,8149
|
250
250
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
251
251
|
meerschaum/utils/venv/_Venv.py,sha256=sBnlmxHdAh2bx8btfVoD79-H9-cYsv5lP02IIXkyECs,3553
|
252
252
|
meerschaum/utils/venv/__init__.py,sha256=bLAWnllKDuE_z6bLk7gLh4mI3Sp1j5hsboTqPKOQq84,24361
|
253
|
-
meerschaum-2.4.
|
254
|
-
meerschaum-2.4.
|
255
|
-
meerschaum-2.4.
|
256
|
-
meerschaum-2.4.
|
257
|
-
meerschaum-2.4.
|
258
|
-
meerschaum-2.4.
|
259
|
-
meerschaum-2.4.
|
260
|
-
meerschaum-2.4.
|
253
|
+
meerschaum-2.4.1.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
254
|
+
meerschaum-2.4.1.dist-info/METADATA,sha256=akMpC-0UIHkMfPhDD1FqFnlWqTD3AXae8OtWtWJRyyc,24287
|
255
|
+
meerschaum-2.4.1.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
256
|
+
meerschaum-2.4.1.dist-info/WHEEL,sha256=5Mi1sN9lKoFv_gxcPtisEVrJZihrm_beibeg5R6xb4I,91
|
257
|
+
meerschaum-2.4.1.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
258
|
+
meerschaum-2.4.1.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
259
|
+
meerschaum-2.4.1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
260
|
+
meerschaum-2.4.1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|