meerschaum 2.8.4__py3-none-any.whl → 2.9.0.dev1__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/_chunks.py +67 -0
- meerschaum/api/dash/callbacks/custom.py +23 -2
- meerschaum/api/dash/callbacks/dashboard.py +41 -3
- meerschaum/api/dash/components.py +27 -19
- meerschaum/api/dash/pages/dashboard.py +11 -9
- meerschaum/api/dash/pages/plugins.py +31 -27
- meerschaum/api/dash/webterm.py +6 -3
- meerschaum/api/resources/static/css/dash.css +1 -1
- meerschaum/api/resources/templates/termpage.html +4 -0
- meerschaum/api/routes/_pipes.py +191 -78
- meerschaum/config/_default.py +3 -0
- meerschaum/config/_version.py +1 -1
- meerschaum/connectors/api/_APIConnector.py +12 -1
- meerschaum/connectors/api/_pipes.py +27 -15
- meerschaum/connectors/api/_plugins.py +51 -45
- meerschaum/connectors/api/_request.py +1 -1
- meerschaum/connectors/parse.py +1 -2
- meerschaum/core/Pipe/_data.py +1 -2
- meerschaum/plugins/_Plugin.py +21 -5
- meerschaum/plugins/__init__.py +6 -4
- meerschaum/utils/formatting/_shell.py +1 -4
- meerschaum/utils/packages/_packages.py +1 -0
- meerschaum/utils/venv/__init__.py +2 -0
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/METADATA +4 -1
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/RECORD +31 -30
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/WHEEL +1 -1
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/LICENSE +0 -0
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/NOTICE +0 -0
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/top_level.txt +0 -0
- {meerschaum-2.8.4.dist-info → meerschaum-2.9.0.dev1.dist-info}/zip-safe +0 -0
@@ -7,21 +7,25 @@ Manage plugins via the API connector
|
|
7
7
|
"""
|
8
8
|
|
9
9
|
from __future__ import annotations
|
10
|
-
|
10
|
+
|
11
|
+
import meerschaum as mrsm
|
12
|
+
from meerschaum.utils.typing import Union, Any, Optional, SuccessTuple, List, Dict
|
13
|
+
|
11
14
|
|
12
15
|
def plugin_r_url(
|
13
|
-
|
14
|
-
|
16
|
+
plugin: Union[mrsm.core.Plugin, str],
|
17
|
+
) -> str:
|
15
18
|
"""Generate a relative URL path from a Plugin."""
|
16
19
|
from meerschaum.config.static import STATIC_CONFIG
|
17
20
|
return f"{STATIC_CONFIG['api']['endpoints']['plugins']}/{plugin}"
|
18
21
|
|
22
|
+
|
19
23
|
def register_plugin(
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
|
24
|
+
self,
|
25
|
+
plugin: mrsm.core.Plugin,
|
26
|
+
make_archive: bool = True,
|
27
|
+
debug: bool = False,
|
28
|
+
) -> SuccessTuple:
|
25
29
|
"""Register a plugin and upload its archive."""
|
26
30
|
import json
|
27
31
|
archive_path = plugin.make_tar(debug=debug) if make_archive else plugin.archive_path
|
@@ -34,27 +38,30 @@ def register_plugin(
|
|
34
38
|
r_url = plugin_r_url(plugin)
|
35
39
|
try:
|
36
40
|
response = self.post(r_url, files=files, params=metadata, debug=debug)
|
37
|
-
except Exception
|
41
|
+
except Exception:
|
38
42
|
return False, f"Failed to register plugin '{plugin}'."
|
39
43
|
finally:
|
40
44
|
file_pointer.close()
|
41
45
|
|
42
46
|
try:
|
43
47
|
success, msg = json.loads(response.text)
|
44
|
-
except Exception
|
48
|
+
except Exception:
|
45
49
|
return False, response.text
|
46
50
|
|
47
51
|
return success, msg
|
48
52
|
|
53
|
+
|
49
54
|
def install_plugin(
|
50
|
-
|
51
|
-
|
52
|
-
|
53
|
-
|
54
|
-
|
55
|
-
|
55
|
+
self,
|
56
|
+
name: str,
|
57
|
+
skip_deps: bool = False,
|
58
|
+
force: bool = False,
|
59
|
+
debug: bool = False
|
60
|
+
) -> SuccessTuple:
|
56
61
|
"""Download and attempt to install a plugin from the API."""
|
57
|
-
import os
|
62
|
+
import os
|
63
|
+
import pathlib
|
64
|
+
import json
|
58
65
|
from meerschaum.core import Plugin
|
59
66
|
from meerschaum.config._paths import PLUGINS_TEMP_RESOURCES_PATH
|
60
67
|
from meerschaum.utils.debug import dprint
|
@@ -75,41 +82,39 @@ def install_plugin(
|
|
75
82
|
success, msg = tuple(j)
|
76
83
|
elif isinstance(j, dict) and 'detail' in j:
|
77
84
|
success, msg = False, fail_msg
|
78
|
-
except Exception
|
85
|
+
except Exception:
|
79
86
|
success, msg = False, fail_msg
|
80
87
|
return success, msg
|
81
88
|
plugin = Plugin(name, archive_path=archive_path, repo_connector=self)
|
82
89
|
return plugin.install(skip_deps=skip_deps, force=force, debug=debug)
|
83
90
|
|
91
|
+
|
84
92
|
def get_plugins(
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
|
-
|
93
|
+
self,
|
94
|
+
user_id: Optional[int] = None,
|
95
|
+
search_term: Optional[str] = None,
|
96
|
+
debug: bool = False
|
97
|
+
) -> List[str]:
|
90
98
|
"""Return a list of registered plugin names.
|
91
99
|
|
92
100
|
Parameters
|
93
101
|
----------
|
94
|
-
user_id
|
102
|
+
user_id: Optional[int], default None
|
95
103
|
If specified, return all plugins from a certain user.
|
96
|
-
|
97
|
-
|
98
|
-
|
99
|
-
(Default value = None)
|
100
|
-
debug : bool :
|
101
|
-
(Default value = False)
|
104
|
+
|
105
|
+
search_term: Optional[str], default None
|
106
|
+
If specified, return plugins beginning with this string.
|
102
107
|
|
103
108
|
Returns
|
104
109
|
-------
|
105
|
-
|
110
|
+
A list of plugin names.
|
106
111
|
"""
|
107
112
|
import json
|
108
|
-
from meerschaum.utils.warnings import
|
113
|
+
from meerschaum.utils.warnings import error
|
109
114
|
from meerschaum.config.static import STATIC_CONFIG
|
110
115
|
response = self.get(
|
111
116
|
STATIC_CONFIG['api']['endpoints']['plugins'],
|
112
|
-
params = {'user_id'
|
117
|
+
params = {'user_id': user_id, 'search_term': search_term},
|
113
118
|
use_token = True,
|
114
119
|
debug = debug
|
115
120
|
)
|
@@ -120,11 +125,12 @@ def get_plugins(
|
|
120
125
|
error(response.text)
|
121
126
|
return plugins
|
122
127
|
|
128
|
+
|
123
129
|
def get_plugin_attributes(
|
124
|
-
|
125
|
-
|
126
|
-
|
127
|
-
|
130
|
+
self,
|
131
|
+
plugin: mrsm.core.Plugin,
|
132
|
+
debug: bool = False
|
133
|
+
) -> Dict[str, Any]:
|
128
134
|
"""
|
129
135
|
Return a plugin's attributes.
|
130
136
|
"""
|
@@ -136,7 +142,7 @@ def get_plugin_attributes(
|
|
136
142
|
if isinstance(attributes, str) and attributes and attributes[0] == '{':
|
137
143
|
try:
|
138
144
|
attributes = json.loads(attributes)
|
139
|
-
except Exception
|
145
|
+
except Exception:
|
140
146
|
pass
|
141
147
|
if not isinstance(attributes, dict):
|
142
148
|
error(response.text)
|
@@ -145,23 +151,23 @@ def get_plugin_attributes(
|
|
145
151
|
return {}
|
146
152
|
return attributes
|
147
153
|
|
154
|
+
|
148
155
|
def delete_plugin(
|
149
|
-
|
150
|
-
|
151
|
-
|
152
|
-
|
156
|
+
self,
|
157
|
+
plugin: mrsm.core.Plugin,
|
158
|
+
debug: bool = False
|
159
|
+
) -> SuccessTuple:
|
153
160
|
"""Delete a plugin from an API repository."""
|
154
161
|
import json
|
155
162
|
r_url = plugin_r_url(plugin)
|
156
163
|
try:
|
157
164
|
response = self.delete(r_url, debug=debug)
|
158
|
-
except Exception
|
165
|
+
except Exception:
|
159
166
|
return False, f"Failed to delete plugin '{plugin}'."
|
160
167
|
|
161
168
|
try:
|
162
169
|
success, msg = json.loads(response.text)
|
163
|
-
except Exception
|
170
|
+
except Exception:
|
164
171
|
return False, response.text
|
165
172
|
|
166
173
|
return success, msg
|
167
|
-
|
meerschaum/connectors/parse.py
CHANGED
meerschaum/core/Pipe/_data.py
CHANGED
@@ -88,9 +88,8 @@ def get_data(
|
|
88
88
|
limit: Optional[int], default None
|
89
89
|
If provided, cap the dataframe to this many rows.
|
90
90
|
|
91
|
-
fresh: bool, default
|
91
|
+
fresh: bool, default False
|
92
92
|
If `True`, skip local cache and directly query the instance connector.
|
93
|
-
Defaults to `True`.
|
94
93
|
|
95
94
|
debug: bool, default False
|
96
95
|
Verbosity toggle.
|
meerschaum/plugins/_Plugin.py
CHANGED
@@ -450,7 +450,7 @@ class Plugin:
|
|
450
450
|
success, msg = False, (
|
451
451
|
f"Failed to run post-install setup for plugin '{self}'." + '\n' +
|
452
452
|
f"Check `setup()` in '{self.__file__}' for more information " +
|
453
|
-
|
453
|
+
"(no error message provided)."
|
454
454
|
)
|
455
455
|
else:
|
456
456
|
success, msg = True, success_msg
|
@@ -458,7 +458,7 @@ class Plugin:
|
|
458
458
|
success = True
|
459
459
|
msg = (
|
460
460
|
f"Post-install for plugin '{self}' returned None. " +
|
461
|
-
|
461
|
+
"Assuming plugin successfully installed."
|
462
462
|
)
|
463
463
|
warn(msg)
|
464
464
|
else:
|
@@ -469,7 +469,7 @@ class Plugin:
|
|
469
469
|
)
|
470
470
|
|
471
471
|
_ongoing_installations.remove(self.full_name)
|
472
|
-
|
472
|
+
_ = self.module
|
473
473
|
return success, msg
|
474
474
|
|
475
475
|
|
@@ -716,13 +716,14 @@ class Plugin:
|
|
716
716
|
return required
|
717
717
|
|
718
718
|
|
719
|
-
def get_required_plugins(self, debug: bool=False) -> List[
|
719
|
+
def get_required_plugins(self, debug: bool=False) -> List[mrsm.plugins.Plugin]:
|
720
720
|
"""
|
721
721
|
Return a list of required Plugin objects.
|
722
722
|
"""
|
723
723
|
from meerschaum.utils.warnings import warn
|
724
724
|
from meerschaum.config import get_config
|
725
725
|
from meerschaum.config.static import STATIC_CONFIG
|
726
|
+
from meerschaum.connectors.parse import is_valid_connector_keys
|
726
727
|
plugins = []
|
727
728
|
_deps = self.get_dependencies(debug=debug)
|
728
729
|
sep = STATIC_CONFIG['plugins']['repo_separator']
|
@@ -731,11 +732,13 @@ class Plugin:
|
|
731
732
|
if _d.startswith('plugin:') and len(_d) > len('plugin:')
|
732
733
|
]
|
733
734
|
default_repo_keys = get_config('meerschaum', 'default_repository')
|
735
|
+
skipped_repo_keys = set()
|
736
|
+
|
734
737
|
for _plugin_name in plugin_names:
|
735
738
|
if sep in _plugin_name:
|
736
739
|
try:
|
737
740
|
_plugin_name, _repo_keys = _plugin_name.split(sep)
|
738
|
-
except Exception
|
741
|
+
except Exception:
|
739
742
|
_repo_keys = default_repo_keys
|
740
743
|
warn(
|
741
744
|
f"Invalid repo keys for required plugin '{_plugin_name}'.\n "
|
@@ -744,7 +747,20 @@ class Plugin:
|
|
744
747
|
)
|
745
748
|
else:
|
746
749
|
_repo_keys = default_repo_keys
|
750
|
+
|
751
|
+
if _repo_keys in skipped_repo_keys:
|
752
|
+
continue
|
753
|
+
|
754
|
+
if not is_valid_connector_keys(_repo_keys):
|
755
|
+
warn(
|
756
|
+
f"Invalid connector '{_repo_keys}'.\n"
|
757
|
+
f" Skipping required plugins from repository '{_repo_keys}'",
|
758
|
+
stack=False,
|
759
|
+
)
|
760
|
+
continue
|
761
|
+
|
747
762
|
plugins.append(Plugin(_plugin_name, repo=_repo_keys))
|
763
|
+
|
748
764
|
return plugins
|
749
765
|
|
750
766
|
|
meerschaum/plugins/__init__.py
CHANGED
@@ -166,10 +166,11 @@ def post_sync_hook(
|
|
166
166
|
|
167
167
|
_plugin_endpoints_to_pages = {}
|
168
168
|
def web_page(
|
169
|
-
|
170
|
-
|
171
|
-
|
172
|
-
|
169
|
+
page: Union[str, None, Callable[[Any], Any]] = None,
|
170
|
+
login_required: bool = True,
|
171
|
+
skip_navbar: bool = False,
|
172
|
+
**kwargs
|
173
|
+
) -> Any:
|
173
174
|
"""
|
174
175
|
Quickly add pages to the dash application.
|
175
176
|
|
@@ -200,6 +201,7 @@ def web_page(
|
|
200
201
|
_plugin_endpoints_to_pages[page_str] = {
|
201
202
|
'function': _func,
|
202
203
|
'login_required': login_required,
|
204
|
+
'skip_navbar': skip_navbar,
|
203
205
|
}
|
204
206
|
return wrapper
|
205
207
|
|
@@ -66,10 +66,7 @@ def clear_screen(debug: bool = False) -> bool:
|
|
66
66
|
get_console().clear()
|
67
67
|
print("", end="", flush=True)
|
68
68
|
return True
|
69
|
-
clear_string =
|
70
|
-
'\033c' if platform.system() != 'Windows'
|
71
|
-
else '\033[2J'
|
72
|
-
)
|
69
|
+
clear_string = '\033[2J'
|
73
70
|
reset_string = '\033[0m'
|
74
71
|
print(clear_string + reset_string, end="")
|
75
72
|
print("", end="", flush=True)
|
@@ -135,6 +135,7 @@ packages: Dict[str, Dict[str, str]] = {
|
|
135
135
|
packages['sql'] = {
|
136
136
|
'numpy' : 'numpy>=1.18.5',
|
137
137
|
'pandas' : 'pandas[parquet]>=2.0.1',
|
138
|
+
'geopandas' : 'geopandas>=1.0.1',
|
138
139
|
'pyarrow' : 'pyarrow>=16.1.0',
|
139
140
|
'dask' : 'dask[complete]>=2024.12.1',
|
140
141
|
'partd' : 'partd>=1.4.2',
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.2
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.
|
3
|
+
Version: 2.9.0.dev1
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -126,6 +126,7 @@ Requires-Dist: importlib-metadata>=4.12.0; extra == "extras"
|
|
126
126
|
Provides-Extra: sql
|
127
127
|
Requires-Dist: numpy>=1.18.5; extra == "sql"
|
128
128
|
Requires-Dist: pandas[parquet]>=2.0.1; extra == "sql"
|
129
|
+
Requires-Dist: geopandas>=1.0.1; extra == "sql"
|
129
130
|
Requires-Dist: pyarrow>=16.1.0; extra == "sql"
|
130
131
|
Requires-Dist: dask[complete]>=2024.12.1; extra == "sql"
|
131
132
|
Requires-Dist: partd>=1.4.2; extra == "sql"
|
@@ -186,6 +187,7 @@ Requires-Dist: httpcore>=1.0.6; extra == "api"
|
|
186
187
|
Requires-Dist: valkey>=6.0.0; extra == "api"
|
187
188
|
Requires-Dist: numpy>=1.18.5; extra == "api"
|
188
189
|
Requires-Dist: pandas[parquet]>=2.0.1; extra == "api"
|
190
|
+
Requires-Dist: geopandas>=1.0.1; extra == "api"
|
189
191
|
Requires-Dist: pyarrow>=16.1.0; extra == "api"
|
190
192
|
Requires-Dist: dask[complete]>=2024.12.1; extra == "api"
|
191
193
|
Requires-Dist: partd>=1.4.2; extra == "api"
|
@@ -291,6 +293,7 @@ Requires-Dist: pywebview>=3.6.3; extra == "full"
|
|
291
293
|
Requires-Dist: pycparser>=2.21.0; extra == "full"
|
292
294
|
Requires-Dist: numpy>=1.18.5; extra == "full"
|
293
295
|
Requires-Dist: pandas[parquet]>=2.0.1; extra == "full"
|
296
|
+
Requires-Dist: geopandas>=1.0.1; extra == "full"
|
294
297
|
Requires-Dist: pyarrow>=16.1.0; extra == "full"
|
295
298
|
Requires-Dist: dask[complete]>=2024.12.1; extra == "full"
|
296
299
|
Requires-Dist: partd>=1.4.2; extra == "full"
|
@@ -54,12 +54,13 @@ meerschaum/actions/upgrade.py,sha256=AjuC93Te-I_GWwIfuNkFJ2q1zVHDQ2Oco34S4JgK2iA
|
|
54
54
|
meerschaum/actions/verify.py,sha256=81Km4sPkLVAzPG6pDbMfoBpEWsk8pxjVGXgu-k8seSs,5019
|
55
55
|
meerschaum/api/__init__.py,sha256=UsAFx7oOTB9Z8m1u0DRfiQFdSxjoyqgVaICuwv7loDg,10414
|
56
56
|
meerschaum/api/_chain.py,sha256=h8-WXUGXX6AqzdALfsBC5uv0FkAcLdHJXCGzqzuq89k,875
|
57
|
+
meerschaum/api/_chunks.py,sha256=rmhz8h4MZDnjkE02fDqDEwbYwwZbnU4gVwy3-QqB5y0,1898
|
57
58
|
meerschaum/api/_events.py,sha256=f-98AXHU10IL9zRGX1FrZFANxxiMz5ryeJnfFWaU8R8,2232
|
58
59
|
meerschaum/api/_exceptions.py,sha256=xfbWp8F8JYrMUdtDXesn8C8e39_jAXHz51IosIGjkVM,463
|
59
60
|
meerschaum/api/_oauth2.py,sha256=dJTIVlPpX3sAVW-PcN6pXRNy2RR5QAalu2RHp3l14YU,1683
|
60
61
|
meerschaum/api/_websockets.py,sha256=EMT9wB3yELu_WyCMqn9ZpgMDh23spUUchouRLCCLVuw,1509
|
61
62
|
meerschaum/api/dash/__init__.py,sha256=SpM96oyOy_MUswZHtJkVzMn91PjdADPyCAkyTQjL7LA,2079
|
62
|
-
meerschaum/api/dash/components.py,sha256=
|
63
|
+
meerschaum/api/dash/components.py,sha256=vePWQUf00l_YdVTj_UWfMr1lPq50hV0XpkFLc8iylpk,6571
|
63
64
|
meerschaum/api/dash/connectors.py,sha256=-Wd40ieYJI2nOASXi4V1C4bvLekjnN_tj6zp7HgZDl0,791
|
64
65
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
65
66
|
meerschaum/api/dash/jobs.py,sha256=mj9STE6AaQY4fwkjD1JcYRG0iW3VEcP04bO1SlKgiXw,7681
|
@@ -70,7 +71,7 @@ meerschaum/api/dash/sessions.py,sha256=i8qFGZX1zlxskj13F5B9TYd-mXdVA71Q8d8nESbiJ
|
|
70
71
|
meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
|
71
72
|
meerschaum/api/dash/users.py,sha256=3wq3ZG51DxOjNeF-X5HdlXD1MYQ1nQ9oowYSvFEY7hs,1050
|
72
73
|
meerschaum/api/dash/websockets.py,sha256=0iwRaI9k2okU1baYstOkehfZ6-qMi_S6qm4lPBjVlH8,924
|
73
|
-
meerschaum/api/dash/webterm.py,sha256=
|
74
|
+
meerschaum/api/dash/webterm.py,sha256=KyCe5yUZ2IXEDqJxoMcruenpvuwA1wWqRwXVnEOVMY0,4394
|
74
75
|
meerschaum/api/dash/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
75
76
|
meerschaum/api/dash/assets/ansi_up.js,sha256=in4bWSCayjzXbOgROw7eLRrFwCTIiLxh8nbFSJXtDl4,21923
|
76
77
|
meerschaum/api/dash/assets/banner_1920x320.png,sha256=n2cNTSVEsGxO9XZg2keb85J3UOkux70nyIMNII5m4SA,338636
|
@@ -78,20 +79,20 @@ meerschaum/api/dash/assets/favicon.ico,sha256=nDEekVxwS60wEDno1nbw5GF3TJOcDV26SE
|
|
78
79
|
meerschaum/api/dash/assets/logo_48x48.png,sha256=hTR5BHUHEN4yP2xiqAcDciuigoII9T3-80R-dzsxVmw,10218
|
79
80
|
meerschaum/api/dash/assets/logo_500x500.png,sha256=9EUtf6wQcEZTXHKfQ2kjNXod6Rn_4DTB_BkTgxggq00,67702
|
80
81
|
meerschaum/api/dash/callbacks/__init__.py,sha256=5nLDkziaWWWt5ivmuMNG3kVBMOfqB6KQNIAS8f16bmA,493
|
81
|
-
meerschaum/api/dash/callbacks/custom.py,sha256=
|
82
|
-
meerschaum/api/dash/callbacks/dashboard.py,sha256=
|
82
|
+
meerschaum/api/dash/callbacks/custom.py,sha256=p1ki5jvc6FT628Qz_hm1TMDWGLV7m670R6yRJwsWvuE,1905
|
83
|
+
meerschaum/api/dash/callbacks/dashboard.py,sha256=BRYypI3Zwx8k7KEZjQDVLI4Z0OQuXBLBlhmhlCvg6JU,36112
|
83
84
|
meerschaum/api/dash/callbacks/jobs.py,sha256=JYTrDcUEte_MIT3EegLDmQDsmU_Mxqw8L60dvF71ho4,8418
|
84
85
|
meerschaum/api/dash/callbacks/login.py,sha256=mEvMgV-f85H6DvqNdTvJPoiwHqTnhWY2nf_zLB26ipE,2876
|
85
86
|
meerschaum/api/dash/callbacks/pipes.py,sha256=byphQn-wJOe8ft-fGU9wac0n5xsMjVHJzNvYYb9NsKU,1693
|
86
87
|
meerschaum/api/dash/callbacks/plugins.py,sha256=znPgw_Uf3__QEjKxoIHADfjVNubTehCDaTJ02b16pQo,2760
|
87
88
|
meerschaum/api/dash/callbacks/register.py,sha256=KfMFgXWiFkemz0YriSPaLQBVnFDG8q6_t9gHuempOS0,3666
|
88
89
|
meerschaum/api/dash/pages/__init__.py,sha256=E3MI73_FR21R_-npTJ9HBNd7hdbOwQ75V-TMpq3ohz8,349
|
89
|
-
meerschaum/api/dash/pages/dashboard.py,sha256=
|
90
|
+
meerschaum/api/dash/pages/dashboard.py,sha256=d6zPEycsbiFJyvufN6kt5JsOZbpW9zy-mNxPAJ_wOFo,3830
|
90
91
|
meerschaum/api/dash/pages/error.py,sha256=-uCrASuIBrceHcc-leLeEoLos2ibSBWG0XMFQzFwtbw,595
|
91
92
|
meerschaum/api/dash/pages/job.py,sha256=bAXXDB0fM3bSiqqJ2XlTwVdg2lohRaWdIGZp7ZtTZOw,544
|
92
93
|
meerschaum/api/dash/pages/login.py,sha256=Qjc-kDL9wW4D1cN48x0MrmWCME4igHDt0VkX9JSipjY,4603
|
93
94
|
meerschaum/api/dash/pages/pipes.py,sha256=Cd5XY_m4nBIsEk6TQadpcajuBRzxw1cyDaTtojwykcI,506
|
94
|
-
meerschaum/api/dash/pages/plugins.py,sha256=
|
95
|
+
meerschaum/api/dash/pages/plugins.py,sha256=EX-M99bxvRSrI-9bIBocj-tmBpf6NgPQ813sJ_HSXS8,1731
|
95
96
|
meerschaum/api/dash/pages/register.py,sha256=dqhsiu2OhrXhs4RL41_CpqipdrWo1-_roASvZIDBAq8,2364
|
96
97
|
meerschaum/api/models/__init__.py,sha256=WrSLChqDkw5y9uU_ma2xJFFLqqVAQvHoIjuYrZDxOcM,276
|
97
98
|
meerschaum/api/models/_interfaces.py,sha256=XtqxzWvUhZ-_SDia45Ut9K_VNziSltGjmLlUt-tMcJY,263
|
@@ -102,7 +103,7 @@ meerschaum/api/resources/__init__.py,sha256=LshFiqh0sL55QtC_15fz6A6r-1_H9sQWtlif
|
|
102
103
|
meerschaum/api/resources/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
103
104
|
meerschaum/api/resources/static/css/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
104
105
|
meerschaum/api/resources/static/css/bootstrap.min.css,sha256=W8ArKu4Q_NnxCNqO3doJB2hqrNOIHNLFroAxpyxnYL8,180286
|
105
|
-
meerschaum/api/resources/static/css/dash.css,sha256=
|
106
|
+
meerschaum/api/resources/static/css/dash.css,sha256=T30ZHWx1Kq-E0BaUJrMwVeTba_lxsFaO2r5AL8716W8,1714
|
106
107
|
meerschaum/api/resources/static/css/dbc_dark.css,sha256=2pka1ymFAjlWLv-mJaxGkPeL-gTEMD2g4Ba6LMuhHV4,6087
|
107
108
|
meerschaum/api/resources/static/css/styles.css,sha256=dHcCtRUzs8kJhpG6d4gusROLSe9AFkUitybvgFmEDvI,81
|
108
109
|
meerschaum/api/resources/static/css/xterm.css,sha256=gy8_LGA7Q61DUf8ElwFQzHqHMBQnbbEmpgZcbdgeSHI,5383
|
@@ -118,7 +119,7 @@ meerschaum/api/resources/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQe
|
|
118
119
|
meerschaum/api/resources/templates/index.html,sha256=Ck-S0U5abJgB-wTOKIGg0ispGzKlXXqvFUoNAAByzLA,1019
|
119
120
|
meerschaum/api/resources/templates/old_index.html,sha256=BDeOlcXhSsBH3-NaRtuX4Z1sDuhOoCMa_Dq-6g5RMpc,1711
|
120
121
|
meerschaum/api/resources/templates/secret.html,sha256=0QWkm4ZoN81Aw1pd2-62rGCvx3nXPHfFUoegj3Iy8Ls,141
|
121
|
-
meerschaum/api/resources/templates/termpage.html,sha256=
|
122
|
+
meerschaum/api/resources/templates/termpage.html,sha256=xW1_a7Anbk2RM-P75EuAVKYPOo6_36fByT0OMxD-yos,6168
|
122
123
|
meerschaum/api/routes/__init__.py,sha256=38k-iGm7LM30C1jfvkt7_tatRO3tfx-eOd8AnTgLkc0,611
|
123
124
|
meerschaum/api/routes/_actions.py,sha256=VUasS1dpr4d3TXHcR1CXlRZPAqvGKKuHv_f9PsOkQ5c,1732
|
124
125
|
meerschaum/api/routes/_connectors.py,sha256=E2Icawy42nBPM7peRlHBM9_v4vF0daWCf-_Ok14LbqI,1776
|
@@ -126,7 +127,7 @@ meerschaum/api/routes/_index.py,sha256=Z8kuyqm3vmJadw8iIYyswYI4-3IOJ7KXdkhDTv1oU
|
|
126
127
|
meerschaum/api/routes/_jobs.py,sha256=sEt-UtVd5pN-hJgikTvj1oTKJQ2hhNe8XhjkclwOXOE,12568
|
127
128
|
meerschaum/api/routes/_login.py,sha256=tygEp50EVOMgvTG6CEASlShflbtEK8viJ9O07o0lnnE,2434
|
128
129
|
meerschaum/api/routes/_misc.py,sha256=XxfSvXNGAm8rdvXePXWxX8wc5tjeAdBOSZwYveL3oAM,2591
|
129
|
-
meerschaum/api/routes/_pipes.py,sha256=
|
130
|
+
meerschaum/api/routes/_pipes.py,sha256=1NiL6xKPdFh4LNm5OioedZ_bHUlDBRM7uJU4frjXcDE,28111
|
130
131
|
meerschaum/api/routes/_plugins.py,sha256=okstNlv9Bhoiy6JvQWgwjxEi4kQ8adPUcir6k3Y7hH8,6329
|
131
132
|
meerschaum/api/routes/_users.py,sha256=i55LuLTQ2cuzIyWz0PxkWji6aQQUIBPf_FEryKwXI50,7197
|
132
133
|
meerschaum/api/routes/_version.py,sha256=-3A0i4Gk54netFOOwjI_x3YQik9vgHjtq7G_VYbzIJo,750
|
@@ -134,7 +135,7 @@ meerschaum/api/routes/_webterm.py,sha256=S7RXV8vvaTFbmVeehh4UhyXb4NCgcsyOQzoAG7j
|
|
134
135
|
meerschaum/api/tables/__init__.py,sha256=e2aNC0CdlWICTUMx1i9RauF8Pm426J0RZJbsJWv4SWo,482
|
135
136
|
meerschaum/config/__init__.py,sha256=5ZBq71P9t3nb74r5CGvMfNuauPscfegBX-nkaAUi5C4,11541
|
136
137
|
meerschaum/config/_dash.py,sha256=BJHl4xMrQB-YHUEU7ldEW8q_nOPoIRSOqLrfGElc6Dw,187
|
137
|
-
meerschaum/config/_default.py,sha256=
|
138
|
+
meerschaum/config/_default.py,sha256=8Jd-zvL159MtyOVvzMr7v2najvC-IqiCqBB4iOTs9v4,6549
|
138
139
|
meerschaum/config/_edit.py,sha256=M9yX_SDD24gV5kWITZpy7p9AWTizJsIAGWAs3WZx-Ws,9087
|
139
140
|
meerschaum/config/_environment.py,sha256=Vv4DLDfc2vKLbCLsMvkQDj77K4kEvHKEBmUBo-wCrgo,4419
|
140
141
|
meerschaum/config/_formatting.py,sha256=OMuqS1EWOsj_34wSs2tOqGIWci3bTMIZ5l-uelZgsIM,6672
|
@@ -145,7 +146,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
145
146
|
meerschaum/config/_read_config.py,sha256=RLC3HHi_1ndj7ITVDKLD9_uULY3caGRwSz3ATYE-ixA,15014
|
146
147
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
147
148
|
meerschaum/config/_sync.py,sha256=jHcWRkxd82_BgX8Xo8agsWvf7BSbv3qHLWmYl6ehp_0,4242
|
148
|
-
meerschaum/config/_version.py,sha256=
|
149
|
+
meerschaum/config/_version.py,sha256=sy5oF3pXniu3CK-n6ajL2bnNRMZ4Js9kCqgkZH_UoTI,76
|
149
150
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
150
151
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
151
152
|
meerschaum/config/stack/__init__.py,sha256=2UukC0Lmk-aVL1o1qXzumqmuIrw3vu9fD7iCuz4XD4I,10544
|
@@ -156,18 +157,18 @@ meerschaum/config/stack/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeR
|
|
156
157
|
meerschaum/config/static/__init__.py,sha256=ccm5oaYnLu0j5B85C9a8Y7jWsw4ReJq5RqyvLd-rW_s,5519
|
157
158
|
meerschaum/connectors/_Connector.py,sha256=VaVNg0SlQCTXk4shl3c68QdkbymA2Y9ScUlUjckk8PY,6795
|
158
159
|
meerschaum/connectors/__init__.py,sha256=bpWsnU0uvoowWyUkFTwfEkadK84pssZUJ4M7yReudOU,12703
|
159
|
-
meerschaum/connectors/parse.py,sha256=
|
160
|
+
meerschaum/connectors/parse.py,sha256=Dzu3fiZu-Vd5d0qje-HCwIIolfmWmUYEOpYRjc7vDqw,4188
|
160
161
|
meerschaum/connectors/poll.py,sha256=23yRUeIqqyNVt8VoJErhirW543YZ6X0ocfBauMJnC_g,7465
|
161
|
-
meerschaum/connectors/api/_APIConnector.py,sha256=
|
162
|
+
meerschaum/connectors/api/_APIConnector.py,sha256=bcjvPVfxE7y7i_r3FTPL1phzjTMqWq4szJzeusaNqQg,5598
|
162
163
|
meerschaum/connectors/api/__init__.py,sha256=rYHDMK7n-5X5HoxiRITt-sVLgePnPQbgwntkhzvJvOk,234
|
163
164
|
meerschaum/connectors/api/_actions.py,sha256=gd3F8i5BvN8XRvMcPvPVR8sc1DeLzgoBHdDhc8PtACE,3966
|
164
165
|
meerschaum/connectors/api/_fetch.py,sha256=Khq9AFr1nk8Dsmcedb77aWhAuHw0JGgVeahDG95Q5MQ,2072
|
165
166
|
meerschaum/connectors/api/_jobs.py,sha256=N5lpHFGG10jlVgaJeWAOTuLBQw3AdgjXsEPpp1YwZQE,11270
|
166
167
|
meerschaum/connectors/api/_login.py,sha256=cVVmiS-QT0y0QHdrG25eGB4f7j44om1E0YPxnMCNeas,2049
|
167
168
|
meerschaum/connectors/api/_misc.py,sha256=XK0LLexNUEKZjAAqoJ-9oOgwLlMdwxSOvcpqO5NuOas,1083
|
168
|
-
meerschaum/connectors/api/_pipes.py,sha256=
|
169
|
-
meerschaum/connectors/api/_plugins.py,sha256=
|
170
|
-
meerschaum/connectors/api/_request.py,sha256=
|
169
|
+
meerschaum/connectors/api/_pipes.py,sha256=yeyxb83RBtqK2RuBhrmifN0mUwobN5IAetn-SGB3Qjo,22384
|
170
|
+
meerschaum/connectors/api/_plugins.py,sha256=hv0rqWaH8GrQMup8XMdfUbpv_qGcEAjnl3S8yYQGcsI,5072
|
171
|
+
meerschaum/connectors/api/_request.py,sha256=JtnDa14nkC5CDCuYhutUPztnbLxxzgjmGG_0k09B4mY,6957
|
171
172
|
meerschaum/connectors/api/_uri.py,sha256=HWxqGx4R1cHZ3ywy9Ro9ePbFxxusw4RLaC3hpGt9Z6I,1469
|
172
173
|
meerschaum/connectors/api/_users.py,sha256=kzb7ENgXwQ19OJYKOuuWzx2rwVuUZCly9dTnyvVuT2Q,5275
|
173
174
|
meerschaum/connectors/plugin/PluginConnector.py,sha256=aQ1QaB7MordCFimZqoGLb0R12PfDUN_nWks2J5mzeAs,2084
|
@@ -198,7 +199,7 @@ meerschaum/core/Pipe/_attributes.py,sha256=wZQBGspZHmqmab_DNEUrvYsJSZtwaDsj0zeXD
|
|
198
199
|
meerschaum/core/Pipe/_bootstrap.py,sha256=gTNGh5e2LmTMrgIpHqrVaL60uPKWCphhsuz8j-lJ2HI,7348
|
199
200
|
meerschaum/core/Pipe/_clear.py,sha256=LghXabgyyc1tD7FNQrh9ExT71ipcg2poM9FDA3k9e4M,2230
|
200
201
|
meerschaum/core/Pipe/_copy.py,sha256=YDclAapf_spm9phpFr4-CALyYyw7nUsyKyiaLM1cnm4,2965
|
201
|
-
meerschaum/core/Pipe/_data.py,sha256=
|
202
|
+
meerschaum/core/Pipe/_data.py,sha256=5iHl-_Nsp1xizcNF60ZcEbDvtIYzmdLqpx0Q596Kz4Q,26792
|
202
203
|
meerschaum/core/Pipe/_deduplicate.py,sha256=Wsa1cJk41LgaHwIsJC9OZfPZ_3GoMP26_y8MmJdTrO8,10137
|
203
204
|
meerschaum/core/Pipe/_delete.py,sha256=1geNp9BgrocXP1gt76dMbnlJWKYFMuSNqPFA4K4-hXE,2118
|
204
205
|
meerschaum/core/Pipe/_drop.py,sha256=KDfJVz2aGjHUE1Jkmj7Ej4ICPR5xPiuhyhgRO7Lu9d4,3299
|
@@ -217,8 +218,8 @@ meerschaum/jobs/_Executor.py,sha256=qM62BhFTM4tyJ7p90KOM0y3qyeRY9k3ZV_aTDJMHnO8,
|
|
217
218
|
meerschaum/jobs/_Job.py,sha256=D4TFrEQQ9EYqZrnepLBO7T3Sx2mOOdgBs2JnBdC1dNc,32257
|
218
219
|
meerschaum/jobs/__init__.py,sha256=YmZr1ZU8MLUjlTSLQ61Y6eE-a-SYuSMSMhiIpJKao_Y,12829
|
219
220
|
meerschaum/jobs/systemd.py,sha256=CZbBkm-2z8z7G3CNmP5yBRj2VtWuxmxXVIv97cGhZGc,24613
|
220
|
-
meerschaum/plugins/_Plugin.py,sha256=
|
221
|
-
meerschaum/plugins/__init__.py,sha256=
|
221
|
+
meerschaum/plugins/_Plugin.py,sha256=CyaWg0TImFui9NMJkTP3bYKnYHmRC5uVrPSPKoiB_Dc,34359
|
222
|
+
meerschaum/plugins/__init__.py,sha256=Tl5B0Q4rIfgkPpgknJH3UKKB3fS_cAWI9TspKosvBPM,26520
|
222
223
|
meerschaum/plugins/bootstrap.py,sha256=VwjpZAuYdqPJW0YoVgAoM_taHkdQHqP902-8T7OWWCI,11339
|
223
224
|
meerschaum/utils/__init__.py,sha256=QrK1K9hIbPCRCM5k2nZGFqGnrqhA0Eh-iSmCU7FG6Cs,612
|
224
225
|
meerschaum/utils/_get_pipes.py,sha256=tu4xKPoDn79Dz2kWM13cXTP4DSCkn-3G9M8KiLftopw,11073
|
@@ -248,17 +249,17 @@ meerschaum/utils/formatting/__init__.py,sha256=bA8qwBeTNIVHVQOBK682bJsKSKik1yS6x
|
|
248
249
|
meerschaum/utils/formatting/_jobs.py,sha256=izsqPJhTtUkXUUtWnbXtReYsUYwulXtci3pBj72Ne64,6637
|
249
250
|
meerschaum/utils/formatting/_pipes.py,sha256=gwl8-xCN5GYqBZJ7SkY20BebcofY0nU5X8Y4Emf5dz8,19570
|
250
251
|
meerschaum/utils/formatting/_pprint.py,sha256=wyTmjHFnsHbxfyuytjTWzH-D42Z65GuIisQ_W6UnRPg,3096
|
251
|
-
meerschaum/utils/formatting/_shell.py,sha256=
|
252
|
+
meerschaum/utils/formatting/_shell.py,sha256=2bFvtwNXapjl9jdlc0fg79PRWHbYVcllKiVcG5g36qI,3678
|
252
253
|
meerschaum/utils/packages/__init__.py,sha256=TdKaj2tmN4bFwzusOfMv24P5ET7Zv73vyoOf9GOIr5E,64427
|
253
|
-
meerschaum/utils/packages/_packages.py,sha256=
|
254
|
+
meerschaum/utils/packages/_packages.py,sha256=_ygc4zH7z80TuxRz7ThIm8TuMtklpPWa4Yv8WoDjiSk,8928
|
254
255
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
255
256
|
meerschaum/utils/venv/_Venv.py,sha256=gc1TCeAj-kTZbQFAT9xl1bi4HXFV5ApT0dPOJfxwr78,3748
|
256
|
-
meerschaum/utils/venv/__init__.py,sha256=
|
257
|
-
meerschaum-2.
|
258
|
-
meerschaum-2.
|
259
|
-
meerschaum-2.
|
260
|
-
meerschaum-2.
|
261
|
-
meerschaum-2.
|
262
|
-
meerschaum-2.
|
263
|
-
meerschaum-2.
|
264
|
-
meerschaum-2.
|
257
|
+
meerschaum/utils/venv/__init__.py,sha256=6FDfOSBsGgw2RIXvBuFEwlF5740RIHs4Qum0ekati9I,27249
|
258
|
+
meerschaum-2.9.0.dev1.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
259
|
+
meerschaum-2.9.0.dev1.dist-info/METADATA,sha256=xo2G8mHGjiEnAk4r3W5sfOxPGxT2TPg58zhpE7MPRPA,24639
|
260
|
+
meerschaum-2.9.0.dev1.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
261
|
+
meerschaum-2.9.0.dev1.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
|
262
|
+
meerschaum-2.9.0.dev1.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
263
|
+
meerschaum-2.9.0.dev1.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
264
|
+
meerschaum-2.9.0.dev1.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
265
|
+
meerschaum-2.9.0.dev1.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|