meerschaum 2.7.8__py3-none-any.whl → 2.7.9__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- meerschaum/_internal/term/TermPageHandler.py +54 -4
- meerschaum/_internal/term/__init__.py +13 -5
- meerschaum/_internal/term/tools.py +41 -6
- meerschaum/actions/start.py +25 -10
- meerschaum/api/dash/callbacks/dashboard.py +43 -2
- meerschaum/api/dash/components.py +13 -6
- meerschaum/api/dash/keys.py +82 -108
- meerschaum/api/dash/pages/dashboard.py +17 -17
- meerschaum/api/dash/sessions.py +1 -0
- meerschaum/api/dash/webterm.py +17 -6
- meerschaum/api/resources/static/js/terminado.js +0 -2
- meerschaum/api/resources/templates/termpage.html +47 -4
- meerschaum/api/routes/_webterm.py +15 -11
- meerschaum/config/_default.py +6 -0
- meerschaum/config/_version.py +1 -1
- meerschaum/config/static/__init__.py +2 -2
- meerschaum/core/Pipe/_sync.py +7 -7
- meerschaum/core/Pipe/_verify.py +1 -1
- meerschaum/utils/daemon/Daemon.py +15 -9
- meerschaum/utils/dtypes/__init__.py +9 -0
- meerschaum/utils/dtypes/sql.py +19 -13
- meerschaum/utils/formatting/_pprint.py +1 -1
- meerschaum/utils/misc.py +16 -0
- meerschaum/utils/venv/__init__.py +10 -14
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/METADATA +1 -1
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/RECORD +32 -32
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/LICENSE +0 -0
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/NOTICE +0 -0
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/WHEEL +0 -0
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/top_level.txt +0 -0
- {meerschaum-2.7.8.dist-info → meerschaum-2.7.9.dist-info}/zip-safe +0 -0
meerschaum/core/Pipe/_verify.py
CHANGED
@@ -330,12 +330,12 @@ class Daemon:
|
|
330
330
|
result = self.target(*self.target_args, **self.target_kw)
|
331
331
|
self.properties['result'] = result
|
332
332
|
except (BrokenPipeError, KeyboardInterrupt, SystemExit):
|
333
|
-
|
333
|
+
result = False, traceback.format_exc()
|
334
334
|
except Exception as e:
|
335
335
|
warn(
|
336
336
|
f"Exception in daemon target function: {traceback.format_exc()}",
|
337
337
|
)
|
338
|
-
result = e
|
338
|
+
result = False, str(e)
|
339
339
|
finally:
|
340
340
|
_results[self.daemon_id] = result
|
341
341
|
|
@@ -345,8 +345,11 @@ class Daemon:
|
|
345
345
|
self.cleanup()
|
346
346
|
|
347
347
|
self._log_refresh_timer.cancel()
|
348
|
-
|
349
|
-
self.pid_path.
|
348
|
+
try:
|
349
|
+
if self.pid is None and self.pid_path.exists():
|
350
|
+
self.pid_path.unlink()
|
351
|
+
except Exception:
|
352
|
+
pass
|
350
353
|
|
351
354
|
if is_success_tuple(result):
|
352
355
|
try:
|
@@ -904,8 +907,8 @@ class Daemon:
|
|
904
907
|
"""
|
905
908
|
Return the file handler for the stdin file.
|
906
909
|
"""
|
907
|
-
if
|
908
|
-
return
|
910
|
+
if (stdin_file := self.__dict__.get('_stdin_file', None)):
|
911
|
+
return stdin_file
|
909
912
|
|
910
913
|
self._stdin_file = StdinFile(
|
911
914
|
self.stdin_file_path,
|
@@ -1020,7 +1023,7 @@ class Daemon:
|
|
1020
1023
|
except Exception:
|
1021
1024
|
properties = {}
|
1022
1025
|
|
1023
|
-
return properties
|
1026
|
+
return properties or {}
|
1024
1027
|
|
1025
1028
|
def read_pickle(self) -> Daemon:
|
1026
1029
|
"""Read a Daemon's pickle file and return the `Daemon`."""
|
@@ -1050,7 +1053,7 @@ class Daemon:
|
|
1050
1053
|
Return the contents of the properties JSON file.
|
1051
1054
|
"""
|
1052
1055
|
try:
|
1053
|
-
_file_properties = self.read_properties()
|
1056
|
+
_file_properties = self.read_properties() or {}
|
1054
1057
|
except Exception:
|
1055
1058
|
traceback.print_exc()
|
1056
1059
|
_file_properties = {}
|
@@ -1061,7 +1064,10 @@ class Daemon:
|
|
1061
1064
|
if self._properties is None:
|
1062
1065
|
self._properties = {}
|
1063
1066
|
|
1064
|
-
if
|
1067
|
+
if (
|
1068
|
+
self._properties.get('result', None) is None
|
1069
|
+
and _file_properties.get('result', None) is not None
|
1070
|
+
):
|
1065
1071
|
_ = self._properties.pop('result', None)
|
1066
1072
|
|
1067
1073
|
if _file_properties is not None:
|
@@ -350,6 +350,9 @@ def serialize_decimal(
|
|
350
350
|
if not isinstance(x, Decimal):
|
351
351
|
return x
|
352
352
|
|
353
|
+
if value_is_null(x):
|
354
|
+
return None
|
355
|
+
|
353
356
|
if quantize and scale and precision:
|
354
357
|
x = quantize_decimal(x, precision, scale)
|
355
358
|
|
@@ -544,6 +547,9 @@ def json_serialize_value(x: Any, default_to_str: bool = True) -> str:
|
|
544
547
|
-------
|
545
548
|
A serialized version of x, or x.
|
546
549
|
"""
|
550
|
+
if isinstance(x, (mrsm.Pipe, mrsm.connectors.Connector)):
|
551
|
+
return x.meta
|
552
|
+
|
547
553
|
if hasattr(x, 'tzinfo'):
|
548
554
|
return serialize_datetime(x)
|
549
555
|
|
@@ -553,4 +559,7 @@ def json_serialize_value(x: Any, default_to_str: bool = True) -> str:
|
|
553
559
|
if isinstance(x, Decimal):
|
554
560
|
return serialize_decimal(x)
|
555
561
|
|
562
|
+
if value_is_null(x):
|
563
|
+
return None
|
564
|
+
|
556
565
|
return str(x) if default_to_str else x
|
meerschaum/utils/dtypes/sql.py
CHANGED
@@ -470,7 +470,7 @@ AUTO_INCREMENT_COLUMN_FLAVORS: Dict[str, str] = {
|
|
470
470
|
}
|
471
471
|
|
472
472
|
|
473
|
-
def get_pd_type_from_db_type(db_type: str, allow_custom_dtypes: bool =
|
473
|
+
def get_pd_type_from_db_type(db_type: str, allow_custom_dtypes: bool = True) -> str:
|
474
474
|
"""
|
475
475
|
Parse a database type to a pandas data type.
|
476
476
|
|
@@ -486,12 +486,17 @@ def get_pd_type_from_db_type(db_type: str, allow_custom_dtypes: bool = False) ->
|
|
486
486
|
-------
|
487
487
|
The equivalent datatype for a pandas DataFrame.
|
488
488
|
"""
|
489
|
+
from meerschaum.utils.dtypes import are_dtypes_equal
|
489
490
|
def parse_custom(_pd_type: str, _db_type: str) -> str:
|
490
491
|
if 'json' in _db_type.lower():
|
491
492
|
return 'json'
|
493
|
+
if are_dtypes_equal(_pd_type, 'numeric') and _pd_type != 'object':
|
494
|
+
precision, scale = get_numeric_precision_scale(None, dtype=_db_type.upper())
|
495
|
+
if precision and scale:
|
496
|
+
return f"numeric[{precision},{scale}]"
|
492
497
|
return _pd_type
|
493
498
|
|
494
|
-
pd_type = DB_TO_PD_DTYPES.get(db_type.upper(), None)
|
499
|
+
pd_type = DB_TO_PD_DTYPES.get(db_type.upper().split('(', maxsplit=1)[0].strip(), None)
|
495
500
|
if pd_type is not None:
|
496
501
|
return (
|
497
502
|
parse_custom(pd_type, db_type)
|
@@ -644,21 +649,22 @@ def get_numeric_precision_scale(
|
|
644
649
|
|
645
650
|
dtype: Optional[str], default None
|
646
651
|
If provided, return the precision and scale provided in the dtype (if applicable).
|
652
|
+
If all caps, treat this as a DB type.
|
647
653
|
|
648
654
|
Returns
|
649
655
|
-------
|
650
656
|
A tuple of ints or a tuple of Nones.
|
651
657
|
"""
|
652
|
-
|
653
|
-
if dtype and are_dtypes_equal(dtype, 'numeric'):
|
654
|
-
if '[' in dtype and ',' in dtype:
|
655
|
-
try:
|
656
|
-
parts = dtype.split('[', maxsplit=1)[-1].rstrip(']').split(',', maxsplit=1)
|
657
|
-
return int(parts[0].strip()), int(parts[1].strip())
|
658
|
-
except Exception:
|
659
|
-
pass
|
660
|
-
|
661
|
-
if flavor not in NUMERIC_PRECISION_FLAVORS:
|
658
|
+
if not dtype:
|
662
659
|
return None, None
|
663
660
|
|
664
|
-
|
661
|
+
lbracket = '[' if '[' in dtype else '('
|
662
|
+
rbracket = ']' if lbracket == '[' else ')'
|
663
|
+
if lbracket in dtype and dtype.count(',') == 1 and dtype.endswith(rbracket):
|
664
|
+
try:
|
665
|
+
parts = dtype.split(lbracket, maxsplit=1)[-1].rstrip(rbracket).split(',', maxsplit=1)
|
666
|
+
return int(parts[0].strip()), int(parts[1].strip())
|
667
|
+
except Exception:
|
668
|
+
pass
|
669
|
+
|
670
|
+
return NUMERIC_PRECISION_FLAVORS.get(flavor, (None, None))
|
meerschaum/utils/misc.py
CHANGED
@@ -1219,6 +1219,22 @@ def is_systemd_available() -> bool:
|
|
1219
1219
|
has_systemctl = False
|
1220
1220
|
return has_systemctl
|
1221
1221
|
|
1222
|
+
|
1223
|
+
def is_tmux_available() -> bool:
|
1224
|
+
"""
|
1225
|
+
Check if `tmux` is installed.
|
1226
|
+
"""
|
1227
|
+
import subprocess
|
1228
|
+
try:
|
1229
|
+
has_tmux = subprocess.call(
|
1230
|
+
['tmux', '-V'],
|
1231
|
+
stdout=subprocess.DEVNULL,
|
1232
|
+
stderr=subprocess.STDOUT
|
1233
|
+
) == 0
|
1234
|
+
except Exception as e:
|
1235
|
+
has_tmux = False
|
1236
|
+
return has_tmux
|
1237
|
+
|
1222
1238
|
def get_last_n_lines(file_name: str, N: int):
|
1223
1239
|
"""
|
1224
1240
|
https://thispointer.com/python-get-last-n-lines-of-a-text-file-like-tail-command/
|
@@ -410,15 +410,19 @@ def init_venv(
|
|
410
410
|
pass
|
411
411
|
|
412
412
|
def wait_for_lock():
|
413
|
-
max_lock_seconds =
|
413
|
+
max_lock_seconds = 30.0
|
414
|
+
sleep_message_seconds = 5.0
|
414
415
|
step_sleep_seconds = 0.1
|
415
416
|
init_venv_check_start = time.perf_counter()
|
417
|
+
last_print = init_venv_check_start
|
416
418
|
while ((time.perf_counter() - init_venv_check_start) < max_lock_seconds):
|
417
419
|
if not lock_path.exists():
|
418
420
|
break
|
419
421
|
|
420
|
-
|
421
|
-
|
422
|
+
now = time.perf_counter()
|
423
|
+
if debug or (now - last_print) > sleep_message_seconds:
|
424
|
+
print(f"Lock exists for venv '{venv}', sleeping...")
|
425
|
+
last_print = now
|
422
426
|
time.sleep(step_sleep_seconds)
|
423
427
|
update_lock(False)
|
424
428
|
|
@@ -448,7 +452,8 @@ def init_venv(
|
|
448
452
|
|
449
453
|
_venv_success = False
|
450
454
|
temp_vtp = VENVS_CACHE_RESOURCES_PATH / str(venv)
|
451
|
-
|
455
|
+
### NOTE: Disable site-packages movement for now.
|
456
|
+
rename_vtp = False and vtp.exists() and not temp_vtp.exists()
|
452
457
|
|
453
458
|
wait_for_lock()
|
454
459
|
update_lock(True)
|
@@ -458,19 +463,10 @@ def init_venv(
|
|
458
463
|
print(f"Moving '{vtp}' to '{temp_vtp}'...")
|
459
464
|
shutil.move(vtp, temp_vtp)
|
460
465
|
|
461
|
-
if venv_path.exists():
|
462
|
-
if debug:
|
463
|
-
print(f"Removing '{venv_path}'...")
|
464
|
-
try:
|
465
|
-
shutil.rmtree(venv_path)
|
466
|
-
except Exception as e:
|
467
|
-
if debug:
|
468
|
-
print(f"Failed to remove '{venv_path}' ({e}). Continuing...")
|
469
|
-
|
470
466
|
if uv is not None:
|
471
467
|
_venv_success = run_python_package(
|
472
468
|
'uv',
|
473
|
-
['venv', venv_path.as_posix(), '-q'],
|
469
|
+
['venv', venv_path.as_posix(), '-q', '--no-project', '--allow-existing', '--seed'],
|
474
470
|
venv=None,
|
475
471
|
env=_get_pip_os_env(),
|
476
472
|
debug=debug,
|
@@ -18,9 +18,9 @@ meerschaum/_internal/shell/ValidAutoSuggest.py,sha256=bARjOWMidz0dvMelLUe6yRPto5
|
|
18
18
|
meerschaum/_internal/shell/__init__.py,sha256=vXQoQPEVlYiUYai1b5AwQAlTnja6A2cSABnqXhzlS7I,281
|
19
19
|
meerschaum/_internal/shell/updates.py,sha256=FmKu1NsIE7AI1zq8zNeKneZzORv6BeURQeX0lRR81Ag,5040
|
20
20
|
meerschaum/_internal/shell/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
21
|
-
meerschaum/_internal/term/TermPageHandler.py,sha256=
|
22
|
-
meerschaum/_internal/term/__init__.py,sha256=
|
23
|
-
meerschaum/_internal/term/tools.py,sha256=
|
21
|
+
meerschaum/_internal/term/TermPageHandler.py,sha256=iRvd1v7WsyZE2H7spXkz4vxtolV6IvbhkBLhkke9r5g,2421
|
22
|
+
meerschaum/_internal/term/__init__.py,sha256=6hkhA5Hk0O3WrwYYu74itcKTm5MxlOAVM1ozTojwB7c,2162
|
23
|
+
meerschaum/_internal/term/tools.py,sha256=7Hb6W9G1nHZHAhzuJjatuP1IK9XZTgUXDRPk7H9Tkpg,1609
|
24
24
|
meerschaum/actions/__init__.py,sha256=MHPs8aRBhbZQXnqd_6tVtisTrNCgPAPgnNcXYbn0zP8,11640
|
25
25
|
meerschaum/actions/api.py,sha256=41r3fBh3vAPyNaOrvbh2oh6WUJTR2I-zaOEZN60A66E,12538
|
26
26
|
meerschaum/actions/attach.py,sha256=UV19d9W_2WYcrf7BRz7k3mriDoX1V4rA4AKvbLdor0o,3106
|
@@ -45,7 +45,7 @@ meerschaum/actions/sh.py,sha256=hSkGNTVqP5dNjhJ64zy3V3VCFPTKnDlH3PxdKdxtkGQ,1990
|
|
45
45
|
meerschaum/actions/show.py,sha256=T8Ol1o-762cI9rlUzd-8svvwgT4slYXYfOPQETh9Koo,28446
|
46
46
|
meerschaum/actions/sql.py,sha256=PhbBMBq20LL8Yh3q-yqGMe7f8ffmyjbD8q_G8Q0WxZc,4527
|
47
47
|
meerschaum/actions/stack.py,sha256=ZwrCTGJ0x3jjZkRieWcvqasQHYCqNtB1HYvTX-r3Z3g,5996
|
48
|
-
meerschaum/actions/start.py,sha256=
|
48
|
+
meerschaum/actions/start.py,sha256=slQ49iImNlV3UsU7CzfMPD6Qms142KguDlEkSitdx6Y,21686
|
49
49
|
meerschaum/actions/stop.py,sha256=5fdUw70YN-yuUWrC-NhA88cxr9FZ5NbssbQ8xXO8nFU,4632
|
50
50
|
meerschaum/actions/sync.py,sha256=br87b8uqpv7GW18f_O7Zg7QioPh0t377J082yfmuSak,17223
|
51
51
|
meerschaum/actions/tag.py,sha256=SJf5qFW0ccLXjqlTdkK_0MCcrCMdg6xhYrhKdco0hdA,3053
|
@@ -58,18 +58,18 @@ meerschaum/api/_events.py,sha256=f-98AXHU10IL9zRGX1FrZFANxxiMz5ryeJnfFWaU8R8,223
|
|
58
58
|
meerschaum/api/_oauth2.py,sha256=dJTIVlPpX3sAVW-PcN6pXRNy2RR5QAalu2RHp3l14YU,1683
|
59
59
|
meerschaum/api/_websockets.py,sha256=EMT9wB3yELu_WyCMqn9ZpgMDh23spUUchouRLCCLVuw,1509
|
60
60
|
meerschaum/api/dash/__init__.py,sha256=29vMm_m5gSDYG0lahh-8yVfhqg9kUFnUrYyw_9jC2Y0,2078
|
61
|
-
meerschaum/api/dash/components.py,sha256=
|
61
|
+
meerschaum/api/dash/components.py,sha256=k6VpeeM-grzslAKZyNMXtKKfpC8-Nz9wgZoUoD0p4Ac,6532
|
62
62
|
meerschaum/api/dash/connectors.py,sha256=-Wd40ieYJI2nOASXi4V1C4bvLekjnN_tj6zp7HgZDl0,791
|
63
63
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
64
64
|
meerschaum/api/dash/jobs.py,sha256=mj9STE6AaQY4fwkjD1JcYRG0iW3VEcP04bO1SlKgiXw,7681
|
65
|
-
meerschaum/api/dash/keys.py,sha256=
|
65
|
+
meerschaum/api/dash/keys.py,sha256=mQT8MxtaeugbdZxGDhkr-G1mccPB4XpLN-UB7s3tamI,11144
|
66
66
|
meerschaum/api/dash/pipes.py,sha256=Zm2UKovwz6K8Mt6dTCY2LgDyUyFhEZ5D8nWw4ecPUXI,26210
|
67
67
|
meerschaum/api/dash/plugins.py,sha256=KdfG04f6SsUpBg-nm7MUJegFGuElOj-GAkxDX98hi60,3768
|
68
|
-
meerschaum/api/dash/sessions.py,sha256
|
68
|
+
meerschaum/api/dash/sessions.py,sha256=i8qFGZX1zlxskj13F5B9TYd-mXdVA71Q8d8nESbiJG0,5068
|
69
69
|
meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
|
70
70
|
meerschaum/api/dash/users.py,sha256=3wq3ZG51DxOjNeF-X5HdlXD1MYQ1nQ9oowYSvFEY7hs,1050
|
71
71
|
meerschaum/api/dash/websockets.py,sha256=0iwRaI9k2okU1baYstOkehfZ6-qMi_S6qm4lPBjVlH8,924
|
72
|
-
meerschaum/api/dash/webterm.py,sha256=
|
72
|
+
meerschaum/api/dash/webterm.py,sha256=_Aiao08IO2wfeLlWCBlYmn7x-acfHwjcr5BIg6C8eoA,3587
|
73
73
|
meerschaum/api/dash/assets/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
74
74
|
meerschaum/api/dash/assets/ansi_up.js,sha256=in4bWSCayjzXbOgROw7eLRrFwCTIiLxh8nbFSJXtDl4,21923
|
75
75
|
meerschaum/api/dash/assets/banner_1920x320.png,sha256=n2cNTSVEsGxO9XZg2keb85J3UOkux70nyIMNII5m4SA,338636
|
@@ -78,14 +78,14 @@ meerschaum/api/dash/assets/logo_48x48.png,sha256=hTR5BHUHEN4yP2xiqAcDciuigoII9T3
|
|
78
78
|
meerschaum/api/dash/assets/logo_500x500.png,sha256=9EUtf6wQcEZTXHKfQ2kjNXod6Rn_4DTB_BkTgxggq00,67702
|
79
79
|
meerschaum/api/dash/callbacks/__init__.py,sha256=5nLDkziaWWWt5ivmuMNG3kVBMOfqB6KQNIAS8f16bmA,493
|
80
80
|
meerschaum/api/dash/callbacks/custom.py,sha256=N9pVolAF8sIuJD3V6xBSgS7k8THJo_f8d1qAoh1Kg60,1161
|
81
|
-
meerschaum/api/dash/callbacks/dashboard.py,sha256=
|
81
|
+
meerschaum/api/dash/callbacks/dashboard.py,sha256=GKawgBjhgkMLKTE0PtRRGKd72pbmFGGnHlBsIHTnb_I,33962
|
82
82
|
meerschaum/api/dash/callbacks/jobs.py,sha256=JYTrDcUEte_MIT3EegLDmQDsmU_Mxqw8L60dvF71ho4,8418
|
83
83
|
meerschaum/api/dash/callbacks/login.py,sha256=mEvMgV-f85H6DvqNdTvJPoiwHqTnhWY2nf_zLB26ipE,2876
|
84
84
|
meerschaum/api/dash/callbacks/pipes.py,sha256=byphQn-wJOe8ft-fGU9wac0n5xsMjVHJzNvYYb9NsKU,1693
|
85
85
|
meerschaum/api/dash/callbacks/plugins.py,sha256=znPgw_Uf3__QEjKxoIHADfjVNubTehCDaTJ02b16pQo,2760
|
86
86
|
meerschaum/api/dash/callbacks/register.py,sha256=KfMFgXWiFkemz0YriSPaLQBVnFDG8q6_t9gHuempOS0,3666
|
87
87
|
meerschaum/api/dash/pages/__init__.py,sha256=E3MI73_FR21R_-npTJ9HBNd7hdbOwQ75V-TMpq3ohz8,349
|
88
|
-
meerschaum/api/dash/pages/dashboard.py,sha256=
|
88
|
+
meerschaum/api/dash/pages/dashboard.py,sha256=k6mmvPWXQD6NpAO4_y9Y9r8n-IU5Ql1IOuczOl7OWPs,3802
|
89
89
|
meerschaum/api/dash/pages/error.py,sha256=-uCrASuIBrceHcc-leLeEoLos2ibSBWG0XMFQzFwtbw,595
|
90
90
|
meerschaum/api/dash/pages/job.py,sha256=bAXXDB0fM3bSiqqJ2XlTwVdg2lohRaWdIGZp7ZtTZOw,544
|
91
91
|
meerschaum/api/dash/pages/login.py,sha256=Qjc-kDL9wW4D1cN48x0MrmWCME4igHDt0VkX9JSipjY,4603
|
@@ -110,14 +110,14 @@ meerschaum/api/resources/static/ico/logo.ico,sha256=nDEekVxwS60wEDno1nbw5GF3TJOc
|
|
110
110
|
meerschaum/api/resources/static/js/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
111
111
|
meerschaum/api/resources/static/js/action_button.js,sha256=A0tH6W5lXR1dcGKtNk_pTNSKFVH-HGX2eMR-IOgGLeM,540
|
112
112
|
meerschaum/api/resources/static/js/main.js,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
113
|
-
meerschaum/api/resources/static/js/terminado.js,sha256=
|
113
|
+
meerschaum/api/resources/static/js/terminado.js,sha256=Hl1VZ-RhTKUPjEFLNHyytRUUE31NUOKRxpBw4nAFnP4,1644
|
114
114
|
meerschaum/api/resources/static/js/xterm.js,sha256=H5kaw7Syg-v5bmCuI6AKUnZd06Lkb6b92p8aqwMvdJU,289441
|
115
115
|
meerschaum/api/resources/static/png/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
116
116
|
meerschaum/api/resources/templates/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
117
117
|
meerschaum/api/resources/templates/index.html,sha256=Ck-S0U5abJgB-wTOKIGg0ispGzKlXXqvFUoNAAByzLA,1019
|
118
118
|
meerschaum/api/resources/templates/old_index.html,sha256=BDeOlcXhSsBH3-NaRtuX4Z1sDuhOoCMa_Dq-6g5RMpc,1711
|
119
119
|
meerschaum/api/resources/templates/secret.html,sha256=0QWkm4ZoN81Aw1pd2-62rGCvx3nXPHfFUoegj3Iy8Ls,141
|
120
|
-
meerschaum/api/resources/templates/termpage.html,sha256=
|
120
|
+
meerschaum/api/resources/templates/termpage.html,sha256=I8ZsXunwzRyquErRPZsKKhDNoafeXT0iW0JCL4OSx8U,5989
|
121
121
|
meerschaum/api/routes/__init__.py,sha256=jbkeFNl51Tg8aT5gWe560ZLZLojFJsLMe5IENRjRkb0,606
|
122
122
|
meerschaum/api/routes/_actions.py,sha256=VUasS1dpr4d3TXHcR1CXlRZPAqvGKKuHv_f9PsOkQ5c,1732
|
123
123
|
meerschaum/api/routes/_connectors.py,sha256=NNbcn5xWhKqw2PqueSEaqRaZ95hFGDKazG5lE7gsssc,1849
|
@@ -129,11 +129,11 @@ meerschaum/api/routes/_pipes.py,sha256=kykrEP6A75WBjn2wP28BLiPVRpwtfd8sVhfOhzjHa
|
|
129
129
|
meerschaum/api/routes/_plugins.py,sha256=zzUyCiylJGeoLoa3dNjeRMSspvKfywTVXBpB-ghJ7ls,6228
|
130
130
|
meerschaum/api/routes/_users.py,sha256=Gts7gltQc5uxgjfL5pQS_R-cAhkHJZJWBCKGPRS1gmQ,6809
|
131
131
|
meerschaum/api/routes/_version.py,sha256=2t-nw_9IxCVZCNEar0LOwmut2zsClRVHjiOOUx16cu0,825
|
132
|
-
meerschaum/api/routes/_webterm.py,sha256=
|
132
|
+
meerschaum/api/routes/_webterm.py,sha256=PvYDSsNlRpGNFXqVA3MAh0E6i4SMQ3ATBQbOVNUqacw,4132
|
133
133
|
meerschaum/api/tables/__init__.py,sha256=e2aNC0CdlWICTUMx1i9RauF8Pm426J0RZJbsJWv4SWo,482
|
134
134
|
meerschaum/config/__init__.py,sha256=5ZBq71P9t3nb74r5CGvMfNuauPscfegBX-nkaAUi5C4,11541
|
135
135
|
meerschaum/config/_dash.py,sha256=BJHl4xMrQB-YHUEU7ldEW8q_nOPoIRSOqLrfGElc6Dw,187
|
136
|
-
meerschaum/config/_default.py,sha256=
|
136
|
+
meerschaum/config/_default.py,sha256=Rdyw50hoV24N2sEteaIm5NeuLlbzIZpDdAeDoBYoPQ0,6130
|
137
137
|
meerschaum/config/_edit.py,sha256=M9yX_SDD24gV5kWITZpy7p9AWTizJsIAGWAs3WZx-Ws,9087
|
138
138
|
meerschaum/config/_environment.py,sha256=Vv4DLDfc2vKLbCLsMvkQDj77K4kEvHKEBmUBo-wCrgo,4419
|
139
139
|
meerschaum/config/_formatting.py,sha256=OMuqS1EWOsj_34wSs2tOqGIWci3bTMIZ5l-uelZgsIM,6672
|
@@ -144,7 +144,7 @@ meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6
|
|
144
144
|
meerschaum/config/_read_config.py,sha256=RLC3HHi_1ndj7ITVDKLD9_uULY3caGRwSz3ATYE-ixA,15014
|
145
145
|
meerschaum/config/_shell.py,sha256=46_m49Txc5q1rGfCgO49ca48BODx45DQJi8D0zz1R18,4245
|
146
146
|
meerschaum/config/_sync.py,sha256=jHcWRkxd82_BgX8Xo8agsWvf7BSbv3qHLWmYl6ehp_0,4242
|
147
|
-
meerschaum/config/_version.py,sha256=
|
147
|
+
meerschaum/config/_version.py,sha256=xTLVpUjkTze_hdaUcpfoffXnbH-lcMVq1kPZen0twaI,71
|
148
148
|
meerschaum/config/paths.py,sha256=JjibeGN3YAdSNceRwsd42aNmeUrIgM6ndzC8qZAmNI0,621
|
149
149
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
150
150
|
meerschaum/config/stack/__init__.py,sha256=2UukC0Lmk-aVL1o1qXzumqmuIrw3vu9fD7iCuz4XD4I,10544
|
@@ -152,7 +152,7 @@ meerschaum/config/stack/grafana/__init__.py,sha256=LNXQw2FvHKrD68RDhqDmi2wJjAHaK
|
|
152
152
|
meerschaum/config/stack/mosquitto/__init__.py,sha256=-OwOjq8KiBoSH_pmgCAAF3Dp3CRD4KgAEdimZSadROs,186
|
153
153
|
meerschaum/config/stack/mosquitto/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
154
154
|
meerschaum/config/stack/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
155
|
-
meerschaum/config/static/__init__.py,sha256=
|
155
|
+
meerschaum/config/static/__init__.py,sha256=8GIJQzIq_gXJm7B8bJJnsT-j_IwCfF31_rYyDHUN9Qs,5394
|
156
156
|
meerschaum/connectors/_Connector.py,sha256=VaVNg0SlQCTXk4shl3c68QdkbymA2Y9ScUlUjckk8PY,6795
|
157
157
|
meerschaum/connectors/__init__.py,sha256=bpWsnU0uvoowWyUkFTwfEkadK84pssZUJ4M7yReudOU,12703
|
158
158
|
meerschaum/connectors/parse.py,sha256=tnqzkzt_suOXYzktn_XVUrprtfym9ThijUf8HXZZlhY,4194
|
@@ -207,8 +207,8 @@ meerschaum/core/Pipe/_fetch.py,sha256=IojFSA_EXBSm0I8BmlDgmUh3M85FFtXjmDJhdxZ8Ll
|
|
207
207
|
meerschaum/core/Pipe/_index.py,sha256=cYgaVwBVfAYxJBZ6j6MXDqOxnOrD_QnYi33_kIwy_FQ,1944
|
208
208
|
meerschaum/core/Pipe/_register.py,sha256=Sd5xaAW8H7uLTIoommcKb-6kHPRuHJLWNSbPnt2UbvA,2240
|
209
209
|
meerschaum/core/Pipe/_show.py,sha256=nG50y8eBT9TVuKkRgAKtNDNIxysJvMNxfu__lkL1F9k,1352
|
210
|
-
meerschaum/core/Pipe/_sync.py,sha256=
|
211
|
-
meerschaum/core/Pipe/_verify.py,sha256=
|
210
|
+
meerschaum/core/Pipe/_sync.py,sha256=aoJRgUt9TOisZmdiUvFQQDQt4BxHXEF2tVOwY-C6X5s,36636
|
211
|
+
meerschaum/core/Pipe/_verify.py,sha256=evFjbgfQffeuGXQxSBe5iwN_ePCXyDnxDT_hHEZqps0,14350
|
212
212
|
meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_uSJJDc,137
|
213
213
|
meerschaum/core/User/_User.py,sha256=qbI0GIkr3G0PI4d9S49uatbJQ2kH_-z5-GoVJ0fuEtA,6624
|
214
214
|
meerschaum/core/User/__init__.py,sha256=9qNy-Gobui4x6GiaE8U7-WOggsdniOM3_wegLN3SVKs,988
|
@@ -224,7 +224,7 @@ meerschaum/utils/_get_pipes.py,sha256=tu4xKPoDn79Dz2kWM13cXTP4DSCkn-3G9M8KiLftop
|
|
224
224
|
meerschaum/utils/dataframe.py,sha256=2wiZcD0Z5ItxMSTapzgVATJ3ny457pSsnHFVovWdk6g,49320
|
225
225
|
meerschaum/utils/debug.py,sha256=GyIzJmunkoPnOcZNYVQdT4Sgd-aOb5MI2VbIgATOjIQ,3695
|
226
226
|
meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mikI,3196
|
227
|
-
meerschaum/utils/misc.py,sha256=
|
227
|
+
meerschaum/utils/misc.py,sha256=Mkr1J6DO_7sERwZvTTU04L_Gz0dXHleA9nZf5lHjd9U,47371
|
228
228
|
meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRUc,1006
|
229
229
|
meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
230
230
|
meerschaum/utils/process.py,sha256=9O8PPPJjY9Q5W2f39I3B3lFU6TlSiRiI3bgrzdOOyOw,7843
|
@@ -235,29 +235,29 @@ meerschaum/utils/threading.py,sha256=awjbVL_QR6G-o_9Qk85utac9cSdqkiC8tQSdERCdrG8
|
|
235
235
|
meerschaum/utils/typing.py,sha256=U3MC347sh1umpa3Xr1k71eADyDmk4LB6TnVCpq8dVzI,2830
|
236
236
|
meerschaum/utils/warnings.py,sha256=n-phr3BftNNgyPnvnXC_VMSjtCvjiCZ-ewmVfcROhkc,6611
|
237
237
|
meerschaum/utils/yaml.py,sha256=PoC1du0pn2hLwTHwL-zuOf_EBWZSbCGOz-P-AZ4BWN0,3901
|
238
|
-
meerschaum/utils/daemon/Daemon.py,sha256=
|
238
|
+
meerschaum/utils/daemon/Daemon.py,sha256=P1JeXROC-321OzjtuisU0tW2ONJp2kI7Hdu_Q85B1cA,43406
|
239
239
|
meerschaum/utils/daemon/FileDescriptorInterceptor.py,sha256=MJKMO0Syf3d8yWUs6xXcQzg8Ptsuvh2aCRRoglOjusA,5257
|
240
240
|
meerschaum/utils/daemon/RotatingFile.py,sha256=8_bXegBjjzNRlNEjFZ_EHU4pSaDfjXZTwO9F9kbAU1I,24337
|
241
241
|
meerschaum/utils/daemon/StdinFile.py,sha256=qdZ8E_RSOkURypwnS50mWeyWyRig1bAY9tKWMTVKajc,3307
|
242
242
|
meerschaum/utils/daemon/__init__.py,sha256=ziRPyu_IM3l7Xd58y3Uvt0fZLoirJ9nuboFIxxult6c,8741
|
243
243
|
meerschaum/utils/daemon/_names.py,sha256=d2ZwTxBoTAqXZkCfZ5LuX2XrkQmLNUq1OTlUqfoH5dA,4515
|
244
|
-
meerschaum/utils/dtypes/__init__.py,sha256=
|
245
|
-
meerschaum/utils/dtypes/sql.py,sha256=
|
244
|
+
meerschaum/utils/dtypes/__init__.py,sha256=O4EfRcv53NwvHYZpyP0kfJjS-I-9dUFdXUd78hoy0ZU,15492
|
245
|
+
meerschaum/utils/dtypes/sql.py,sha256=hcugN6JhF6QJz7x3KAbTMGoFmu_cc_jQEOUZDpLSVXc,21488
|
246
246
|
meerschaum/utils/formatting/__init__.py,sha256=bA8qwBeTNIVHVQOBK682bJsKSKik1yS6xYJAoi0RErk,15528
|
247
247
|
meerschaum/utils/formatting/_jobs.py,sha256=izsqPJhTtUkXUUtWnbXtReYsUYwulXtci3pBj72Ne64,6637
|
248
248
|
meerschaum/utils/formatting/_pipes.py,sha256=OISJmmFiilaDbZxkiXck_g39MnnTfk_fJJyJ-YInvXA,19559
|
249
|
-
meerschaum/utils/formatting/_pprint.py,sha256=
|
249
|
+
meerschaum/utils/formatting/_pprint.py,sha256=wyTmjHFnsHbxfyuytjTWzH-D42Z65GuIisQ_W6UnRPg,3096
|
250
250
|
meerschaum/utils/formatting/_shell.py,sha256=XH7VFLteNv7NGtWhJl7FdIGt80sKeTiDoJokGSDAwBM,3761
|
251
251
|
meerschaum/utils/packages/__init__.py,sha256=TdKaj2tmN4bFwzusOfMv24P5ET7Zv73vyoOf9GOIr5E,64427
|
252
252
|
meerschaum/utils/packages/_packages.py,sha256=_xODMSz1FAcx3XHrn9RXUhGJ1zg-QKsVu9zYZV2UJeY,8868
|
253
253
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
254
254
|
meerschaum/utils/venv/_Venv.py,sha256=gc1TCeAj-kTZbQFAT9xl1bi4HXFV5ApT0dPOJfxwr78,3748
|
255
|
-
meerschaum/utils/venv/__init__.py,sha256
|
256
|
-
meerschaum-2.7.
|
257
|
-
meerschaum-2.7.
|
258
|
-
meerschaum-2.7.
|
259
|
-
meerschaum-2.7.
|
260
|
-
meerschaum-2.7.
|
261
|
-
meerschaum-2.7.
|
262
|
-
meerschaum-2.7.
|
263
|
-
meerschaum-2.7.
|
255
|
+
meerschaum/utils/venv/__init__.py,sha256=-Mpfvz1mJ41TzVL0xKJCKOsU3nFi6XabbNiN7UbdVXs,27067
|
256
|
+
meerschaum-2.7.9.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
257
|
+
meerschaum-2.7.9.dist-info/METADATA,sha256=jL5sZBvdVHmo1FUDgI9InBzorrlQIqdiziqqStmaeRE,24489
|
258
|
+
meerschaum-2.7.9.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
259
|
+
meerschaum-2.7.9.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
260
|
+
meerschaum-2.7.9.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
261
|
+
meerschaum-2.7.9.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
262
|
+
meerschaum-2.7.9.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
263
|
+
meerschaum-2.7.9.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|