meerschaum 2.2.2rc1__py3-none-any.whl → 2.2.2rc2__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/_internal/shell/Shell.py +31 -13
- meerschaum/_internal/term/__init__.py +1 -1
- meerschaum/_internal/term/tools.py +1 -1
- meerschaum/actions/api.py +45 -9
- meerschaum/actions/python.py +31 -15
- meerschaum/actions/start.py +2 -4
- meerschaum/api/__init__.py +1 -0
- meerschaum/api/dash/components.py +5 -2
- meerschaum/config/_version.py +1 -1
- meerschaum/config/static/__init__.py +1 -1
- meerschaum/utils/packages/__init__.py +50 -20
- meerschaum/utils/process.py +0 -1
- meerschaum/utils/venv/__init__.py +2 -2
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/METADATA +1 -1
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/RECORD +21 -21
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/LICENSE +0 -0
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/NOTICE +0 -0
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/WHEEL +0 -0
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/top_level.txt +0 -0
- {meerschaum-2.2.2rc1.dist-info → meerschaum-2.2.2rc2.dist-info}/zip-safe +0 -0
@@ -203,6 +203,29 @@ def _check_complete_keys(line: str) -> Optional[List[str]]:
|
|
203
203
|
return None
|
204
204
|
|
205
205
|
|
206
|
+
def get_shell_intro(with_color: bool = True) -> str:
|
207
|
+
"""
|
208
|
+
Return the introduction message string.
|
209
|
+
"""
|
210
|
+
from meerschaum.utils.formatting import CHARSET, ANSI, colored
|
211
|
+
intro = get_config('shell', CHARSET, 'intro', patch=patch)
|
212
|
+
intro += '\n' + ''.join(
|
213
|
+
[' '
|
214
|
+
for i in range(
|
215
|
+
string_width(intro) - len('v' + version)
|
216
|
+
)
|
217
|
+
]
|
218
|
+
) + 'v' + version
|
219
|
+
|
220
|
+
if not with_color or not ANSI:
|
221
|
+
return intro
|
222
|
+
|
223
|
+
return colored(
|
224
|
+
intro,
|
225
|
+
**get_config('shell', 'ansi', 'intro', 'rich')
|
226
|
+
)
|
227
|
+
|
228
|
+
|
206
229
|
class Shell(cmd.Cmd):
|
207
230
|
def __init__(
|
208
231
|
self,
|
@@ -277,25 +300,20 @@ class Shell(cmd.Cmd):
|
|
277
300
|
except Exception as e:
|
278
301
|
pass
|
279
302
|
|
280
|
-
|
281
303
|
def load_config(self, instance: Optional[str] = None):
|
282
304
|
"""
|
283
305
|
Set attributes from the shell configuration.
|
284
306
|
"""
|
285
307
|
from meerschaum.utils.misc import remove_ansi
|
286
|
-
from meerschaum.utils.formatting import CHARSET, ANSI,
|
308
|
+
from meerschaum.utils.formatting import CHARSET, ANSI, colored
|
287
309
|
|
288
310
|
if shell_attrs.get('intro', None) != '':
|
289
|
-
self.intro =
|
290
|
-
|
291
|
-
|
292
|
-
|
293
|
-
|
294
|
-
|
295
|
-
]
|
296
|
-
) + 'v' + version
|
297
|
-
else:
|
298
|
-
self.intro = ""
|
311
|
+
self.intro = (
|
312
|
+
get_shell_intro(with_color=False)
|
313
|
+
if shell_attrs.get('intro', None) != ''
|
314
|
+
else ""
|
315
|
+
)
|
316
|
+
|
299
317
|
shell_attrs['intro'] = self.intro
|
300
318
|
shell_attrs['_prompt'] = get_config('shell', CHARSET, 'prompt', patch=patch)
|
301
319
|
self.prompt = shell_attrs['_prompt']
|
@@ -822,7 +840,7 @@ def input_with_sigint(_input, session, shell: Optional[Shell] = None):
|
|
822
840
|
"""
|
823
841
|
Replace built-in `input()` with prompt_toolkit.prompt.
|
824
842
|
"""
|
825
|
-
from meerschaum.utils.formatting import CHARSET, ANSI,
|
843
|
+
from meerschaum.utils.formatting import CHARSET, ANSI, colored
|
826
844
|
from meerschaum.connectors import is_connected, connectors
|
827
845
|
from meerschaum.utils.misc import remove_ansi
|
828
846
|
from meerschaum.config import get_config
|
@@ -16,7 +16,7 @@ from meerschaum._internal.term.TermPageHandler import TermPageHandler
|
|
16
16
|
from meerschaum.config._paths import API_TEMPLATES_PATH, API_STATIC_PATH
|
17
17
|
|
18
18
|
tornado, tornado_ioloop, terminado = attempt_import(
|
19
|
-
'tornado', 'tornado.ioloop', 'terminado', lazy=False,
|
19
|
+
'tornado', 'tornado.ioloop', 'terminado', lazy=False,
|
20
20
|
)
|
21
21
|
|
22
22
|
def get_webterm_app_and_manager() -> Tuple[
|
@@ -17,7 +17,7 @@ def is_webterm_running(host: str, port: int, protocol: str = 'http') -> int:
|
|
17
17
|
requests = attempt_import('requests')
|
18
18
|
url = f'{protocol}://{host}:{port}'
|
19
19
|
try:
|
20
|
-
r = requests.get(url)
|
20
|
+
r = requests.get(url, timeout=3)
|
21
21
|
except Exception as e:
|
22
22
|
return False
|
23
23
|
if not r:
|
meerschaum/actions/api.py
CHANGED
@@ -306,15 +306,50 @@ def _api_start(
|
|
306
306
|
|
307
307
|
def _run_uvicorn():
|
308
308
|
try:
|
309
|
-
|
310
|
-
|
311
|
-
|
312
|
-
|
313
|
-
|
314
|
-
|
315
|
-
|
316
|
-
|
317
|
-
|
309
|
+
uvicorn_flags = [
|
310
|
+
'--host', host,
|
311
|
+
'--port', str(port),
|
312
|
+
(
|
313
|
+
'--proxy-headers'
|
314
|
+
if uvicorn_config.get('proxy_headers')
|
315
|
+
else '--no-proxy-headers'
|
316
|
+
),
|
317
|
+
(
|
318
|
+
'--use-colors'
|
319
|
+
if uvicorn_config.get('use_colors')
|
320
|
+
else '--no-use-colors'
|
321
|
+
),
|
322
|
+
'--env-file', uvicorn_config['env_file'],
|
323
|
+
]
|
324
|
+
if uvicorn_reload := uvicorn_config.get('reload'):
|
325
|
+
uvicorn_flags.append('--reload')
|
326
|
+
if (
|
327
|
+
uvicorn_reload
|
328
|
+
and (reload_dirs := uvicorn_config.get('reload_dirs'))
|
329
|
+
):
|
330
|
+
if not isinstance(reload_dirs, list):
|
331
|
+
reload_dirs = [reload_dirs]
|
332
|
+
for reload_dir in reload_dirs:
|
333
|
+
uvicorn_flags += ['--reload-dir', reload_dir]
|
334
|
+
if (
|
335
|
+
uvicorn_reload
|
336
|
+
and (reload_excludes := uvicorn_config.get('reload_excludes'))
|
337
|
+
):
|
338
|
+
if not isinstance(reload_excludes, list):
|
339
|
+
reload_excludes = [reload_excludes]
|
340
|
+
for reload_exclude in reload_excludes:
|
341
|
+
uvicorn_flags += ['--reload-exclude', reload_exclude]
|
342
|
+
if (uvicorn_workers := uvicorn_config.get('workers')) is not None:
|
343
|
+
uvicorn_flags += ['--workers', str(uvicorn_workers)]
|
344
|
+
|
345
|
+
uvicorn_args = uvicorn_flags + ['meerschaum.api:app']
|
346
|
+
proc = run_python_package(
|
347
|
+
'uvicorn',
|
348
|
+
uvicorn_args,
|
349
|
+
venv = 'mrsm',
|
350
|
+
as_proc = True,
|
351
|
+
foreground = True,
|
352
|
+
debug = debug,
|
318
353
|
)
|
319
354
|
except KeyboardInterrupt:
|
320
355
|
pass
|
@@ -350,6 +385,7 @@ def _api_start(
|
|
350
385
|
)
|
351
386
|
for k, v in env_dict.items()
|
352
387
|
},
|
388
|
+
venv = 'mrsm',
|
353
389
|
debug = debug,
|
354
390
|
)
|
355
391
|
except KeyboardInterrupt:
|
meerschaum/actions/python.py
CHANGED
@@ -10,36 +10,37 @@ from meerschaum.utils.typing import SuccessTuple, Any, List, Optional
|
|
10
10
|
|
11
11
|
def python(
|
12
12
|
action: Optional[List[str]] = None,
|
13
|
+
venv: Optional[str] = 'mrsm',
|
14
|
+
sub_args: Optional[List[str]] = None,
|
13
15
|
debug: bool = False,
|
14
16
|
**kw: Any
|
15
17
|
) -> SuccessTuple:
|
16
18
|
"""
|
17
|
-
Launch a Python interpreter with Meerschaum imported.
|
18
|
-
|
19
|
+
Launch a virtual environment's Python interpreter with Meerschaum imported.
|
20
|
+
You may pass flags to the Python binary by surrounding each flag with `[]`.
|
19
21
|
|
20
22
|
Usage:
|
21
23
|
`python {commands}`
|
22
24
|
|
23
|
-
|
24
|
-
|
25
|
-
|
26
|
-
|
27
|
-
Hello, World!
|
28
|
-
|
29
|
-
>>> import meerschaum as mrsm
|
30
|
-
>>> print('Hello, World!')
|
31
|
-
>>> pipes = mrsm.get_pipes()
|
32
|
-
```
|
25
|
+
Examples:
|
26
|
+
mrsm python
|
27
|
+
mrsm python --venv noaa
|
28
|
+
mrsm python [-i] [-c 'print("hi")']
|
33
29
|
"""
|
34
|
-
import sys, subprocess
|
30
|
+
import sys, subprocess, os
|
35
31
|
from meerschaum.utils.debug import dprint
|
36
32
|
from meerschaum.utils.warnings import warn, error
|
37
33
|
from meerschaum.utils.process import run_process
|
34
|
+
from meerschaum.utils.venv import venv_executable
|
38
35
|
from meerschaum.config import __version__ as _version
|
36
|
+
from meerschaum.config.paths import VIRTENV_RESOURCES_PATH
|
39
37
|
|
40
38
|
if action is None:
|
41
39
|
action = []
|
42
40
|
|
41
|
+
if venv == 'None':
|
42
|
+
venv = None
|
43
|
+
|
43
44
|
joined_actions = ['import meerschaum as mrsm']
|
44
45
|
line = ""
|
45
46
|
for i, a in enumerate(action):
|
@@ -51,7 +52,6 @@ def python(
|
|
51
52
|
line = ""
|
52
53
|
|
53
54
|
### ensure meerschaum is imported
|
54
|
-
# joined_actions = ['import meerschaum as mrsm;'] + joined_actions
|
55
55
|
if debug:
|
56
56
|
dprint(joined_actions)
|
57
57
|
|
@@ -75,8 +75,24 @@ def python(
|
|
75
75
|
|
76
76
|
if debug:
|
77
77
|
dprint(f"command:\n{command}")
|
78
|
+
|
79
|
+
env_dict = os.environ.copy()
|
80
|
+
venv_path = (VIRTENV_RESOURCES_PATH / venv) if venv is not None else None
|
81
|
+
if venv_path is not None:
|
82
|
+
env_dict.update({'VIRTUAL_ENV': venv_path.as_posix()})
|
83
|
+
|
84
|
+
args_to_run = (
|
85
|
+
[venv_executable(venv), '-i', '-c', command]
|
86
|
+
if not sub_args
|
87
|
+
else [venv_executable(venv)] + sub_args
|
88
|
+
)
|
89
|
+
|
78
90
|
try:
|
79
|
-
return_code = run_process(
|
91
|
+
return_code = run_process(
|
92
|
+
args_to_run,
|
93
|
+
foreground = True,
|
94
|
+
env = env_dict,
|
95
|
+
)
|
80
96
|
except KeyboardInterrupt:
|
81
97
|
return_code = 1
|
82
98
|
return return_code == 0, (
|
meerschaum/actions/start.py
CHANGED
@@ -333,8 +333,7 @@ def _start_gui(
|
|
333
333
|
from meerschaum.connectors.parse import parse_instance_keys
|
334
334
|
from meerschaum._internal.term.tools import is_webterm_running
|
335
335
|
import platform
|
336
|
-
webview = attempt_import('webview')
|
337
|
-
requests = attempt_import('requests')
|
336
|
+
webview, requests = attempt_import('webview', 'requests')
|
338
337
|
import json
|
339
338
|
import time
|
340
339
|
|
@@ -365,7 +364,7 @@ def _start_gui(
|
|
365
364
|
base_url = 'http://' + api_kw['host'] + ':' + str(api_kw['port'])
|
366
365
|
|
367
366
|
process = venv_exec(
|
368
|
-
start_tornado_code, as_proc=True,
|
367
|
+
start_tornado_code, as_proc=True, debug=debug, capture_output=(not debug)
|
369
368
|
)
|
370
369
|
timeout = 10
|
371
370
|
start = time.perf_counter()
|
@@ -446,7 +445,6 @@ def _start_webterm(
|
|
446
445
|
+ " Include `-f` to start another server on a new port\n"
|
447
446
|
+ " or specify a different port with `-p`."
|
448
447
|
)
|
449
|
-
|
450
448
|
if not nopretty:
|
451
449
|
info(f"Starting the webterm at http://{host}:{port} ...\n Press CTRL+C to quit.")
|
452
450
|
tornado_app.listen(port, host)
|
meerschaum/api/__init__.py
CHANGED
@@ -12,7 +12,7 @@ from meerschaum.utils.packages import attempt_import, import_dcc, import_html
|
|
12
12
|
from meerschaum.utils.typing import SuccessTuple, List
|
13
13
|
from meerschaum.config.static import STATIC_CONFIG
|
14
14
|
from meerschaum.utils.misc import remove_ansi
|
15
|
-
from meerschaum.
|
15
|
+
from meerschaum._internal.shell.Shell import get_shell_intro
|
16
16
|
from meerschaum.api import endpoints, CHECK_UPDATE
|
17
17
|
from meerschaum.connectors import instance_types
|
18
18
|
from meerschaum.utils.misc import get_connector_labels
|
@@ -69,7 +69,10 @@ bottom_buttons_content = dbc.Card(
|
|
69
69
|
])
|
70
70
|
)
|
71
71
|
)
|
72
|
-
console_div = html.Div(
|
72
|
+
console_div = html.Div(
|
73
|
+
id = 'console-div',
|
74
|
+
children = [html.Pre(get_shell_intro(), id='console-pre')],
|
75
|
+
)
|
73
76
|
|
74
77
|
location = dcc.Location(id='location', refresh=False)
|
75
78
|
|
meerschaum/config/_version.py
CHANGED
@@ -110,7 +110,7 @@ STATIC_CONFIG: Dict[str, Any] = {
|
|
110
110
|
'pbkdf2_sha256',
|
111
111
|
],
|
112
112
|
'default': 'pbkdf2_sha256',
|
113
|
-
'pbkdf2_sha256__default_rounds':
|
113
|
+
'pbkdf2_sha256__default_rounds': 1_000_000,
|
114
114
|
},
|
115
115
|
'min_username_length': 1,
|
116
116
|
'max_username_length': 26,
|
@@ -46,6 +46,8 @@ def get_module_path(
|
|
46
46
|
"""
|
47
47
|
Get a module's path without importing.
|
48
48
|
"""
|
49
|
+
import site
|
50
|
+
import pathlib
|
49
51
|
if debug:
|
50
52
|
from meerschaum.utils.debug import dprint
|
51
53
|
if not _try_install_name_on_fail:
|
@@ -54,33 +56,52 @@ def get_module_path(
|
|
54
56
|
import_name_lower = install_name_lower
|
55
57
|
else:
|
56
58
|
import_name_lower = import_name.lower().replace('-', '_')
|
59
|
+
|
57
60
|
vtp = venv_target_path(venv, allow_nonexistent=True, debug=debug)
|
58
61
|
if not vtp.exists():
|
59
62
|
if debug:
|
60
63
|
dprint(f"Venv '{venv}' does not exist, cannot import '{import_name}'.", color=False)
|
61
64
|
return None
|
65
|
+
|
66
|
+
venv_target_candidate_paths = [vtp]
|
67
|
+
if venv is None:
|
68
|
+
site_user_packages_dirs = [pathlib.Path(site.getusersitepackages())]
|
69
|
+
site_packages_dirs = [pathlib.Path(path) for path in site.getsitepackages()]
|
70
|
+
|
71
|
+
paths_to_add = [
|
72
|
+
path
|
73
|
+
for path in site_user_packages_dirs + site_packages_dirs
|
74
|
+
if path not in venv_target_candidate_paths
|
75
|
+
]
|
76
|
+
venv_target_candidate_paths += paths_to_add
|
77
|
+
|
62
78
|
candidates = []
|
63
|
-
for
|
64
|
-
|
65
|
-
|
66
|
-
|
67
|
-
if file_name.endswith('dist_info'):
|
79
|
+
for venv_target_candidate in venv_target_candidate_paths:
|
80
|
+
try:
|
81
|
+
file_names = os.listdir(venv_target_candidate)
|
82
|
+
except FileNotFoundError:
|
68
83
|
continue
|
69
|
-
|
84
|
+
for file_name in file_names:
|
85
|
+
file_name_lower = file_name.lower().replace('-', '_')
|
86
|
+
if not file_name_lower.startswith(import_name_lower):
|
87
|
+
continue
|
88
|
+
if file_name.endswith('dist_info'):
|
89
|
+
continue
|
90
|
+
file_path = venv_target_candidate / file_name
|
70
91
|
|
71
|
-
|
72
|
-
|
73
|
-
|
74
|
-
|
75
|
-
|
92
|
+
### Most likely: Is a directory with __init__.py
|
93
|
+
if file_name_lower == import_name_lower and file_path.is_dir():
|
94
|
+
init_path = file_path / '__init__.py'
|
95
|
+
if init_path.exists():
|
96
|
+
candidates.append(init_path)
|
76
97
|
|
77
|
-
|
78
|
-
|
79
|
-
|
98
|
+
### May be a standalone .py file.
|
99
|
+
elif file_name_lower == import_name_lower + '.py':
|
100
|
+
candidates.append(file_path)
|
80
101
|
|
81
|
-
|
82
|
-
|
83
|
-
|
102
|
+
### Compiled wheels (e.g. pyodbc)
|
103
|
+
elif file_name_lower.startswith(import_name_lower + '.'):
|
104
|
+
candidates.append(file_path)
|
84
105
|
|
85
106
|
if len(candidates) == 1:
|
86
107
|
return candidates[0]
|
@@ -791,10 +812,17 @@ def pip_install(
|
|
791
812
|
|
792
813
|
_args = list(args)
|
793
814
|
have_pip = venv_contains_package('pip', venv=None, debug=debug)
|
815
|
+
try:
|
816
|
+
import pip
|
817
|
+
have_pip = True
|
818
|
+
except ImportError:
|
819
|
+
have_pip = False
|
794
820
|
try:
|
795
821
|
import uv
|
822
|
+
uv_bin = uv.find_uv_bin()
|
796
823
|
have_uv_pip = True
|
797
|
-
except ImportError:
|
824
|
+
except (ImportError, FileNotFoundError):
|
825
|
+
uv_bin = None
|
798
826
|
have_uv_pip = False
|
799
827
|
if have_pip and not have_uv_pip and _install_uv_pip:
|
800
828
|
if not pip_install(
|
@@ -811,7 +839,7 @@ def pip_install(
|
|
811
839
|
color = False,
|
812
840
|
)
|
813
841
|
|
814
|
-
use_uv_pip = venv_contains_package('uv', venv=None, debug=debug)
|
842
|
+
use_uv_pip = venv_contains_package('uv', venv=None, debug=debug) and uv_bin is not None
|
815
843
|
|
816
844
|
import sys
|
817
845
|
if not have_pip and not use_uv_pip:
|
@@ -853,7 +881,7 @@ def pip_install(
|
|
853
881
|
if check_wheel and not _uninstall and not use_uv_pip:
|
854
882
|
if not have_wheel:
|
855
883
|
if not pip_install(
|
856
|
-
'setuptools', 'wheel',
|
884
|
+
'setuptools', 'wheel', 'uv',
|
857
885
|
venv = venv,
|
858
886
|
check_update = False,
|
859
887
|
check_pypi = False,
|
@@ -1669,6 +1697,8 @@ def venv_contains_package(
|
|
1669
1697
|
"""
|
1670
1698
|
Search the contents of a virtual environment for a package.
|
1671
1699
|
"""
|
1700
|
+
import site
|
1701
|
+
import pathlib
|
1672
1702
|
root_name = import_name.split('.')[0] if split else import_name
|
1673
1703
|
return get_module_path(root_name, venv=venv, debug=debug) is not None
|
1674
1704
|
|
meerschaum/utils/process.py
CHANGED
@@ -147,7 +147,6 @@ def run_process(
|
|
147
147
|
store_proc_dict[store_proc_key] = child
|
148
148
|
_ret = poll_process(child, line_callback) if line_callback is not None else child.wait()
|
149
149
|
ret = _ret if not as_proc else child
|
150
|
-
|
151
150
|
finally:
|
152
151
|
if foreground:
|
153
152
|
# we have to mask SIGTTOU because tcsetpgrp
|
@@ -79,7 +79,7 @@ def activate_venv(
|
|
79
79
|
else:
|
80
80
|
threads_active_venvs[thread_id][venv] += 1
|
81
81
|
|
82
|
-
target =
|
82
|
+
target = venv_target_path(venv, debug=debug).as_posix()
|
83
83
|
if venv in active_venvs_order:
|
84
84
|
sys.path.remove(target)
|
85
85
|
try:
|
@@ -171,7 +171,7 @@ def deactivate_venv(
|
|
171
171
|
if sys.path is None:
|
172
172
|
return False
|
173
173
|
|
174
|
-
target =
|
174
|
+
target = venv_target_path(venv, allow_nonexistent=force, debug=debug).as_posix()
|
175
175
|
with LOCKS['sys.path']:
|
176
176
|
if target in sys.path:
|
177
177
|
sys.path.remove(target)
|
@@ -12,16 +12,16 @@ 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=NqRowEvTUd-7uuamD_X6mt2Nw3yfuDW7z_g5sfay0Og,33194
|
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
|
19
19
|
meerschaum/_internal/shell/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
20
20
|
meerschaum/_internal/term/TermPageHandler.py,sha256=Rt5S47Pr_3HLJc8xIXpZUczYE_Dw2qT8qwf1jZFtUHQ,520
|
21
|
-
meerschaum/_internal/term/__init__.py,sha256=
|
22
|
-
meerschaum/_internal/term/tools.py,sha256=
|
21
|
+
meerschaum/_internal/term/__init__.py,sha256=QZQerwLmqE6SS1MHH8HbZkoUunLhhcmZDmPf52y2dhM,1583
|
22
|
+
meerschaum/_internal/term/tools.py,sha256=dXVAimKD-Yv2fg2WOTr0YGBY7XDKjQqw-RizcS65YVI,727
|
23
23
|
meerschaum/actions/__init__.py,sha256=7CNoKEqkqqafqMcChspJX9cR9OdgEWk9ggj0000Jl98,11360
|
24
|
-
meerschaum/actions/api.py,sha256=
|
24
|
+
meerschaum/actions/api.py,sha256=pBVTGq9iI7rRspPPkilJthIxi6JDt6LsVXu2NXNHN_Y,14262
|
25
25
|
meerschaum/actions/bootstrap.py,sha256=JnIyJ4odw6cA4e0Cw7J8THkLavMcj68nRyGsQDAT8nc,13396
|
26
26
|
meerschaum/actions/clear.py,sha256=OoFZE0bK5m8s3GLNZcixuVT0DMj1izXVxGCATcmUGbI,4851
|
27
27
|
meerschaum/actions/copy.py,sha256=8g3ANXfVdvuyaoXcZjgTg3BxHTOhHGrzVDOOsTBrpSU,6213
|
@@ -33,7 +33,7 @@ meerschaum/actions/install.py,sha256=akzzgsvy5yqUFuUqzSMG4eBKARY2iSnL3n_BiaNcM58
|
|
33
33
|
meerschaum/actions/login.py,sha256=fNgsgkrFCn9wBQJY50SQhz2PwsN_TvEYYHnXK3JG4ig,4206
|
34
34
|
meerschaum/actions/os.py,sha256=dtoppoBhLzW3rLNF0SFovEfNxA4WJWt_9WrOGlS5KbA,2251
|
35
35
|
meerschaum/actions/pause.py,sha256=kDK0UMm90TuohFEG5Gugl3PEbuqGua-ghidqvgYShoc,3909
|
36
|
-
meerschaum/actions/python.py,sha256=
|
36
|
+
meerschaum/actions/python.py,sha256=pdrgBCGdoYGFwVoyo71Q59hLS1vwzPHAW71U3JdroYo,2831
|
37
37
|
meerschaum/actions/register.py,sha256=l_21LWZCzKwJVex_xAXECC5WVW1VEuIX9HSp7CuyCwA,11326
|
38
38
|
meerschaum/actions/reload.py,sha256=gMXeFBGVfyQ7uhKhYf6bLaDMD0fLPcA9BrLBSiuvWIc,508
|
39
39
|
meerschaum/actions/setup.py,sha256=KkAGWcgwzl_L6A19fTmTX1KtBjW2FwD8QenLjPy0mQQ,3205
|
@@ -41,21 +41,21 @@ meerschaum/actions/sh.py,sha256=fLfTJaacKu4sjLTRqEzzYlT2WbbdZBEczsKb6F-qAek,2026
|
|
41
41
|
meerschaum/actions/show.py,sha256=p92UahbFeKOThGooO8Ul5Z6s6_Ll54FCxXsMAFnhuT0,29024
|
42
42
|
meerschaum/actions/sql.py,sha256=wYofwk1vGO96U2ncigGEfMtYMZeprz2FR1PRRZhkAPI,4311
|
43
43
|
meerschaum/actions/stack.py,sha256=WMRMebyYwZGNlbnj6Ja09qvCSDNteFJOTa8_joHlnVo,5886
|
44
|
-
meerschaum/actions/start.py,sha256=
|
44
|
+
meerschaum/actions/start.py,sha256=9Ej3Hk7qXfbrBaQq17KirTII_4Pa-BWSdrkutMnLA3k,18352
|
45
45
|
meerschaum/actions/stop.py,sha256=KTBadAmJ6SbReqlltkwfqZW6EryB4kZXupl0ZyInI0Q,4311
|
46
46
|
meerschaum/actions/sync.py,sha256=10uPREu3HBVgtzakVxhCegQOz_mistABJlsNNCMgywY,17518
|
47
47
|
meerschaum/actions/tag.py,sha256=SJf5qFW0ccLXjqlTdkK_0MCcrCMdg6xhYrhKdco0hdA,3053
|
48
48
|
meerschaum/actions/uninstall.py,sha256=2fUd5ZK45VGGCI8V4NLmSnavdKjOv7cGM22x2WlTStw,6068
|
49
49
|
meerschaum/actions/upgrade.py,sha256=w0f7QmJcOMU6RuwvLNCQBJgFV0iQe9jDrH1nZZEmvRk,6301
|
50
50
|
meerschaum/actions/verify.py,sha256=tY5slGpHiWiE0v9TDnjbmxSKn86zBnu9WBpixUgKNQU,4885
|
51
|
-
meerschaum/api/__init__.py,sha256=
|
51
|
+
meerschaum/api/__init__.py,sha256=oOYwNnkXM2s-h52EYnN2NGPfrlaQh6D4-zmHa7uPLG0,7450
|
52
52
|
meerschaum/api/_chain.py,sha256=h8-WXUGXX6AqzdALfsBC5uv0FkAcLdHJXCGzqzuq89k,875
|
53
53
|
meerschaum/api/_events.py,sha256=NrjiabEr7rmHMfxnX07DOGzr9sPiEbRkFqPjuA_8Zx8,1603
|
54
54
|
meerschaum/api/_oauth2.py,sha256=He8JnFDhfCq25Wlz1Jh3TcGz83VOttrJk6RgzJKbFLw,1056
|
55
55
|
meerschaum/api/_websockets.py,sha256=OmrSDGx3xGlfP5XXeLEyYW6-Y3iRUcB-xSqL3RWsjqQ,1609
|
56
56
|
meerschaum/api/dash/__init__.py,sha256=yr4zR7uFPlLFc_lDpwa2rCM1h9ZWGiu5-2XhHcM-5f8,2252
|
57
57
|
meerschaum/api/dash/actions.py,sha256=eUClPPdNVNSCtyq8Ecr1saasxj5VBgd1gcXejvQxXEc,9418
|
58
|
-
meerschaum/api/dash/components.py,sha256=
|
58
|
+
meerschaum/api/dash/components.py,sha256=oGX7HFzNCi37iMww747iL3bbB52ZTt9tFa2iLohffg4,6399
|
59
59
|
meerschaum/api/dash/connectors.py,sha256=nJxBOFldtCMJLYjUSVYZwX5BO-LNjTNHgoEaXe-0XMo,843
|
60
60
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
61
61
|
meerschaum/api/dash/jobs.py,sha256=htqnrtAGCOgn2-THezMGYM8n1E-M-sM5A5qNmOGfHzg,7529
|
@@ -135,7 +135,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
135
135
|
meerschaum/config/_read_config.py,sha256=WFZKIXZMDe_ca0ES7ivgM_mnwShvFxLdoeisT_X5-h0,14720
|
136
136
|
meerschaum/config/_shell.py,sha256=s74cmJl8NrhM_Y1cB_P41_JDUYXV0g4WXnKFZWMtnrY,3551
|
137
137
|
meerschaum/config/_sync.py,sha256=oK2ZujO2T1he08BXCFyiniBUevNGWSQKXLcS_jRv_7Y,4155
|
138
|
-
meerschaum/config/_version.py,sha256=
|
138
|
+
meerschaum/config/_version.py,sha256=EInJbGE14rCfVET_lXzEeEKw-tGc7n8tgXJiPluDNic,74
|
139
139
|
meerschaum/config/paths.py,sha256=Z7vaOunaEJbVFXiSSz4IthhNOQDI-dhtpi5TpSyrcXg,206
|
140
140
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
141
|
meerschaum/config/stack/__init__.py,sha256=c_WdTSejVdj8lqSE_pK5MhIBkHoftiZWDuEuB9dmk2I,9007
|
@@ -143,7 +143,7 @@ meerschaum/config/stack/grafana/__init__.py,sha256=LNXQw2FvHKrD68RDhqDmi2wJjAHaK
|
|
143
143
|
meerschaum/config/stack/mosquitto/__init__.py,sha256=-OwOjq8KiBoSH_pmgCAAF3Dp3CRD4KgAEdimZSadROs,186
|
144
144
|
meerschaum/config/stack/mosquitto/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
145
145
|
meerschaum/config/stack/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
146
|
-
meerschaum/config/static/__init__.py,sha256=
|
146
|
+
meerschaum/config/static/__init__.py,sha256=d3bkER5FJwsvrL8TM5V8Vmy0Bi7Fq7H8U-4jjfpV4Og,4474
|
147
147
|
meerschaum/connectors/Connector.py,sha256=cJKinmk7eWZwCBvtX4H9r66macTZOY1qjxR7JUEmDmg,6381
|
148
148
|
meerschaum/connectors/__init__.py,sha256=zXumYuKTWOyu3U6J1zvMQS30HImYLE8ssBdJs-I134M,12106
|
149
149
|
meerschaum/connectors/parse.py,sha256=gidA2jvOLTvEeL5hM9JjcUwkMRBadUhd4IfA5Jy1tgg,4044
|
@@ -204,7 +204,7 @@ meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mi
|
|
204
204
|
meerschaum/utils/misc.py,sha256=H26hLtCP8QHwXoHlvkxjWu6cPTwudDbbsbRkGw6ultg,43296
|
205
205
|
meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRUc,1006
|
206
206
|
meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
207
|
-
meerschaum/utils/process.py,sha256=
|
207
|
+
meerschaum/utils/process.py,sha256=BFT9ntuTSlIXTLFGGSnrjgUlJqCLzbOHfIf6iCcuf9A,7191
|
208
208
|
meerschaum/utils/prompt.py,sha256=0mBFbgi_l9rCou9UnC_6qKTHkqyl1Z_jSRzfmc0xRXM,16490
|
209
209
|
meerschaum/utils/schedule.py,sha256=btAeSDaoFH62-7wTO0U7NK9P9QHV46PtY3DJ8DN_mCY,10860
|
210
210
|
meerschaum/utils/sql.py,sha256=4sCNEpgUd6uFz6ySs4nnUMVaOT0YAvPM1ZlQYJTSF-0,46656
|
@@ -224,16 +224,16 @@ meerschaum/utils/formatting/_jobs.py,sha256=s1lVcdMkzNj5Bqw-GsUhcguUFtahi5nQ-kg1
|
|
224
224
|
meerschaum/utils/formatting/_pipes.py,sha256=wy0iWJFsFl3X2VloaiA_gp9Yx9w6tD3FQZvAQAqef4A,19492
|
225
225
|
meerschaum/utils/formatting/_pprint.py,sha256=tgrT3FyGyu5CWJYysqK3kX1xdZYorlbOk9fcU_vt9Qg,3096
|
226
226
|
meerschaum/utils/formatting/_shell.py,sha256=ox75O7VHDAiwzSvdMSJZhXLadvAqYJVeihU6WeZ2Ogc,3677
|
227
|
-
meerschaum/utils/packages/__init__.py,sha256=
|
227
|
+
meerschaum/utils/packages/__init__.py,sha256=TTNgCWgIpdyG21Pk86dDne7eTG02_0nERxopLBD1tHo,59811
|
228
228
|
meerschaum/utils/packages/_packages.py,sha256=kWoo1KWvpQgR3rY_rpHzvGIh14BBFH92Erw5UtW7yX0,7918
|
229
229
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
230
230
|
meerschaum/utils/venv/_Venv.py,sha256=sBnlmxHdAh2bx8btfVoD79-H9-cYsv5lP02IIXkyECs,3553
|
231
|
-
meerschaum/utils/venv/__init__.py,sha256=
|
232
|
-
meerschaum-2.2.
|
233
|
-
meerschaum-2.2.
|
234
|
-
meerschaum-2.2.
|
235
|
-
meerschaum-2.2.
|
236
|
-
meerschaum-2.2.
|
237
|
-
meerschaum-2.2.
|
238
|
-
meerschaum-2.2.
|
239
|
-
meerschaum-2.2.
|
231
|
+
meerschaum/utils/venv/__init__.py,sha256=iVBBncvP_1FHaxpRo4BGDdTc6AXvP3sO_NXUuwdJWOU,23557
|
232
|
+
meerschaum-2.2.2rc2.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
233
|
+
meerschaum-2.2.2rc2.dist-info/METADATA,sha256=Fuc1OkYDzgjosH8VDHUmwZdpJsYK8aMApbiLipzUAx0,23988
|
234
|
+
meerschaum-2.2.2rc2.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
235
|
+
meerschaum-2.2.2rc2.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
236
|
+
meerschaum-2.2.2rc2.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
237
|
+
meerschaum-2.2.2rc2.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
238
|
+
meerschaum-2.2.2rc2.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
239
|
+
meerschaum-2.2.2rc2.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|