meerschaum 2.3.0.dev3__py3-none-any.whl → 2.3.0rc2__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/__init__.py +3 -2
- meerschaum/__main__.py +0 -5
- meerschaum/_internal/arguments/__init__.py +1 -1
- meerschaum/_internal/arguments/_parse_arguments.py +56 -2
- meerschaum/_internal/arguments/_parser.py +6 -2
- meerschaum/_internal/entry.py +94 -23
- meerschaum/_internal/shell/Shell.py +112 -35
- meerschaum/actions/attach.py +12 -7
- meerschaum/actions/copy.py +68 -41
- meerschaum/actions/delete.py +75 -26
- meerschaum/actions/edit.py +3 -3
- meerschaum/actions/install.py +40 -32
- meerschaum/actions/pause.py +44 -27
- meerschaum/actions/restart.py +107 -0
- meerschaum/actions/show.py +8 -8
- meerschaum/actions/start.py +27 -46
- meerschaum/actions/stop.py +11 -4
- meerschaum/api/_events.py +10 -3
- meerschaum/api/dash/jobs.py +69 -70
- meerschaum/api/routes/_actions.py +8 -3
- meerschaum/api/routes/_jobs.py +37 -19
- meerschaum/config/_default.py +1 -1
- meerschaum/config/_paths.py +5 -0
- meerschaum/config/_version.py +1 -1
- meerschaum/config/static/__init__.py +5 -0
- meerschaum/connectors/Connector.py +13 -7
- meerschaum/connectors/__init__.py +21 -5
- meerschaum/connectors/api/APIConnector.py +3 -0
- meerschaum/connectors/api/_jobs.py +30 -3
- meerschaum/connectors/parse.py +10 -14
- meerschaum/core/Pipe/_bootstrap.py +16 -8
- meerschaum/jobs/_Executor.py +69 -0
- meerschaum/{utils/jobs → jobs}/_Job.py +169 -21
- meerschaum/jobs/_LocalExecutor.py +88 -0
- meerschaum/jobs/_SystemdExecutor.py +613 -0
- meerschaum/jobs/__init__.py +388 -0
- meerschaum/plugins/__init__.py +6 -6
- meerschaum/utils/daemon/Daemon.py +7 -0
- meerschaum/utils/daemon/RotatingFile.py +5 -2
- meerschaum/utils/daemon/StdinFile.py +12 -2
- meerschaum/utils/daemon/__init__.py +2 -0
- meerschaum/utils/formatting/_jobs.py +49 -25
- meerschaum/utils/misc.py +23 -5
- meerschaum/utils/packages/_packages.py +7 -4
- meerschaum/utils/process.py +9 -9
- meerschaum/utils/venv/__init__.py +2 -2
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/METADATA +14 -17
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/RECORD +54 -50
- meerschaum/utils/jobs/__init__.py +0 -245
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/LICENSE +0 -0
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/NOTICE +0 -0
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/WHEEL +0 -0
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/top_level.txt +0 -0
- {meerschaum-2.3.0.dev3.dist-info → meerschaum-2.3.0rc2.dist-info}/zip-safe +0 -0
@@ -47,15 +47,17 @@ packages: Dict[str, Dict[str, str]] = {
|
|
47
47
|
'packaging' : 'packaging>=21.3.0',
|
48
48
|
'prompt_toolkit' : 'prompt-toolkit>=3.0.39',
|
49
49
|
'more_itertools' : 'more-itertools>=8.7.0',
|
50
|
-
'daemon' : 'python-daemon>=0.2.3',
|
51
50
|
'fasteners' : 'fasteners>=0.19.0',
|
52
|
-
'psutil' : 'psutil>=5.8.0',
|
53
|
-
'watchfiles' : 'watchfiles>=0.21.0',
|
54
|
-
'dill' : 'dill>=0.3.3',
|
55
51
|
'virtualenv' : 'virtualenv>=20.1.0',
|
56
52
|
'apscheduler' : 'APScheduler>=4.0.0a5',
|
57
53
|
'uv' : 'uv>=0.2.11',
|
58
54
|
},
|
55
|
+
'jobs': {
|
56
|
+
'dill' : 'dill>=0.3.3',
|
57
|
+
'daemon' : 'python-daemon>=0.2.3',
|
58
|
+
'watchfiles' : 'watchfiles>=0.21.0',
|
59
|
+
'psutil' : 'psutil>=5.8.0',
|
60
|
+
},
|
59
61
|
'drivers': {
|
60
62
|
'cryptography' : 'cryptography>=38.0.1',
|
61
63
|
'psycopg' : 'psycopg[binary]>=3.2.1',
|
@@ -156,6 +158,7 @@ packages['api'] = {
|
|
156
158
|
packages['api'].update(packages['sql'])
|
157
159
|
packages['api'].update(packages['formatting'])
|
158
160
|
packages['api'].update(packages['dash'])
|
161
|
+
packages['api'].update(packages['jobs'])
|
159
162
|
|
160
163
|
all_packages = {}
|
161
164
|
for group, import_names in packages.items():
|
meerschaum/utils/process.py
CHANGED
@@ -20,15 +20,15 @@ def signal_handler(sig, frame):
|
|
20
20
|
child.wait()
|
21
21
|
|
22
22
|
def run_process(
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
|
28
|
-
|
29
|
-
|
30
|
-
|
31
|
-
|
23
|
+
*args,
|
24
|
+
foreground: bool = False,
|
25
|
+
as_proc: bool = False,
|
26
|
+
line_callback: Optional[Callable[[bytes], Any]] = None,
|
27
|
+
store_proc_dict: Optional[Dict[str, Any]] = None,
|
28
|
+
store_proc_key: str = 'child_process',
|
29
|
+
capture_output: bool = False,
|
30
|
+
**kw: Any
|
31
|
+
) -> Union[int, subprocess.Popen]:
|
32
32
|
"""Original foreground solution found here:
|
33
33
|
https://stackoverflow.com/questions/23826695/handling-keyboard-interrupt-when-using-subproccess
|
34
34
|
|
@@ -263,8 +263,8 @@ def verify_venv(
|
|
263
263
|
print(f"Getting python version for {python_path}")
|
264
264
|
proc = run_process(
|
265
265
|
[str(python_path), '-V'],
|
266
|
-
as_proc
|
267
|
-
capture_output
|
266
|
+
as_proc=True,
|
267
|
+
capture_output=True,
|
268
268
|
)
|
269
269
|
stdout, stderr = proc.communicate(timeout=1.0)
|
270
270
|
except Exception as e:
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.3.
|
3
|
+
Version: 2.3.0rc2
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -73,11 +73,7 @@ Requires-Dist: aiofiles >=0.6.0 ; extra == 'api'
|
|
73
73
|
Requires-Dist: packaging >=21.3.0 ; extra == 'api'
|
74
74
|
Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'api'
|
75
75
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'api'
|
76
|
-
Requires-Dist: python-daemon >=0.2.3 ; extra == 'api'
|
77
76
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'api'
|
78
|
-
Requires-Dist: psutil >=5.8.0 ; extra == 'api'
|
79
|
-
Requires-Dist: watchfiles >=0.21.0 ; extra == 'api'
|
80
|
-
Requires-Dist: dill >=0.3.3 ; extra == 'api'
|
81
77
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'api'
|
82
78
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'api'
|
83
79
|
Requires-Dist: uv >=0.2.11 ; extra == 'api'
|
@@ -97,6 +93,10 @@ Requires-Dist: dash-extensions >=1.0.4 ; extra == 'api'
|
|
97
93
|
Requires-Dist: dash-daq >=0.5.0 ; extra == 'api'
|
98
94
|
Requires-Dist: terminado >=0.12.1 ; extra == 'api'
|
99
95
|
Requires-Dist: tornado >=6.1.0 ; extra == 'api'
|
96
|
+
Requires-Dist: dill >=0.3.3 ; extra == 'api'
|
97
|
+
Requires-Dist: python-daemon >=0.2.3 ; extra == 'api'
|
98
|
+
Requires-Dist: watchfiles >=0.21.0 ; extra == 'api'
|
99
|
+
Requires-Dist: psutil >=5.8.0 ; extra == 'api'
|
100
100
|
Provides-Extra: build
|
101
101
|
Requires-Dist: cx-Freeze >=7.0.0 ; extra == 'build'
|
102
102
|
Requires-Dist: pyinstaller >6.6.0 ; extra == 'build'
|
@@ -123,11 +123,7 @@ Requires-Dist: aiofiles >=0.6.0 ; extra == 'core'
|
|
123
123
|
Requires-Dist: packaging >=21.3.0 ; extra == 'core'
|
124
124
|
Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'core'
|
125
125
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'core'
|
126
|
-
Requires-Dist: python-daemon >=0.2.3 ; extra == 'core'
|
127
126
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'core'
|
128
|
-
Requires-Dist: psutil >=5.8.0 ; extra == 'core'
|
129
|
-
Requires-Dist: watchfiles >=0.21.0 ; extra == 'core'
|
130
|
-
Requires-Dist: dill >=0.3.3 ; extra == 'core'
|
131
127
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'core'
|
132
128
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'core'
|
133
129
|
Requires-Dist: uv >=0.2.11 ; extra == 'core'
|
@@ -210,14 +206,14 @@ Requires-Dist: aiofiles >=0.6.0 ; extra == 'full'
|
|
210
206
|
Requires-Dist: packaging >=21.3.0 ; extra == 'full'
|
211
207
|
Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'full'
|
212
208
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'full'
|
213
|
-
Requires-Dist: python-daemon >=0.2.3 ; extra == 'full'
|
214
209
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'full'
|
215
|
-
Requires-Dist: psutil >=5.8.0 ; extra == 'full'
|
216
|
-
Requires-Dist: watchfiles >=0.21.0 ; extra == 'full'
|
217
|
-
Requires-Dist: dill >=0.3.3 ; extra == 'full'
|
218
210
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'full'
|
219
211
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'full'
|
220
212
|
Requires-Dist: uv >=0.2.11 ; extra == 'full'
|
213
|
+
Requires-Dist: dill >=0.3.3 ; extra == 'full'
|
214
|
+
Requires-Dist: python-daemon >=0.2.3 ; extra == 'full'
|
215
|
+
Requires-Dist: watchfiles >=0.21.0 ; extra == 'full'
|
216
|
+
Requires-Dist: psutil >=5.8.0 ; extra == 'full'
|
221
217
|
Requires-Dist: cryptography >=38.0.1 ; extra == 'full'
|
222
218
|
Requires-Dist: psycopg[binary] >=3.2.1 ; extra == 'full'
|
223
219
|
Requires-Dist: PyMySQL >=0.9.0 ; extra == 'full'
|
@@ -258,6 +254,11 @@ Provides-Extra: gui
|
|
258
254
|
Requires-Dist: toga >=0.3.0-dev29 ; extra == 'gui'
|
259
255
|
Requires-Dist: pywebview >=3.6.3 ; extra == 'gui'
|
260
256
|
Requires-Dist: pycparser >=2.21.0 ; extra == 'gui'
|
257
|
+
Provides-Extra: jobs
|
258
|
+
Requires-Dist: dill >=0.3.3 ; extra == 'jobs'
|
259
|
+
Requires-Dist: python-daemon >=0.2.3 ; extra == 'jobs'
|
260
|
+
Requires-Dist: watchfiles >=0.21.0 ; extra == 'jobs'
|
261
|
+
Requires-Dist: psutil >=5.8.0 ; extra == 'jobs'
|
261
262
|
Provides-Extra: minimal
|
262
263
|
Provides-Extra: required
|
263
264
|
Provides-Extra: setup
|
@@ -295,11 +296,7 @@ Requires-Dist: aiofiles >=0.6.0 ; extra == 'sql'
|
|
295
296
|
Requires-Dist: packaging >=21.3.0 ; extra == 'sql'
|
296
297
|
Requires-Dist: prompt-toolkit >=3.0.39 ; extra == 'sql'
|
297
298
|
Requires-Dist: more-itertools >=8.7.0 ; extra == 'sql'
|
298
|
-
Requires-Dist: python-daemon >=0.2.3 ; extra == 'sql'
|
299
299
|
Requires-Dist: fasteners >=0.19.0 ; extra == 'sql'
|
300
|
-
Requires-Dist: psutil >=5.8.0 ; extra == 'sql'
|
301
|
-
Requires-Dist: watchfiles >=0.21.0 ; extra == 'sql'
|
302
|
-
Requires-Dist: dill >=0.3.3 ; extra == 'sql'
|
303
300
|
Requires-Dist: virtualenv >=20.1.0 ; extra == 'sql'
|
304
301
|
Requires-Dist: APScheduler >=4.0.0a5 ; extra == 'sql'
|
305
302
|
Requires-Dist: uv >=0.2.11 ; extra == 'sql'
|
@@ -1,10 +1,10 @@
|
|
1
|
-
meerschaum/__init__.py,sha256=
|
2
|
-
meerschaum/__main__.py,sha256
|
1
|
+
meerschaum/__init__.py,sha256=rzLJwaiLJvc_VAOjUM6pzKlm-w8NhHrOCH99Ob1vrjY,1736
|
2
|
+
meerschaum/__main__.py,sha256=r5UjYxH1WA6dGG9YGBPul5xOdgF3Iwl0X4dWDtXU-30,2646
|
3
3
|
meerschaum/_internal/__init__.py,sha256=ilC7utfKtin7GAvuN34fKyUQYfPyqH0Mm3MJF5iyEf4,169
|
4
|
-
meerschaum/_internal/entry.py,sha256=
|
5
|
-
meerschaum/_internal/arguments/__init__.py,sha256=
|
6
|
-
meerschaum/_internal/arguments/_parse_arguments.py,sha256=
|
7
|
-
meerschaum/_internal/arguments/_parser.py,sha256=
|
4
|
+
meerschaum/_internal/entry.py,sha256=D5w3j7w_pWlxfhh-vr1Ao7fzfIIEhUtXc_UTVpy-6GQ,9001
|
5
|
+
meerschaum/_internal/arguments/__init__.py,sha256=lZ6YJM5buApdEOOJz61gRdpv1ICbifbiepArBT8hztQ,542
|
6
|
+
meerschaum/_internal/arguments/_parse_arguments.py,sha256=Xf5KoHEd3LDSomyXmTb0Kr8cb60AGfCZcGPVsRcq7Kc,12374
|
7
|
+
meerschaum/_internal/arguments/_parser.py,sha256=7vjKEuevFNE48idGz1Jj5dps1-Wq462iXDsOLQfiYcQ,14998
|
8
8
|
meerschaum/_internal/docs/__init__.py,sha256=ZQYHWo6n0kfLLkyG36YXqTYvv2Pc7it5HZHMylT6cBA,126
|
9
9
|
meerschaum/_internal/docs/index.py,sha256=Qovl1fI-KqCz7KtxCIWklqUGUcJ8Sbx4UKAEarrUn_A,18056
|
10
10
|
meerschaum/_internal/gui/__init__.py,sha256=KF6Opae0aBOjIndMZ2txoPs7ozCXRlR-lcTsicLO7fc,1313
|
@@ -12,7 +12,7 @@ meerschaum/_internal/gui/app/__init__.py,sha256=rKUa8hHk6Fai-PDF61tQcpT1myxKcfmv
|
|
12
12
|
meerschaum/_internal/gui/app/_windows.py,sha256=-VHdjTzA3V596fVqnbmTxemONSp_80-sTNJ0CTB8FwU,2632
|
13
13
|
meerschaum/_internal/gui/app/actions.py,sha256=rx37qXf3uoa7Ou0n1cISqNFZNL0nr4wO7vSUmWO8f2E,935
|
14
14
|
meerschaum/_internal/gui/app/pipes.py,sha256=4nAQ0rrHb_2bNgDF0Ru2YlbPaCDDzAl5beOGU4Af-4A,1596
|
15
|
-
meerschaum/_internal/shell/Shell.py,sha256=
|
15
|
+
meerschaum/_internal/shell/Shell.py,sha256=l6_WDD55H_KcH1auqTgadHSyWBpKnJ2FnanYapGXh5k,39437
|
16
16
|
meerschaum/_internal/shell/ShellCompleter.py,sha256=bbG-mExNXO4pltWBOXdbMp8P2wLgy8_BgipIr5aGp5s,3114
|
17
17
|
meerschaum/_internal/shell/ValidAutoSuggest.py,sha256=bARjOWMidz0dvMelLUe6yRPto5l3gcEHYHqFDjoh22I,1280
|
18
18
|
meerschaum/_internal/shell/__init__.py,sha256=vXQoQPEVlYiUYai1b5AwQAlTnja6A2cSABnqXhzlS7I,281
|
@@ -23,28 +23,29 @@ meerschaum/_internal/term/__init__.py,sha256=eXjfRzpnASWomB4xpY2AfzC_CLenkInNnVW
|
|
23
23
|
meerschaum/_internal/term/tools.py,sha256=dXVAimKD-Yv2fg2WOTr0YGBY7XDKjQqw-RizcS65YVI,727
|
24
24
|
meerschaum/actions/__init__.py,sha256=A-xwztWrq9xL_FbiBcoNB9-WKfwzYlFerh4XFl-Ao5c,11515
|
25
25
|
meerschaum/actions/api.py,sha256=8wjREHNRkl8WBgtz1KfWmAVjeFR_J2j7ghXjSyYUW3g,12603
|
26
|
-
meerschaum/actions/attach.py,sha256=
|
26
|
+
meerschaum/actions/attach.py,sha256=UV19d9W_2WYcrf7BRz7k3mriDoX1V4rA4AKvbLdor0o,3106
|
27
27
|
meerschaum/actions/bootstrap.py,sha256=9D3cBHzgZbZyWy-Y7iQgk9bpTbKEhumFKbIIThZgPXI,14058
|
28
28
|
meerschaum/actions/clear.py,sha256=OoFZE0bK5m8s3GLNZcixuVT0DMj1izXVxGCATcmUGbI,4851
|
29
|
-
meerschaum/actions/copy.py,sha256=
|
29
|
+
meerschaum/actions/copy.py,sha256=hLRc81oVBjnV22lpeSDb-HsDX2on9K2u6C1H8qJITNQ,6844
|
30
30
|
meerschaum/actions/deduplicate.py,sha256=puYyxeFYEUy1Sd2IOcZB2e6MrNxAZl2bTLmNzFDkCiw,1167
|
31
|
-
meerschaum/actions/delete.py,sha256=
|
31
|
+
meerschaum/actions/delete.py,sha256=GRokg2NRzlow2UMYXNs9xwBu-9AuJdK6kAxsxgwp-E0,18823
|
32
32
|
meerschaum/actions/drop.py,sha256=Hd5h4rrWd7qL2rTqglsTonUsEoH7qQlsfqNFSHGeqr0,2453
|
33
|
-
meerschaum/actions/edit.py,sha256=
|
34
|
-
meerschaum/actions/install.py,sha256=
|
33
|
+
meerschaum/actions/edit.py,sha256=6d1Y8Ejd4zQWVARvx04cvbGyRA2r4ihJXWqMFiFX0aM,11740
|
34
|
+
meerschaum/actions/install.py,sha256=jdhOrR_KlvinTKr0YJNkUHsnh5EY6OzA7cRq0Vnp1oU,7494
|
35
35
|
meerschaum/actions/login.py,sha256=fNgsgkrFCn9wBQJY50SQhz2PwsN_TvEYYHnXK3JG4ig,4206
|
36
36
|
meerschaum/actions/os.py,sha256=dtoppoBhLzW3rLNF0SFovEfNxA4WJWt_9WrOGlS5KbA,2251
|
37
|
-
meerschaum/actions/pause.py,sha256=
|
37
|
+
meerschaum/actions/pause.py,sha256=WI4dQFfjQ6ObWKUzwQ5FrtYPDyEcnxWwval8cSIzzJw,4221
|
38
38
|
meerschaum/actions/python.py,sha256=aoSaDSIQ-wJixexFDtsxBMqITktba3DLkJNFIra_6qk,4546
|
39
39
|
meerschaum/actions/register.py,sha256=bOQY0AlZlchsxPF27LL7G1OgdiCyj7mkBaD-PO6bFZc,14491
|
40
40
|
meerschaum/actions/reload.py,sha256=gMXeFBGVfyQ7uhKhYf6bLaDMD0fLPcA9BrLBSiuvWIc,508
|
41
|
+
meerschaum/actions/restart.py,sha256=6GcIVfyDnNckM54khf66FxTfEo0babikccKvN7tEPq4,2923
|
41
42
|
meerschaum/actions/setup.py,sha256=KkAGWcgwzl_L6A19fTmTX1KtBjW2FwD8QenLjPy0mQQ,3205
|
42
43
|
meerschaum/actions/sh.py,sha256=fLfTJaacKu4sjLTRqEzzYlT2WbbdZBEczsKb6F-qAek,2026
|
43
|
-
meerschaum/actions/show.py,sha256=
|
44
|
+
meerschaum/actions/show.py,sha256=JAyDWFUVDoRY--ehFEsrso7vrj_wdoxgqL6z-bIF6os,28158
|
44
45
|
meerschaum/actions/sql.py,sha256=wYofwk1vGO96U2ncigGEfMtYMZeprz2FR1PRRZhkAPI,4311
|
45
46
|
meerschaum/actions/stack.py,sha256=7ODAxzmCx8i9AHxvkbr5ZtzUNPpY-iqlSVo4rZHMOw4,5900
|
46
|
-
meerschaum/actions/start.py,sha256=
|
47
|
-
meerschaum/actions/stop.py,sha256=
|
47
|
+
meerschaum/actions/start.py,sha256=e0Ca01VRSu5BQDMec8C9A6c9yfSX6LpIkCTecxa1u8Q,17489
|
48
|
+
meerschaum/actions/stop.py,sha256=5fdUw70YN-yuUWrC-NhA88cxr9FZ5NbssbQ8xXO8nFU,4632
|
48
49
|
meerschaum/actions/sync.py,sha256=AkH-1O5bkUC-UElQGr0lRhrX-z18ZY2nBPSy9EsW1Kc,17506
|
49
50
|
meerschaum/actions/tag.py,sha256=SJf5qFW0ccLXjqlTdkK_0MCcrCMdg6xhYrhKdco0hdA,3053
|
50
51
|
meerschaum/actions/uninstall.py,sha256=tBXhdXggSieGEQe4EPGxpgMK0MZTJCweNvAJ9-59El0,5776
|
@@ -52,7 +53,7 @@ meerschaum/actions/upgrade.py,sha256=uhFhAPmguGDgxLa1UkVZnPQ-JRcbmOdExE38v-HrLvo
|
|
52
53
|
meerschaum/actions/verify.py,sha256=tY5slGpHiWiE0v9TDnjbmxSKn86zBnu9WBpixUgKNQU,4885
|
53
54
|
meerschaum/api/__init__.py,sha256=tjxyG8SQR_ymYuj3YUaadlguXBj-edL4kY_CxWYrYHk,7449
|
54
55
|
meerschaum/api/_chain.py,sha256=h8-WXUGXX6AqzdALfsBC5uv0FkAcLdHJXCGzqzuq89k,875
|
55
|
-
meerschaum/api/_events.py,sha256=
|
56
|
+
meerschaum/api/_events.py,sha256=oiF2iT79UfdEJh4YnGdKtjXbdnQVergUlXAXm2nePlY,2176
|
56
57
|
meerschaum/api/_oauth2.py,sha256=SDdFbssy-9QoFBkuZZmep7mCX7jsn_zjqCbMXiksEVg,1647
|
57
58
|
meerschaum/api/_websockets.py,sha256=Rso85r4Yj8yUB-Oh8T8bGBvO5vCzZboryOjY-VnxdZQ,1601
|
58
59
|
meerschaum/api/dash/__init__.py,sha256=NkqnUP77c02J6sjWp5PGw48Hz9Dhov7gBO5f2mK2b40,2198
|
@@ -60,7 +61,7 @@ meerschaum/api/dash/actions.py,sha256=eUClPPdNVNSCtyq8Ecr1saasxj5VBgd1gcXejvQxXE
|
|
60
61
|
meerschaum/api/dash/components.py,sha256=oGX7HFzNCi37iMww747iL3bbB52ZTt9tFa2iLohffg4,6399
|
61
62
|
meerschaum/api/dash/connectors.py,sha256=nJxBOFldtCMJLYjUSVYZwX5BO-LNjTNHgoEaXe-0XMo,843
|
62
63
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
63
|
-
meerschaum/api/dash/jobs.py,sha256=
|
64
|
+
meerschaum/api/dash/jobs.py,sha256=Y3XM7aG_hWQsQLoQfgUVlH5V2vNGA6qkfN0OX6sX04g,7302
|
64
65
|
meerschaum/api/dash/keys.py,sha256=hzEVeN60SAfVTVSO5lajGaykxRIKGhj9Ph00HRJnNoE,12598
|
65
66
|
meerschaum/api/dash/pipes.py,sha256=RVVYIJJy4G01cXou9OT8Gr5ZsygQ_GUqJDDhU1akhi8,20615
|
66
67
|
meerschaum/api/dash/plugins.py,sha256=JiQjeeCT21MoPDo81pkTXw9viqIH6xpivQgZEO4qtzQ,3676
|
@@ -114,10 +115,10 @@ meerschaum/api/resources/templates/old_index.html,sha256=BDeOlcXhSsBH3-NaRtuX4Z1
|
|
114
115
|
meerschaum/api/resources/templates/secret.html,sha256=0QWkm4ZoN81Aw1pd2-62rGCvx3nXPHfFUoegj3Iy8Ls,141
|
115
116
|
meerschaum/api/resources/templates/termpage.html,sha256=qspXRuOkzqOn2mXw9mmUldzsvOHq_LyaywQ29CUevp0,4527
|
116
117
|
meerschaum/api/routes/__init__.py,sha256=jbkeFNl51Tg8aT5gWe560ZLZLojFJsLMe5IENRjRkb0,606
|
117
|
-
meerschaum/api/routes/_actions.py,sha256=
|
118
|
+
meerschaum/api/routes/_actions.py,sha256=glmLj2CzZvrwKKyJwuBzYLvzs1hwzh8vo-9Hcy82yeE,4511
|
118
119
|
meerschaum/api/routes/_connectors.py,sha256=NNbcn5xWhKqw2PqueSEaqRaZ95hFGDKazG5lE7gsssc,1849
|
119
120
|
meerschaum/api/routes/_index.py,sha256=QI6CBo6pI2Zi0a6fJHDjZfiLa9f4okb0BGe3A_JD0kM,578
|
120
|
-
meerschaum/api/routes/_jobs.py,sha256=
|
121
|
+
meerschaum/api/routes/_jobs.py,sha256=0G7IhQpRenFJ9OSKo25lqCuJonNzK_q-XMXSD_pjdv0,10515
|
121
122
|
meerschaum/api/routes/_login.py,sha256=psPKmFkXgYVX83NepqwIhaLsQ5uWgOc4F2QZtPGxY1A,2482
|
122
123
|
meerschaum/api/routes/_misc.py,sha256=05--9ZVFeaCgZrHER2kA3SYdK4TyfkEXOCjLvPbum-w,2469
|
123
124
|
meerschaum/api/routes/_pipes.py,sha256=1gBuE4E-QvIK_kmbmiw7uLcXjnIobFI1t4tb2skpp6E,21592
|
@@ -128,18 +129,18 @@ meerschaum/api/routes/_webterm.py,sha256=7eilgDXckpEc2LyeNmJS5YO6HxlyMkwPnAMWd7e
|
|
128
129
|
meerschaum/api/tables/__init__.py,sha256=e2aNC0CdlWICTUMx1i9RauF8Pm426J0RZJbsJWv4SWo,482
|
129
130
|
meerschaum/config/__init__.py,sha256=jZgQSjvbOWyvGouqRgIeYBg9Pp343_9CDsCWWpwYDGY,11577
|
130
131
|
meerschaum/config/_dash.py,sha256=BJHl4xMrQB-YHUEU7ldEW8q_nOPoIRSOqLrfGElc6Dw,187
|
131
|
-
meerschaum/config/_default.py,sha256=
|
132
|
+
meerschaum/config/_default.py,sha256=8ryAQV9yYkpIZaVYe9W7dm5c-WAu_lX1jSKGLLo4FtQ,5311
|
132
133
|
meerschaum/config/_edit.py,sha256=_kabgFbJdI5kcLs-JIsoaTo0JdyxnPnBdrlTyTAgPm8,8236
|
133
134
|
meerschaum/config/_environment.py,sha256=Vv4DLDfc2vKLbCLsMvkQDj77K4kEvHKEBmUBo-wCrgo,4419
|
134
135
|
meerschaum/config/_formatting.py,sha256=OMuqS1EWOsj_34wSs2tOqGIWci3bTMIZ5l-uelZgsIM,6672
|
135
136
|
meerschaum/config/_jobs.py,sha256=2bEikO48qVSguFS3lrbWz6uiKt_0b3oSRWhwyz8RRDM,1279
|
136
137
|
meerschaum/config/_patch.py,sha256=21N30q1ANmWMDQ-2RUjpMx7KafWfPQ3lKx9rrMqg1s4,1526
|
137
|
-
meerschaum/config/_paths.py,sha256=
|
138
|
+
meerschaum/config/_paths.py,sha256=d6CKJfMmc9JrAW0E9Kpyy6bKQiB6yeHqZx91-cxKJIQ,9677
|
138
139
|
meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6wLs,1220
|
139
140
|
meerschaum/config/_read_config.py,sha256=WFZKIXZMDe_ca0ES7ivgM_mnwShvFxLdoeisT_X5-h0,14720
|
140
141
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
141
142
|
meerschaum/config/_sync.py,sha256=oK2ZujO2T1he08BXCFyiniBUevNGWSQKXLcS_jRv_7Y,4155
|
142
|
-
meerschaum/config/_version.py,sha256=
|
143
|
+
meerschaum/config/_version.py,sha256=bfQh2_v-HpBVdlfw2zoIhMos9XaCBgtxmAFNwHxb3HM,74
|
143
144
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
144
145
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
145
146
|
meerschaum/config/stack/__init__.py,sha256=Yt7GNzC_hz7iUDZ4gVho_lugJO2DnXgnMtsMG_ReoRg,9114
|
@@ -147,16 +148,16 @@ meerschaum/config/stack/grafana/__init__.py,sha256=LNXQw2FvHKrD68RDhqDmi2wJjAHaK
|
|
147
148
|
meerschaum/config/stack/mosquitto/__init__.py,sha256=-OwOjq8KiBoSH_pmgCAAF3Dp3CRD4KgAEdimZSadROs,186
|
148
149
|
meerschaum/config/stack/mosquitto/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
149
150
|
meerschaum/config/stack/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
150
|
-
meerschaum/config/static/__init__.py,sha256=
|
151
|
-
meerschaum/connectors/Connector.py,sha256=
|
152
|
-
meerschaum/connectors/__init__.py,sha256=
|
153
|
-
meerschaum/connectors/parse.py,sha256=
|
151
|
+
meerschaum/config/static/__init__.py,sha256=CvyWdb4B97PFjtNQx0mcz7g-kSbmDElipULUaKYav7k,5052
|
152
|
+
meerschaum/connectors/Connector.py,sha256=utNV3Fy5DhUVbQE-vtm7enH5rH2gxQERmgmP7PUzH30,6682
|
153
|
+
meerschaum/connectors/__init__.py,sha256=b1RdpMUNWtA5Q4KbymeUt9HtEiMWUHf0BBXzcl4itkc,12557
|
154
|
+
meerschaum/connectors/parse.py,sha256=sDeI2OIS9Inwhbn9jkFAXxOPnmmAHqsuHiiHfWjVnSA,4307
|
154
155
|
meerschaum/connectors/poll.py,sha256=gIY9TvFBqMvMNQvR0O2No7koLLz2PjfExBr_Dsosgpg,7363
|
155
|
-
meerschaum/connectors/api/APIConnector.py,sha256=
|
156
|
+
meerschaum/connectors/api/APIConnector.py,sha256=xe1Bsbnh5PBNR2r5yr6iqJ1UozEKXWJBZnUU0qdXC7c,4934
|
156
157
|
meerschaum/connectors/api/__init__.py,sha256=JwKrGtuE5aOd2VnsRwudFBYyBf5IxczOwPVdNvCUgSQ,205
|
157
158
|
meerschaum/connectors/api/_actions.py,sha256=KS2Ib5_yHuN0Fw86wyg0bXORV2xY4m3DQrBtcqIIjnY,2343
|
158
159
|
meerschaum/connectors/api/_fetch.py,sha256=Khq9AFr1nk8Dsmcedb77aWhAuHw0JGgVeahDG95Q5MQ,2072
|
159
|
-
meerschaum/connectors/api/_jobs.py,sha256
|
160
|
+
meerschaum/connectors/api/_jobs.py,sha256=sieFAgk38PdyAnCbgzA-gOWdGK1gyzLhxbapxr4Hg04,10696
|
160
161
|
meerschaum/connectors/api/_login.py,sha256=5GsD-B214vr5EYfM3XrTUs1sTFApxZA-9dNxq8oNSyg,2050
|
161
162
|
meerschaum/connectors/api/_misc.py,sha256=OZRZBYOokKIEjmQaR8jUYgu6ZRn9VzXBChzR8CfDv_w,1092
|
162
163
|
meerschaum/connectors/api/_pipes.py,sha256=wf-_jqFBiTNw2s2msp0Ye6IyTl5JWiyC9aLBI0PQuPs,20962
|
@@ -183,7 +184,7 @@ meerschaum/connectors/sql/tables/types.py,sha256=Jc_MTHIBM-KHpQt__Lckp39CeOo7tGO
|
|
183
184
|
meerschaum/core/__init__.py,sha256=tjASW10n9uLV6bYhcwP4rggh-ESXSJzgxpSBbVsuISs,251
|
184
185
|
meerschaum/core/Pipe/__init__.py,sha256=7GnDY9FnGOTbVROGrWKdt4eZiCbk-f2UFg-U5L_738A,16598
|
185
186
|
meerschaum/core/Pipe/_attributes.py,sha256=XbSHfDsomaNymzf7-__UhbHqu6mlTTx20xprsw_L04I,13202
|
186
|
-
meerschaum/core/Pipe/_bootstrap.py,sha256=
|
187
|
+
meerschaum/core/Pipe/_bootstrap.py,sha256=evyi07kkzAVMj66HfZkbYdcWk_oHUDsl6f13EnSPMYs,7723
|
187
188
|
meerschaum/core/Pipe/_clear.py,sha256=hQVPztHiadzLB0c4_yFg6EETnf9MtFdJDCpO41Giuco,2261
|
188
189
|
meerschaum/core/Pipe/_data.py,sha256=Ese54Qointav0M-bmIx5NrJIbIrFCb2hQvPEAfxRBAk,20922
|
189
190
|
meerschaum/core/Pipe/_deduplicate.py,sha256=E3oXu6-0vZhzacv0GHri9yHd7XrSlIStZ--KE2EqeVM,10274
|
@@ -199,18 +200,23 @@ meerschaum/core/Pipe/_verify.py,sha256=KSnthUzImRLjt9fxyBaLvArqDuOLRpKBfk0tnseJC
|
|
199
200
|
meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_uSJJDc,137
|
200
201
|
meerschaum/core/User/_User.py,sha256=CApB7Y0QJL6S9QOCCfrG4SbPuPXJ9AsAYQ5pASMP_Aw,6527
|
201
202
|
meerschaum/core/User/__init__.py,sha256=lJ7beIZTG9sO4dAi3367fFBl17dXYEWHKi7HoaPlDyk,193
|
203
|
+
meerschaum/jobs/_Executor.py,sha256=ZUsQl0hgU0HW_F9bQCfm8KwrdyTBLCrfxsSnbJOwtWI,1575
|
204
|
+
meerschaum/jobs/_Job.py,sha256=a0bND2kun57FZk8lthO7J6SQseVpkGhn7hmCo0_am-E,28759
|
205
|
+
meerschaum/jobs/_LocalExecutor.py,sha256=v_zvU1vgJDy-iiztXS5gnMayJ0UZnW48qJj3OSB6o-k,2195
|
206
|
+
meerschaum/jobs/_SystemdExecutor.py,sha256=Us3MH3KmAJxjLJPJPmegBlZy8HExgRIylNPb7Wro-qk,20933
|
207
|
+
meerschaum/jobs/__init__.py,sha256=Lhox8AboqyKmRyq13elSHq85rSDEuz0AQkoFW3PVzr8,10662
|
202
208
|
meerschaum/plugins/_Plugin.py,sha256=q1B4gVAO2BGA-PIR0HI3-O9q1n8BaT7tSANIyW7gUPg,34084
|
203
|
-
meerschaum/plugins/__init__.py,sha256=
|
209
|
+
meerschaum/plugins/__init__.py,sha256=3Hg9yyfkN0TxPPTnlt6pi53znjRIAR92WpG3zEKYm10,26152
|
204
210
|
meerschaum/plugins/bootstrap.py,sha256=qg9MQ1YAU8ShwGqWDl38WjiXLIxDPl95pSIGDLN9rOw,11423
|
205
211
|
meerschaum/utils/__init__.py,sha256=QrK1K9hIbPCRCM5k2nZGFqGnrqhA0Eh-iSmCU7FG6Cs,612
|
206
212
|
meerschaum/utils/_get_pipes.py,sha256=dlPckpYYyM0IwRZ2VL0u9DiEeYhr5Ho9gkzvWxzNVwI,11460
|
207
213
|
meerschaum/utils/dataframe.py,sha256=asZ2PMWVp7Gyh5RsJDCyW2E0RY7_5e8PAvV4Tr9ezKw,32056
|
208
214
|
meerschaum/utils/debug.py,sha256=GyIzJmunkoPnOcZNYVQdT4Sgd-aOb5MI2VbIgATOjIQ,3695
|
209
215
|
meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mikI,3196
|
210
|
-
meerschaum/utils/misc.py,sha256=
|
216
|
+
meerschaum/utils/misc.py,sha256=2f0wLQ0ymdOh5-5iP-jlyUxSUStvQAn5ot5_0GZTg-8,46381
|
211
217
|
meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRUc,1006
|
212
218
|
meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
213
|
-
meerschaum/utils/process.py,sha256=
|
219
|
+
meerschaum/utils/process.py,sha256=o7UtTQX87YGkg2dItPhlvN7gNQPkElXTYSzKf5Ro8Uc,7474
|
214
220
|
meerschaum/utils/prompt.py,sha256=JCM36APVEJ6hN-ncQOD2qXtbyVlIey5OhhyWSIdRs9k,19008
|
215
221
|
meerschaum/utils/schedule.py,sha256=WSJ0eDGvCVxkQwbUc_7vNm0uuKf9WJcY2NCZZdbnZrk,10837
|
216
222
|
meerschaum/utils/sql.py,sha256=4sCNEpgUd6uFz6ySs4nnUMVaOT0YAvPM1ZlQYJTSF-0,46656
|
@@ -218,31 +224,29 @@ meerschaum/utils/threading.py,sha256=3N8JXPAnwqJiSjuQcbbJg3Rv9-CCUMJpeQRfKFR7MaA
|
|
218
224
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
219
225
|
meerschaum/utils/warnings.py,sha256=IDiwYspsfjIi1gtk3V9cSo9vNLckB9bCsHhRClpPJTc,6639
|
220
226
|
meerschaum/utils/yaml.py,sha256=Da9ZtNdT8f68sqz6g4eLQM3jz8QQ2J9_FglX-fw5VXY,3901
|
221
|
-
meerschaum/utils/daemon/Daemon.py,sha256=
|
227
|
+
meerschaum/utils/daemon/Daemon.py,sha256=mQG-bJNvATM0TDxyZVvXkQ1X3H9NZb3hlg3wEUB75bs,41274
|
222
228
|
meerschaum/utils/daemon/FileDescriptorInterceptor.py,sha256=MJKMO0Syf3d8yWUs6xXcQzg8Ptsuvh2aCRRoglOjusA,5257
|
223
|
-
meerschaum/utils/daemon/RotatingFile.py,sha256=
|
224
|
-
meerschaum/utils/daemon/StdinFile.py,sha256=
|
225
|
-
meerschaum/utils/daemon/__init__.py,sha256=
|
229
|
+
meerschaum/utils/daemon/RotatingFile.py,sha256=ePm_svjwyFDWh6V1k-bp1RHXCSWlyxDtlFu4SU4XvPU,24369
|
230
|
+
meerschaum/utils/daemon/StdinFile.py,sha256=CECjb40If-TKTXwj_3nFkUfY2xTrrIx73M32mcn5hS8,3172
|
231
|
+
meerschaum/utils/daemon/__init__.py,sha256=o9jWb4lRTIyny4EPt7fPXFgV_vIf1mUofsTwoE1ZecA,8751
|
226
232
|
meerschaum/utils/daemon/_names.py,sha256=Prf7xA2GWDbKR_9Xq9_5RTTIf9GNWY3Yt0s4tEU3JgM,4330
|
227
233
|
meerschaum/utils/dtypes/__init__.py,sha256=JR9PViJTzhukZhq0QoPIs73HOnXZZr8OmfhAAD4OAUA,6261
|
228
234
|
meerschaum/utils/dtypes/sql.py,sha256=IkEOyB63je-rCLHM6WwFzGbCerYk1zobL1cXkWqmTa4,14638
|
229
235
|
meerschaum/utils/formatting/__init__.py,sha256=NcNPxXRSnKZAIBxAD0ictCjVBzYzFtOwpf2CDMfr4_Y,15354
|
230
|
-
meerschaum/utils/formatting/_jobs.py,sha256=
|
236
|
+
meerschaum/utils/formatting/_jobs.py,sha256=izsqPJhTtUkXUUtWnbXtReYsUYwulXtci3pBj72Ne64,6637
|
231
237
|
meerschaum/utils/formatting/_pipes.py,sha256=wy0iWJFsFl3X2VloaiA_gp9Yx9w6tD3FQZvAQAqef4A,19492
|
232
238
|
meerschaum/utils/formatting/_pprint.py,sha256=tgrT3FyGyu5CWJYysqK3kX1xdZYorlbOk9fcU_vt9Qg,3096
|
233
239
|
meerschaum/utils/formatting/_shell.py,sha256=jsjf_GMXBpGNBbpT7skTUZrHZl5HooFzffRDc4hz5Tc,3786
|
234
|
-
meerschaum/utils/jobs/_Job.py,sha256=1glG_n8r6CuC2Al3NVYogwFMKjSxiM4GCT9o6WDtkGg,23322
|
235
|
-
meerschaum/utils/jobs/__init__.py,sha256=NfO43tpGgPBikoFV98w2cFag0aQd7Z7FOpb5NCJZ0lg,6088
|
236
240
|
meerschaum/utils/packages/__init__.py,sha256=zBy3cUy60Eht90PhgWzL_VjTjJSFpt5sA-DvrLch47A,63179
|
237
|
-
meerschaum/utils/packages/_packages.py,sha256=
|
241
|
+
meerschaum/utils/packages/_packages.py,sha256=GzbJ0kxW_EQogXmY4vguRkUyad42cshFs7wYmvqfdCA,8038
|
238
242
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
239
243
|
meerschaum/utils/venv/_Venv.py,sha256=sBnlmxHdAh2bx8btfVoD79-H9-cYsv5lP02IIXkyECs,3553
|
240
|
-
meerschaum/utils/venv/__init__.py,sha256=
|
241
|
-
meerschaum-2.3.
|
242
|
-
meerschaum-2.3.
|
243
|
-
meerschaum-2.3.
|
244
|
-
meerschaum-2.3.
|
245
|
-
meerschaum-2.3.
|
246
|
-
meerschaum-2.3.
|
247
|
-
meerschaum-2.3.
|
248
|
-
meerschaum-2.3.
|
244
|
+
meerschaum/utils/venv/__init__.py,sha256=bLAWnllKDuE_z6bLk7gLh4mI3Sp1j5hsboTqPKOQq84,24361
|
245
|
+
meerschaum-2.3.0rc2.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
246
|
+
meerschaum-2.3.0rc2.dist-info/METADATA,sha256=e_ahh83m8FwVMO1VezxSC_WnK-XJoDUNzmIkFgXbFs8,24009
|
247
|
+
meerschaum-2.3.0rc2.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
248
|
+
meerschaum-2.3.0rc2.dist-info/WHEEL,sha256=R0nc6qTxuoLk7ShA2_Y-UWkN8ZdfDBG2B6Eqpz2WXbs,91
|
249
|
+
meerschaum-2.3.0rc2.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
250
|
+
meerschaum-2.3.0rc2.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
251
|
+
meerschaum-2.3.0rc2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
252
|
+
meerschaum-2.3.0rc2.dist-info/RECORD,,
|
@@ -1,245 +0,0 @@
|
|
1
|
-
#! /usr/bin/env python3
|
2
|
-
# -*- coding: utf-8 -*-
|
3
|
-
# vim:fenc=utf-8
|
4
|
-
|
5
|
-
"""
|
6
|
-
Higher-level utilities for managing `meerschaum.utils.daemon.Daemon`.
|
7
|
-
"""
|
8
|
-
|
9
|
-
import pathlib
|
10
|
-
|
11
|
-
import meerschaum as mrsm
|
12
|
-
from meerschaum.utils.jobs._Job import Job, StopMonitoringLogs
|
13
|
-
from meerschaum.utils.typing import Dict, Optional, List, Callable, Any
|
14
|
-
|
15
|
-
__all__ = (
|
16
|
-
'Job',
|
17
|
-
'get_jobs',
|
18
|
-
'get_filtered_jobs',
|
19
|
-
'get_restart_jobs',
|
20
|
-
'get_running_jobs',
|
21
|
-
'get_stopped_jobs',
|
22
|
-
'get_paused_jobs',
|
23
|
-
'get_restart_jobs',
|
24
|
-
'check_restart_jobs',
|
25
|
-
'start_check_jobs_thread',
|
26
|
-
'stop_check_jobs_thread',
|
27
|
-
)
|
28
|
-
|
29
|
-
|
30
|
-
def get_jobs(
|
31
|
-
executor_keys: Optional[str] = None,
|
32
|
-
debug: bool = False,
|
33
|
-
) -> Dict[str, Job]:
|
34
|
-
"""
|
35
|
-
Return a dictionary of the existing jobs.
|
36
|
-
|
37
|
-
Parameters
|
38
|
-
----------
|
39
|
-
executor_keys: Optional[str], default None
|
40
|
-
If provided, return remote jobs on the given API instance.
|
41
|
-
Otherwise return local jobs.
|
42
|
-
|
43
|
-
Returns
|
44
|
-
-------
|
45
|
-
A dictionary mapping job names to jobs.
|
46
|
-
"""
|
47
|
-
from meerschaum.connectors.parse import parse_connector_keys
|
48
|
-
if executor_keys == 'local':
|
49
|
-
executor_keys = None
|
50
|
-
|
51
|
-
if executor_keys is not None:
|
52
|
-
try:
|
53
|
-
_ = parse_connector_keys(executor_keys, construct=False)
|
54
|
-
conn = mrsm.get_connector(executor_keys)
|
55
|
-
return conn.get_jobs(debug=debug)
|
56
|
-
except Exception:
|
57
|
-
return {}
|
58
|
-
|
59
|
-
from meerschaum.utils.daemon import get_daemons
|
60
|
-
daemons = get_daemons()
|
61
|
-
return {
|
62
|
-
daemon.daemon_id: Job(name=daemon.daemon_id)
|
63
|
-
for daemon in daemons
|
64
|
-
}
|
65
|
-
|
66
|
-
|
67
|
-
def get_filtered_jobs(
|
68
|
-
executor_keys: Optional[str] = None,
|
69
|
-
filter_list: Optional[List[str]] = None,
|
70
|
-
warn: bool = False,
|
71
|
-
debug: bool = False,
|
72
|
-
) -> Dict[str, Job]:
|
73
|
-
"""
|
74
|
-
Return a list of jobs filtered by the user.
|
75
|
-
"""
|
76
|
-
from meerschaum.utils.warnings import warn as _warn
|
77
|
-
jobs = get_jobs(executor_keys, debug=debug)
|
78
|
-
|
79
|
-
if not filter_list:
|
80
|
-
return {
|
81
|
-
name: job
|
82
|
-
for name, job in jobs.items()
|
83
|
-
if not job.hidden
|
84
|
-
}
|
85
|
-
|
86
|
-
jobs_to_return = {}
|
87
|
-
for name in filter_list:
|
88
|
-
job = jobs.get(name, None)
|
89
|
-
if job is None:
|
90
|
-
if warn:
|
91
|
-
_warn(
|
92
|
-
f"Job '{name}' does not exist.",
|
93
|
-
stack=False,
|
94
|
-
)
|
95
|
-
continue
|
96
|
-
jobs_to_return[name] = job
|
97
|
-
|
98
|
-
return jobs_to_return
|
99
|
-
|
100
|
-
|
101
|
-
def get_restart_jobs(
|
102
|
-
executor_keys: Optional[str] = None,
|
103
|
-
jobs: Optional[Dict[str, Job]] = None,
|
104
|
-
debug: bool = False,
|
105
|
-
) -> Dict[str, Job]:
|
106
|
-
"""
|
107
|
-
Return jobs which were created with `--restart` or `--loop`.
|
108
|
-
"""
|
109
|
-
if jobs is None:
|
110
|
-
jobs = get_jobs(executor_keys, debug=debug)
|
111
|
-
|
112
|
-
return {
|
113
|
-
name: job
|
114
|
-
for name, job in jobs.items()
|
115
|
-
if job.restart
|
116
|
-
}
|
117
|
-
|
118
|
-
|
119
|
-
def get_running_jobs(
|
120
|
-
executor_keys: Optional[str] = None,
|
121
|
-
jobs: Optional[Dict[str, Job]] = None,
|
122
|
-
debug: bool = False,
|
123
|
-
) -> Dict[str, Job]:
|
124
|
-
"""
|
125
|
-
Return a dictionary of running jobs.
|
126
|
-
"""
|
127
|
-
if jobs is None:
|
128
|
-
jobs = get_jobs(executor_keys, debug=debug)
|
129
|
-
|
130
|
-
return {
|
131
|
-
name: job
|
132
|
-
for name, job in jobs.items()
|
133
|
-
if job.status == 'running'
|
134
|
-
}
|
135
|
-
|
136
|
-
|
137
|
-
def get_paused_jobs(
|
138
|
-
executor_keys: Optional[str] = None,
|
139
|
-
jobs: Optional[Dict[str, Job]] = None,
|
140
|
-
debug: bool = False,
|
141
|
-
) -> Dict[str, Job]:
|
142
|
-
"""
|
143
|
-
Return a dictionary of paused jobs.
|
144
|
-
"""
|
145
|
-
if jobs is None:
|
146
|
-
jobs = get_jobs(executor_keys, debug=debug)
|
147
|
-
|
148
|
-
return {
|
149
|
-
name: job
|
150
|
-
for name, job in jobs.items()
|
151
|
-
if job.status == 'paused'
|
152
|
-
}
|
153
|
-
|
154
|
-
|
155
|
-
def get_stopped_jobs(
|
156
|
-
executor_keys: Optional[str] = None,
|
157
|
-
jobs: Optional[Dict[str, Job]] = None,
|
158
|
-
debug: bool = False,
|
159
|
-
) -> Dict[str, Job]:
|
160
|
-
"""
|
161
|
-
Return a dictionary of stopped jobs.
|
162
|
-
"""
|
163
|
-
if jobs is None:
|
164
|
-
jobs = get_jobs(executor_keys, debug=debug)
|
165
|
-
|
166
|
-
return {
|
167
|
-
name: job
|
168
|
-
for name, job in jobs.items()
|
169
|
-
if job.status == 'stopped'
|
170
|
-
}
|
171
|
-
|
172
|
-
|
173
|
-
def check_restart_jobs(
|
174
|
-
executor_keys: Optional[str] = None,
|
175
|
-
silent: bool = False,
|
176
|
-
) -> None:
|
177
|
-
"""
|
178
|
-
Restart any stopped jobs which were created with `--restart`.
|
179
|
-
|
180
|
-
Parameters
|
181
|
-
----------
|
182
|
-
executor_keys: Optional[str], default None
|
183
|
-
If provided, check jobs on the given remote API instance.
|
184
|
-
Otherwise check local jobs.
|
185
|
-
|
186
|
-
silent: bool, default False
|
187
|
-
If `True`, do not print the restart success message.
|
188
|
-
"""
|
189
|
-
jobs = get_jobs(executor_keys)
|
190
|
-
for name, job in jobs.items():
|
191
|
-
success, msg = job.check_restart()
|
192
|
-
if not silent:
|
193
|
-
mrsm.pprint((success, msg))
|
194
|
-
|
195
|
-
|
196
|
-
def _check_restart_jobs_against_lock(*args, **kwargs):
|
197
|
-
from meerschaum.config.paths import CHECK_JOBS_LOCK_PATH
|
198
|
-
fasteners = mrsm.attempt_import('fasteners')
|
199
|
-
lock = fasteners.InterProcessLock(CHECK_JOBS_LOCK_PATH)
|
200
|
-
with lock:
|
201
|
-
check_restart_jobs(*args, **kwargs)
|
202
|
-
|
203
|
-
|
204
|
-
_check_loop_stop_thread = None
|
205
|
-
def start_check_jobs_thread():
|
206
|
-
"""
|
207
|
-
Start a thread to regularly monitor jobs.
|
208
|
-
"""
|
209
|
-
import atexit
|
210
|
-
from functools import partial
|
211
|
-
from meerschaum.utils.threading import RepeatTimer
|
212
|
-
from meerschaum.config.static import STATIC_CONFIG
|
213
|
-
|
214
|
-
global _check_loop_stop_thread
|
215
|
-
sleep_seconds = STATIC_CONFIG['jobs']['check_restart_seconds']
|
216
|
-
|
217
|
-
_check_loop_stop_thread = RepeatTimer(
|
218
|
-
sleep_seconds,
|
219
|
-
partial(
|
220
|
-
_check_restart_jobs_against_lock,
|
221
|
-
silent=True,
|
222
|
-
)
|
223
|
-
)
|
224
|
-
_check_loop_stop_thread.daemon = False
|
225
|
-
atexit.register(stop_check_jobs_thread)
|
226
|
-
|
227
|
-
_check_loop_stop_thread.start()
|
228
|
-
|
229
|
-
|
230
|
-
def stop_check_jobs_thread():
|
231
|
-
"""
|
232
|
-
Stop the job monitoring thread.
|
233
|
-
"""
|
234
|
-
from meerschaum.config.paths import CHECK_JOBS_LOCK_PATH
|
235
|
-
from meerschaum.utils.warnings import warn
|
236
|
-
if _check_loop_stop_thread is None:
|
237
|
-
return
|
238
|
-
|
239
|
-
_check_loop_stop_thread.cancel()
|
240
|
-
|
241
|
-
try:
|
242
|
-
if CHECK_JOBS_LOCK_PATH.exists():
|
243
|
-
CHECK_JOBS_LOCK_PATH.unlink()
|
244
|
-
except Exception as e:
|
245
|
-
warn(f"Failed to remove check jobs lock file:\n{e}")
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|