meerschaum 2.2.2rc2__py3-none-any.whl → 2.2.2rc4__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 +9 -3
- meerschaum/_internal/term/__init__.py +2 -1
- meerschaum/actions/api.py +65 -66
- meerschaum/actions/python.py +34 -18
- meerschaum/actions/uninstall.py +5 -9
- meerschaum/actions/upgrade.py +10 -2
- meerschaum/api/dash/callbacks/__init__.py +4 -0
- meerschaum/api/dash/callbacks/custom.py +39 -0
- meerschaum/api/dash/callbacks/dashboard.py +39 -6
- meerschaum/api/dash/callbacks/login.py +3 -1
- meerschaum/api/dash/pipes.py +145 -97
- meerschaum/config/_paths.py +1 -0
- meerschaum/config/_version.py +1 -1
- meerschaum/connectors/__init__.py +1 -1
- meerschaum/core/Pipe/__init__.py +5 -0
- meerschaum/plugins/__init__.py +67 -9
- meerschaum/utils/daemon/Daemon.py +7 -2
- meerschaum/utils/misc.py +6 -0
- meerschaum/utils/packages/__init__.py +105 -21
- meerschaum/utils/process.py +12 -1
- meerschaum/utils/venv/__init__.py +25 -1
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/METADATA +1 -1
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/RECORD +29 -28
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/WHEEL +1 -1
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/LICENSE +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/NOTICE +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/top_level.txt +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc4.dist-info}/zip-safe +0 -0
@@ -47,7 +47,6 @@ def get_module_path(
|
|
47
47
|
Get a module's path without importing.
|
48
48
|
"""
|
49
49
|
import site
|
50
|
-
import pathlib
|
51
50
|
if debug:
|
52
51
|
from meerschaum.utils.debug import dprint
|
53
52
|
if not _try_install_name_on_fail:
|
@@ -60,7 +59,13 @@ def get_module_path(
|
|
60
59
|
vtp = venv_target_path(venv, allow_nonexistent=True, debug=debug)
|
61
60
|
if not vtp.exists():
|
62
61
|
if debug:
|
63
|
-
dprint(
|
62
|
+
dprint(
|
63
|
+
(
|
64
|
+
"Venv '{venv}' does not exist, cannot import "
|
65
|
+
+ f"'{import_name}'."
|
66
|
+
),
|
67
|
+
color = False,
|
68
|
+
)
|
64
69
|
return None
|
65
70
|
|
66
71
|
venv_target_candidate_paths = [vtp]
|
@@ -702,12 +707,22 @@ def need_update(
|
|
702
707
|
return False
|
703
708
|
|
704
709
|
|
705
|
-
def get_pip(
|
710
|
+
def get_pip(
|
711
|
+
venv: Optional[str] = 'mrsm',
|
712
|
+
color: bool = True,
|
713
|
+
debug: bool = False,
|
714
|
+
) -> bool:
|
706
715
|
"""
|
707
716
|
Download and run the get-pip.py script.
|
708
717
|
|
709
718
|
Parameters
|
710
719
|
----------
|
720
|
+
venv: Optional[str], default 'mrsm'
|
721
|
+
The virtual environment into which to install `pip`.
|
722
|
+
|
723
|
+
color: bool, default True
|
724
|
+
If `True`, force color output.
|
725
|
+
|
711
726
|
debug: bool, default False
|
712
727
|
Verbosity toggle.
|
713
728
|
|
@@ -730,7 +745,7 @@ def get_pip(venv: Optional[str] = 'mrsm', debug: bool=False) -> bool:
|
|
730
745
|
if venv is not None:
|
731
746
|
init_venv(venv=venv, debug=debug)
|
732
747
|
cmd_list = [venv_executable(venv=venv), dest.as_posix()]
|
733
|
-
return subprocess.call(cmd_list, env=_get_pip_os_env()) == 0
|
748
|
+
return subprocess.call(cmd_list, env=_get_pip_os_env(color=color)) == 0
|
734
749
|
|
735
750
|
|
736
751
|
def pip_install(
|
@@ -743,6 +758,7 @@ def pip_install(
|
|
743
758
|
check_pypi: bool = True,
|
744
759
|
check_wheel: bool = True,
|
745
760
|
_uninstall: bool = False,
|
761
|
+
_from_completely_uninstall: bool = False,
|
746
762
|
_install_uv_pip: bool = True,
|
747
763
|
color: bool = True,
|
748
764
|
silent: bool = False,
|
@@ -801,6 +817,7 @@ def pip_install(
|
|
801
817
|
from meerschaum.config._paths import VIRTENV_RESOURCES_PATH
|
802
818
|
from meerschaum.config import get_config
|
803
819
|
from meerschaum.utils.warnings import warn
|
820
|
+
from meerschaum.utils.misc import is_android
|
804
821
|
if args is None:
|
805
822
|
args = ['--upgrade'] if not _uninstall else []
|
806
823
|
if color:
|
@@ -839,11 +856,16 @@ def pip_install(
|
|
839
856
|
color = False,
|
840
857
|
)
|
841
858
|
|
842
|
-
use_uv_pip =
|
859
|
+
use_uv_pip = (
|
860
|
+
venv_contains_package('uv', venv=None, debug=debug)
|
861
|
+
and uv_bin is not None
|
862
|
+
and venv is not None
|
863
|
+
and not is_android()
|
864
|
+
)
|
843
865
|
|
844
866
|
import sys
|
845
867
|
if not have_pip and not use_uv_pip:
|
846
|
-
if not get_pip(venv=venv, debug=debug):
|
868
|
+
if not get_pip(venv=venv, color=color, debug=debug):
|
847
869
|
import sys
|
848
870
|
minor = sys.version_info.minor
|
849
871
|
print(
|
@@ -891,7 +913,7 @@ def pip_install(
|
|
891
913
|
):
|
892
914
|
warn(
|
893
915
|
(
|
894
|
-
"Failed to install `setuptools` and `
|
916
|
+
"Failed to install `setuptools`, `wheel`, and `uv` for virtual "
|
895
917
|
+ f"environment '{venv}'."
|
896
918
|
),
|
897
919
|
color = False,
|
@@ -916,7 +938,7 @@ def pip_install(
|
|
916
938
|
if '--disable-pip-version-check' not in _args and not use_uv_pip:
|
917
939
|
_args.append('--disable-pip-version-check')
|
918
940
|
|
919
|
-
if '--target' not in _args and '-t' not in _args and not _uninstall:
|
941
|
+
if '--target' not in _args and '-t' not in _args and not (not use_uv_pip and _uninstall):
|
920
942
|
if venv is not None:
|
921
943
|
_args += ['--target', venv_target_path(venv, debug=debug)]
|
922
944
|
elif (
|
@@ -927,8 +949,6 @@ def pip_install(
|
|
927
949
|
and not use_uv_pip
|
928
950
|
):
|
929
951
|
_args += ['--user']
|
930
|
-
if '--break-system-packages' not in _args and not _uninstall:
|
931
|
-
_args.append('--break-system-packages')
|
932
952
|
|
933
953
|
if debug:
|
934
954
|
if '-v' not in _args or '-vv' not in _args or '-vvv' not in _args:
|
@@ -948,10 +968,10 @@ def pip_install(
|
|
948
968
|
if not silent:
|
949
969
|
print(msg)
|
950
970
|
|
951
|
-
if _uninstall:
|
971
|
+
if _uninstall and not _from_completely_uninstall and not use_uv_pip:
|
952
972
|
for install_name in _packages:
|
953
973
|
_install_no_version = get_install_no_version(install_name)
|
954
|
-
if _install_no_version in ('pip', 'wheel'):
|
974
|
+
if _install_no_version in ('pip', 'wheel', 'uv'):
|
955
975
|
continue
|
956
976
|
if not completely_uninstall_package(
|
957
977
|
_install_no_version,
|
@@ -961,16 +981,17 @@ def pip_install(
|
|
961
981
|
f"Failed to clean up package '{_install_no_version}'.",
|
962
982
|
)
|
963
983
|
|
984
|
+
### NOTE: Only append the `--prerelease=allow` flag if we explicitly depend on a prerelease.
|
964
985
|
if use_uv_pip:
|
965
986
|
_args.insert(0, 'pip')
|
966
|
-
if not _uninstall:
|
987
|
+
if not _uninstall and get_prerelease_dependencies(_packages):
|
967
988
|
_args.append('--prerelease=allow')
|
968
989
|
|
969
990
|
rc = run_python_package(
|
970
991
|
('pip' if not use_uv_pip else 'uv'),
|
971
992
|
_args + _packages,
|
972
993
|
venv = None,
|
973
|
-
env = _get_pip_os_env(),
|
994
|
+
env = _get_pip_os_env(color=color),
|
974
995
|
debug = debug,
|
975
996
|
)
|
976
997
|
if debug:
|
@@ -988,6 +1009,33 @@ def pip_install(
|
|
988
1009
|
return success
|
989
1010
|
|
990
1011
|
|
1012
|
+
def get_prerelease_dependencies(_packages: Optional[List[str]] = None):
|
1013
|
+
"""
|
1014
|
+
Return a list of explicitly prerelease dependencies from a list of packages.
|
1015
|
+
"""
|
1016
|
+
if _packages is None:
|
1017
|
+
_packages = list(all_packages.keys())
|
1018
|
+
prelrease_strings = ['dev', 'rc', 'a']
|
1019
|
+
prerelease_packages = []
|
1020
|
+
for install_name in _packages:
|
1021
|
+
_install_no_version = get_install_no_version(install_name)
|
1022
|
+
import_name = _install_to_import_name(install_name)
|
1023
|
+
install_with_version = _import_to_install_name(import_name)
|
1024
|
+
version_only = (
|
1025
|
+
install_with_version.lower().replace(_install_no_version.lower(), '')
|
1026
|
+
.split(']')[-1]
|
1027
|
+
)
|
1028
|
+
|
1029
|
+
is_prerelease = False
|
1030
|
+
for prelrease_string in prelrease_strings:
|
1031
|
+
if prelrease_string in version_only:
|
1032
|
+
is_prerelease = True
|
1033
|
+
|
1034
|
+
if is_prerelease:
|
1035
|
+
prerelease_packages.append(install_name)
|
1036
|
+
return prerelease_packages
|
1037
|
+
|
1038
|
+
|
991
1039
|
def completely_uninstall_package(
|
992
1040
|
install_name: str,
|
993
1041
|
venv: str = 'mrsm',
|
@@ -1014,7 +1062,7 @@ def completely_uninstall_package(
|
|
1014
1062
|
continue
|
1015
1063
|
installed_versions.append(file_name)
|
1016
1064
|
|
1017
|
-
max_attempts = len(installed_versions)
|
1065
|
+
max_attempts = len(installed_versions)
|
1018
1066
|
while attempts < max_attempts:
|
1019
1067
|
if not venv_contains_package(
|
1020
1068
|
_install_to_import_name(_install_no_version),
|
@@ -1023,8 +1071,10 @@ def completely_uninstall_package(
|
|
1023
1071
|
return True
|
1024
1072
|
if not pip_uninstall(
|
1025
1073
|
_install_no_version,
|
1026
|
-
venv=venv,
|
1027
|
-
silent=(not debug),
|
1074
|
+
venv = venv,
|
1075
|
+
silent = (not debug),
|
1076
|
+
_from_completely_uninstall = True,
|
1077
|
+
debug = debug,
|
1028
1078
|
):
|
1029
1079
|
return False
|
1030
1080
|
attempts += 1
|
@@ -1149,9 +1199,10 @@ def attempt_import(
|
|
1149
1199
|
check_update: bool = False,
|
1150
1200
|
check_pypi: bool = False,
|
1151
1201
|
check_is_installed: bool = True,
|
1202
|
+
allow_outside_venv: bool = True,
|
1152
1203
|
color: bool = True,
|
1153
1204
|
debug: bool = False
|
1154
|
-
) ->
|
1205
|
+
) -> Any:
|
1155
1206
|
"""
|
1156
1207
|
Raise a warning if packages are not installed; otherwise import and return modules.
|
1157
1208
|
If `lazy` is `True`, return lazy-imported modules.
|
@@ -1194,6 +1245,15 @@ def attempt_import(
|
|
1194
1245
|
check_is_installed: bool, default True
|
1195
1246
|
If `True`, check if the package is contained in the virtual environment.
|
1196
1247
|
|
1248
|
+
allow_outside_venv: bool, default True
|
1249
|
+
If `True`, search outside of the specified virtual environment
|
1250
|
+
if the package cannot be found.
|
1251
|
+
Setting to `False` will reinstall the package into a virtual environment, even if it
|
1252
|
+
is installed outside.
|
1253
|
+
|
1254
|
+
color: bool, default True
|
1255
|
+
If `False`, do not print ANSI colors.
|
1256
|
+
|
1197
1257
|
Returns
|
1198
1258
|
-------
|
1199
1259
|
The specified modules. If they're not available and `install` is `True`, it will first
|
@@ -1275,6 +1335,7 @@ def attempt_import(
|
|
1275
1335
|
name,
|
1276
1336
|
venv = venv,
|
1277
1337
|
split = split,
|
1338
|
+
allow_outside_venv = allow_outside_venv,
|
1278
1339
|
debug = debug,
|
1279
1340
|
)
|
1280
1341
|
_is_installed_first_check[name] = package_is_installed
|
@@ -1420,7 +1481,9 @@ def import_rich(
|
|
1420
1481
|
'pygments', lazy=False,
|
1421
1482
|
)
|
1422
1483
|
rich = attempt_import(
|
1423
|
-
'rich', lazy=lazy,
|
1484
|
+
'rich', lazy=lazy,
|
1485
|
+
**kw
|
1486
|
+
)
|
1424
1487
|
return rich
|
1425
1488
|
|
1426
1489
|
|
@@ -1654,10 +1717,26 @@ def is_installed(
|
|
1654
1717
|
import_name: str,
|
1655
1718
|
venv: Optional[str] = 'mrsm',
|
1656
1719
|
split: bool = True,
|
1720
|
+
allow_outside_venv: bool = True,
|
1657
1721
|
debug: bool = False,
|
1658
1722
|
) -> bool:
|
1659
1723
|
"""
|
1660
1724
|
Check whether a package is installed.
|
1725
|
+
|
1726
|
+
Parameters
|
1727
|
+
----------
|
1728
|
+
import_name: str
|
1729
|
+
The import name of the module.
|
1730
|
+
|
1731
|
+
venv: Optional[str], default 'mrsm'
|
1732
|
+
The venv in which to search for the module.
|
1733
|
+
|
1734
|
+
split: bool, default True
|
1735
|
+
If `True`, split on periods to determine the root module name.
|
1736
|
+
|
1737
|
+
allow_outside_venv: bool, default True
|
1738
|
+
If `True`, search outside of the specified virtual environment
|
1739
|
+
if the package cannot be found.
|
1661
1740
|
"""
|
1662
1741
|
if debug:
|
1663
1742
|
from meerschaum.utils.debug import dprint
|
@@ -1668,7 +1747,11 @@ def is_installed(
|
|
1668
1747
|
spec_path = pathlib.Path(
|
1669
1748
|
get_module_path(root_name, venv=venv, debug=debug)
|
1670
1749
|
or
|
1671
|
-
|
1750
|
+
(
|
1751
|
+
importlib.util.find_spec(root_name).origin
|
1752
|
+
if venv is not None and allow_outside_venv
|
1753
|
+
else None
|
1754
|
+
)
|
1672
1755
|
)
|
1673
1756
|
except (ModuleNotFoundError, ValueError, AttributeError, TypeError) as e:
|
1674
1757
|
spec_path = None
|
@@ -1762,7 +1845,7 @@ def _monkey_patch_get_distribution(_dist: str, _version: str) -> None:
|
|
1762
1845
|
pkg_resources.get_distribution = _get_distribution
|
1763
1846
|
|
1764
1847
|
|
1765
|
-
def _get_pip_os_env():
|
1848
|
+
def _get_pip_os_env(color: bool = True):
|
1766
1849
|
"""
|
1767
1850
|
Return the environment variables context in which `pip` should be run.
|
1768
1851
|
See PEP 668 for why we are overriding the environment.
|
@@ -1771,5 +1854,6 @@ def _get_pip_os_env():
|
|
1771
1854
|
pip_os_env = os.environ.copy()
|
1772
1855
|
pip_os_env.update({
|
1773
1856
|
'PIP_BREAK_SYSTEM_PACKAGES': 'true',
|
1857
|
+
('FORCE_COLOR' if color else 'NO_COLOR'): '1',
|
1774
1858
|
})
|
1775
1859
|
return pip_os_env
|
meerschaum/utils/process.py
CHANGED
@@ -9,10 +9,16 @@ See `meerschaum.utils.pool` for multiprocessing and
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
from __future__ import annotations
|
12
|
-
import os, signal, subprocess, sys, platform
|
12
|
+
import os, signal, subprocess, sys, platform, traceback
|
13
13
|
from meerschaum.utils.typing import Union, Optional, Any, Callable, Dict, Tuple
|
14
14
|
from meerschaum.config.static import STATIC_CONFIG
|
15
15
|
|
16
|
+
_child_processes = []
|
17
|
+
def signal_handler(sig, frame):
|
18
|
+
for child in _child_processes:
|
19
|
+
child.send_signal(sig)
|
20
|
+
child.wait()
|
21
|
+
|
16
22
|
def run_process(
|
17
23
|
*args,
|
18
24
|
foreground: bool = False,
|
@@ -73,6 +79,7 @@ def run_process(
|
|
73
79
|
sys.stdout.write(line.decode('utf-8'))
|
74
80
|
sys.stdout.flush()
|
75
81
|
|
82
|
+
|
76
83
|
if capture_output or line_callback is not None:
|
77
84
|
kw['stdout'] = subprocess.PIPE
|
78
85
|
kw['stderr'] = subprocess.STDOUT
|
@@ -123,6 +130,7 @@ def run_process(
|
|
123
130
|
|
124
131
|
try:
|
125
132
|
child = subprocess.Popen(*args, **kw)
|
133
|
+
_child_processes.append(child)
|
126
134
|
|
127
135
|
# we can't set the process group id from the parent since the child
|
128
136
|
# will already have exec'd. and we can't SIGSTOP it before exec,
|
@@ -147,6 +155,9 @@ def run_process(
|
|
147
155
|
store_proc_dict[store_proc_key] = child
|
148
156
|
_ret = poll_process(child, line_callback) if line_callback is not None else child.wait()
|
149
157
|
ret = _ret if not as_proc else child
|
158
|
+
except KeyboardInterrupt:
|
159
|
+
child.send_signal(signal.SIGINT)
|
160
|
+
ret = child.wait() if not as_proc else child
|
150
161
|
finally:
|
151
162
|
if foreground:
|
152
163
|
# we have to mask SIGTTOU because tcsetpgrp
|
@@ -15,7 +15,7 @@ __all__ = sorted([
|
|
15
15
|
'activate_venv', 'deactivate_venv', 'init_venv',
|
16
16
|
'inside_venv', 'is_venv_active', 'venv_exec',
|
17
17
|
'venv_executable', 'venv_exists', 'venv_target_path',
|
18
|
-
'Venv', 'get_venvs', 'verify_venv',
|
18
|
+
'Venv', 'get_venvs', 'verify_venv', 'get_module_venv',
|
19
19
|
])
|
20
20
|
__pdoc__ = {'Venv': True}
|
21
21
|
|
@@ -709,4 +709,28 @@ def get_venvs() -> List[str]:
|
|
709
709
|
return venvs
|
710
710
|
|
711
711
|
|
712
|
+
def get_module_venv(module) -> Union[str, None]:
|
713
|
+
"""
|
714
|
+
Return the virtual environment where an imported module is installed.
|
715
|
+
|
716
|
+
Parameters
|
717
|
+
----------
|
718
|
+
module: ModuleType
|
719
|
+
The imported module to inspect.
|
720
|
+
|
721
|
+
Returns
|
722
|
+
-------
|
723
|
+
The name of a venv or `None`.
|
724
|
+
"""
|
725
|
+
import pathlib
|
726
|
+
from meerschaum.config.paths import VIRTENV_RESOURCES_PATH
|
727
|
+
module_path = pathlib.Path(module.__file__).resolve()
|
728
|
+
try:
|
729
|
+
rel_path = module_path.relative_to(VIRTENV_RESOURCES_PATH)
|
730
|
+
except ValueError:
|
731
|
+
return None
|
732
|
+
|
733
|
+
return rel_path.as_posix().split('/', maxsplit=1)[0]
|
734
|
+
|
735
|
+
|
712
736
|
from meerschaum.utils.venv._Venv import Venv
|
@@ -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=aWWUWD5i0T7qopEFqIf76AiTwLYy41DC7qFjIuiOnoM,33276
|
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=
|
21
|
+
meerschaum/_internal/term/__init__.py,sha256=c4Je3376Tj7Me2qldCxg_Xs2mGN-Mu1YAMIaAG6vK6w,1642
|
22
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=7OTGfcu7CmOqplYJBdk3vCIFMPE_8QkEGRS_B-Ow9V0,14031
|
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=ELGeOI6CZXHtweVN-x1jENYdGipj1Nd4_oPAKQX5nvc,3680
|
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
|
@@ -45,8 +45,8 @@ meerschaum/actions/start.py,sha256=9Ej3Hk7qXfbrBaQq17KirTII_4Pa-BWSdrkutMnLA3k,1
|
|
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
|
-
meerschaum/actions/uninstall.py,sha256=
|
49
|
-
meerschaum/actions/upgrade.py,sha256=
|
48
|
+
meerschaum/actions/uninstall.py,sha256=jKS4LpNJt1DQ_Z6684lD5I7P8zcTAyp5ikJRoJ5Puhc,6056
|
49
|
+
meerschaum/actions/upgrade.py,sha256=wepYdvrjSuc2wMd21rbLoxGjlRuXxLVH0GOD9OhKB48,6658
|
50
50
|
meerschaum/actions/verify.py,sha256=tY5slGpHiWiE0v9TDnjbmxSKn86zBnu9WBpixUgKNQU,4885
|
51
51
|
meerschaum/api/__init__.py,sha256=oOYwNnkXM2s-h52EYnN2NGPfrlaQh6D4-zmHa7uPLG0,7450
|
52
52
|
meerschaum/api/_chain.py,sha256=h8-WXUGXX6AqzdALfsBC5uv0FkAcLdHJXCGzqzuq89k,875
|
@@ -60,7 +60,7 @@ meerschaum/api/dash/connectors.py,sha256=nJxBOFldtCMJLYjUSVYZwX5BO-LNjTNHgoEaXe-
|
|
60
60
|
meerschaum/api/dash/graphs.py,sha256=wJUDWzcLN8-C3xko6rj0F2v7Rt8YDkSXoVkkXJjYGIk,2046
|
61
61
|
meerschaum/api/dash/jobs.py,sha256=htqnrtAGCOgn2-THezMGYM8n1E-M-sM5A5qNmOGfHzg,7529
|
62
62
|
meerschaum/api/dash/keys.py,sha256=hzEVeN60SAfVTVSO5lajGaykxRIKGhj9Ph00HRJnNoE,12598
|
63
|
-
meerschaum/api/dash/pipes.py,sha256=
|
63
|
+
meerschaum/api/dash/pipes.py,sha256=RVVYIJJy4G01cXou9OT8Gr5ZsygQ_GUqJDDhU1akhi8,20615
|
64
64
|
meerschaum/api/dash/plugins.py,sha256=JrLLw2r1Ar7asBgbMbSuiuz8dB9bME41ChynYN2KO-Y,3662
|
65
65
|
meerschaum/api/dash/sync.py,sha256=9lt7IRdG-fe9gf_ZO_viPiGlerX7ic6r_VFocv3I51A,504
|
66
66
|
meerschaum/api/dash/users.py,sha256=xfKwezl_yM4-gmCFSk4VRXR8teIEouw03c6oGVhOzns,2362
|
@@ -72,10 +72,11 @@ meerschaum/api/dash/assets/banner_1920x320.png,sha256=n2cNTSVEsGxO9XZg2keb85J3UO
|
|
72
72
|
meerschaum/api/dash/assets/favicon.ico,sha256=nDEekVxwS60wEDno1nbw5GF3TJOcDV26SETOHJEZKkY,9662
|
73
73
|
meerschaum/api/dash/assets/logo_48x48.png,sha256=hTR5BHUHEN4yP2xiqAcDciuigoII9T3-80R-dzsxVmw,10218
|
74
74
|
meerschaum/api/dash/assets/logo_500x500.png,sha256=9EUtf6wQcEZTXHKfQ2kjNXod6Rn_4DTB_BkTgxggq00,67702
|
75
|
-
meerschaum/api/dash/callbacks/__init__.py,sha256=
|
76
|
-
meerschaum/api/dash/callbacks/
|
75
|
+
meerschaum/api/dash/callbacks/__init__.py,sha256=CKOkt7PIHbYxX9aDab2xPDuufIAQjSR5MVX-hU8Zi2w,450
|
76
|
+
meerschaum/api/dash/callbacks/custom.py,sha256=hm6fb0f-bpS_--qlV_9ScaAN_-dnSw60FwyomWBQHfY,1166
|
77
|
+
meerschaum/api/dash/callbacks/dashboard.py,sha256=8Rjxuw8uGww6oRfwRUC_mjm6i7aD0dVW0CeY2a7r7Yo,33101
|
77
78
|
meerschaum/api/dash/callbacks/jobs.py,sha256=OEYxJRlmnxqbsvHb5jBJJCsRvVCsMNusm9AClCT9Pm0,7689
|
78
|
-
meerschaum/api/dash/callbacks/login.py,sha256=
|
79
|
+
meerschaum/api/dash/callbacks/login.py,sha256=7WHZPsegy1qf3rrm5rucLYTufi93WrAy921HXQP14lU,2630
|
79
80
|
meerschaum/api/dash/callbacks/plugins.py,sha256=7CrwwbBI2N3DR4Yb1bKmrtJ3cAQ3dVv1l6E_AtZ6Wng,2777
|
80
81
|
meerschaum/api/dash/callbacks/register.py,sha256=9AgTcl--TPt6oETKzirQCkH9Azlm3XrU9U6XJM2b8Lk,3600
|
81
82
|
meerschaum/api/dash/pages/__init__.py,sha256=1g3KAVYklZ5L8bpW-LfG5jBXRebnUeA_wmNsuIMRZEE,273
|
@@ -130,12 +131,12 @@ meerschaum/config/_environment.py,sha256=Vv4DLDfc2vKLbCLsMvkQDj77K4kEvHKEBmUBo-w
|
|
130
131
|
meerschaum/config/_formatting.py,sha256=RT_oU0OSfUkzeqbY5jvEJwuove_t9sP4MyUb1Px250U,6635
|
131
132
|
meerschaum/config/_jobs.py,sha256=2bEikO48qVSguFS3lrbWz6uiKt_0b3oSRWhwyz8RRDM,1279
|
132
133
|
meerschaum/config/_patch.py,sha256=21N30q1ANmWMDQ-2RUjpMx7KafWfPQ3lKx9rrMqg1s4,1526
|
133
|
-
meerschaum/config/_paths.py,sha256=
|
134
|
+
meerschaum/config/_paths.py,sha256=CWhB17T00NeyyKW5T0fjmetd5AqOGYIN5ySbFg3dAMI,8265
|
134
135
|
meerschaum/config/_preprocess.py,sha256=-AEA8m_--KivZwTQ1sWN6LTn5sio_fUr2XZ51BO6wLs,1220
|
135
136
|
meerschaum/config/_read_config.py,sha256=WFZKIXZMDe_ca0ES7ivgM_mnwShvFxLdoeisT_X5-h0,14720
|
136
137
|
meerschaum/config/_shell.py,sha256=s74cmJl8NrhM_Y1cB_P41_JDUYXV0g4WXnKFZWMtnrY,3551
|
137
138
|
meerschaum/config/_sync.py,sha256=oK2ZujO2T1he08BXCFyiniBUevNGWSQKXLcS_jRv_7Y,4155
|
138
|
-
meerschaum/config/_version.py,sha256=
|
139
|
+
meerschaum/config/_version.py,sha256=gYnJG3bYcMuCYNVqci0er5eTN3nIjLXAyhoRFZIGnRI,74
|
139
140
|
meerschaum/config/paths.py,sha256=Z7vaOunaEJbVFXiSSz4IthhNOQDI-dhtpi5TpSyrcXg,206
|
140
141
|
meerschaum/config/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
141
142
|
meerschaum/config/stack/__init__.py,sha256=c_WdTSejVdj8lqSE_pK5MhIBkHoftiZWDuEuB9dmk2I,9007
|
@@ -145,7 +146,7 @@ meerschaum/config/stack/mosquitto/resources/__init__.py,sha256=47DEQpj8HBSa-_TIm
|
|
145
146
|
meerschaum/config/stack/resources/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
146
147
|
meerschaum/config/static/__init__.py,sha256=d3bkER5FJwsvrL8TM5V8Vmy0Bi7Fq7H8U-4jjfpV4Og,4474
|
147
148
|
meerschaum/connectors/Connector.py,sha256=cJKinmk7eWZwCBvtX4H9r66macTZOY1qjxR7JUEmDmg,6381
|
148
|
-
meerschaum/connectors/__init__.py,sha256=
|
149
|
+
meerschaum/connectors/__init__.py,sha256=WmnYotqRnz_YVQMkf2TkizdqZxWKYbCrnIc1_Dr3Wb0,12129
|
149
150
|
meerschaum/connectors/parse.py,sha256=gidA2jvOLTvEeL5hM9JjcUwkMRBadUhd4IfA5Jy1tgg,4044
|
150
151
|
meerschaum/connectors/poll.py,sha256=gIY9TvFBqMvMNQvR0O2No7koLLz2PjfExBr_Dsosgpg,7363
|
151
152
|
meerschaum/connectors/api/APIConnector.py,sha256=pj-RncLhDUEBK7R4tByH6nrxZWU8zxGVOS2Wyik36zs,4355
|
@@ -176,7 +177,7 @@ meerschaum/connectors/sql/tools.py,sha256=jz8huOaRCwGlYdtGfAqAh7SoK8uydYBrasKQba
|
|
176
177
|
meerschaum/connectors/sql/tables/__init__.py,sha256=e2dALTtThqbrq0soMNQ9QwgccyfTAjOrFkEClstLp3A,9001
|
177
178
|
meerschaum/connectors/sql/tables/types.py,sha256=Jc_MTHIBM-KHpQt__Lckp39CeOo7tGOiAk5faDx-znY,1573
|
178
179
|
meerschaum/core/__init__.py,sha256=tjASW10n9uLV6bYhcwP4rggh-ESXSJzgxpSBbVsuISs,251
|
179
|
-
meerschaum/core/Pipe/__init__.py,sha256=
|
180
|
+
meerschaum/core/Pipe/__init__.py,sha256=5VxC5qvEuT-1eo5t4Sw5oycZCK40oxAFkHJq436ieFY,16486
|
180
181
|
meerschaum/core/Pipe/_attributes.py,sha256=XbSHfDsomaNymzf7-__UhbHqu6mlTTx20xprsw_L04I,13202
|
181
182
|
meerschaum/core/Pipe/_bootstrap.py,sha256=sTbHUX8V0Kfn6vEErXzsVslSjQNfQ5MxXxxuRYslr4w,7613
|
182
183
|
meerschaum/core/Pipe/_clear.py,sha256=hQVPztHiadzLB0c4_yFg6EETnf9MtFdJDCpO41Giuco,2261
|
@@ -195,16 +196,16 @@ meerschaum/core/Plugin/__init__.py,sha256=UXg64EvJPgI1PCxkY_KM02-ZmBm4FZpLPIQR_u
|
|
195
196
|
meerschaum/core/User/_User.py,sha256=CApB7Y0QJL6S9QOCCfrG4SbPuPXJ9AsAYQ5pASMP_Aw,6527
|
196
197
|
meerschaum/core/User/__init__.py,sha256=lJ7beIZTG9sO4dAi3367fFBl17dXYEWHKi7HoaPlDyk,193
|
197
198
|
meerschaum/plugins/_Plugin.py,sha256=LpplVPviSskKqf_igl4yIsD72H2C9vaFPQgU7-93ytg,34039
|
198
|
-
meerschaum/plugins/__init__.py,sha256=
|
199
|
+
meerschaum/plugins/__init__.py,sha256=RUnkBTvusySyp4rvVRbtqoV2lKCdKeu0uxExB5Fg7KM,23503
|
199
200
|
meerschaum/utils/__init__.py,sha256=QrK1K9hIbPCRCM5k2nZGFqGnrqhA0Eh-iSmCU7FG6Cs,612
|
200
201
|
meerschaum/utils/_get_pipes.py,sha256=dlPckpYYyM0IwRZ2VL0u9DiEeYhr5Ho9gkzvWxzNVwI,11460
|
201
202
|
meerschaum/utils/dataframe.py,sha256=vxZ72ME7IWuadtktgjFZF5bc9fXW_0TuynjFlJljlLU,31955
|
202
203
|
meerschaum/utils/debug.py,sha256=ry9UWf0ECelVIuBApwmKxPZ_IoL6UqjTSMpGNbjghVQ,3690
|
203
204
|
meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mikI,3196
|
204
|
-
meerschaum/utils/misc.py,sha256=
|
205
|
+
meerschaum/utils/misc.py,sha256=2_FyirImT793NH-wQriJ1VPOW7DcXm98Id0XMn8nh9I,43445
|
205
206
|
meerschaum/utils/networking.py,sha256=Sr_eYUGW8_UV9-k9LqRFf7xLtbUcsDucODyLCRsFRUc,1006
|
206
207
|
meerschaum/utils/pool.py,sha256=vkE42af4fjrTEJTxf6Ek3xGucm1MtEkpsSEiaVzNKHs,2655
|
207
|
-
meerschaum/utils/process.py,sha256=
|
208
|
+
meerschaum/utils/process.py,sha256=UyiNszYXdnjF6WN8Tt0NchWjkCV10MbOXEFn_TAhXeg,7510
|
208
209
|
meerschaum/utils/prompt.py,sha256=0mBFbgi_l9rCou9UnC_6qKTHkqyl1Z_jSRzfmc0xRXM,16490
|
209
210
|
meerschaum/utils/schedule.py,sha256=btAeSDaoFH62-7wTO0U7NK9P9QHV46PtY3DJ8DN_mCY,10860
|
210
211
|
meerschaum/utils/sql.py,sha256=4sCNEpgUd6uFz6ySs4nnUMVaOT0YAvPM1ZlQYJTSF-0,46656
|
@@ -212,7 +213,7 @@ meerschaum/utils/threading.py,sha256=3N8JXPAnwqJiSjuQcbbJg3Rv9-CCUMJpeQRfKFR7MaA
|
|
212
213
|
meerschaum/utils/typing.py,sha256=L05wOXfWdn_nJ0KnZVr-2zdMYcqjdyOW_7InT3xe6-s,2807
|
213
214
|
meerschaum/utils/warnings.py,sha256=0b5O2DBbhEAGnu6RAB1hlHSVmwL_hcR3EiMkExXmBJ0,6535
|
214
215
|
meerschaum/utils/yaml.py,sha256=vbCrFjdapKsZ9wRRaI9Ih8dVUwZ-KHpSzfGhRcpDBgQ,3162
|
215
|
-
meerschaum/utils/daemon/Daemon.py,sha256=
|
216
|
+
meerschaum/utils/daemon/Daemon.py,sha256=rd9L9BgB0vwnPuhAbgLI-KkiEhFIPJqTQZ4PJ66lTf4,34686
|
216
217
|
meerschaum/utils/daemon/FileDescriptorInterceptor.py,sha256=1cn5nQYLImL-BHXlLoxN_TadgN7XmGRLl1b7xecYMPc,4544
|
217
218
|
meerschaum/utils/daemon/RotatingFile.py,sha256=LuaHPs-c4GaMc3VkMjvL6WJ5r7wmMUOm9ZLyk4OHAlg,23658
|
218
219
|
meerschaum/utils/daemon/__init__.py,sha256=I_ki51yml4vsh9OoH7BWTaz9SnATD8qM0i0fN3aUMn0,8375
|
@@ -224,16 +225,16 @@ meerschaum/utils/formatting/_jobs.py,sha256=s1lVcdMkzNj5Bqw-GsUhcguUFtahi5nQ-kg1
|
|
224
225
|
meerschaum/utils/formatting/_pipes.py,sha256=wy0iWJFsFl3X2VloaiA_gp9Yx9w6tD3FQZvAQAqef4A,19492
|
225
226
|
meerschaum/utils/formatting/_pprint.py,sha256=tgrT3FyGyu5CWJYysqK3kX1xdZYorlbOk9fcU_vt9Qg,3096
|
226
227
|
meerschaum/utils/formatting/_shell.py,sha256=ox75O7VHDAiwzSvdMSJZhXLadvAqYJVeihU6WeZ2Ogc,3677
|
227
|
-
meerschaum/utils/packages/__init__.py,sha256=
|
228
|
+
meerschaum/utils/packages/__init__.py,sha256=Lg_RavlKui150iDmqFy900coiWB4zx4KTXErq-kqs48,62636
|
228
229
|
meerschaum/utils/packages/_packages.py,sha256=kWoo1KWvpQgR3rY_rpHzvGIh14BBFH92Erw5UtW7yX0,7918
|
229
230
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
230
231
|
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.
|
232
|
+
meerschaum/utils/venv/__init__.py,sha256=4vFAu85lQ5GYEVhc6e_KhFmrks4t_Ma6ysmtraccYbs,24187
|
233
|
+
meerschaum-2.2.2rc4.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
234
|
+
meerschaum-2.2.2rc4.dist-info/METADATA,sha256=Lca_cfI6M5ToHKZKKRjh7TXCnnnnFZovIy2JFY7N-UE,23988
|
235
|
+
meerschaum-2.2.2rc4.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
236
|
+
meerschaum-2.2.2rc4.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
237
|
+
meerschaum-2.2.2rc4.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
238
|
+
meerschaum-2.2.2rc4.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
239
|
+
meerschaum-2.2.2rc4.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
240
|
+
meerschaum-2.2.2rc4.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|