meerschaum 2.2.2rc2__py3-none-any.whl → 2.2.2rc3__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 +9 -1
- 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/packages/__init__.py +98 -20
- meerschaum/utils/packages/_packages.py +1 -1
- meerschaum/utils/process.py +12 -1
- meerschaum/utils/venv/__init__.py +25 -1
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.dist-info}/METADATA +4 -4
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.dist-info}/RECORD +29 -28
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.dist-info}/WHEEL +1 -1
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.dist-info}/LICENSE +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.dist-info}/NOTICE +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.dist-info}/top_level.txt +0 -0
- {meerschaum-2.2.2rc2.dist-info → meerschaum-2.2.2rc3.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,
|
@@ -843,7 +859,7 @@ def pip_install(
|
|
843
859
|
|
844
860
|
import sys
|
845
861
|
if not have_pip and not use_uv_pip:
|
846
|
-
if not get_pip(venv=venv, debug=debug):
|
862
|
+
if not get_pip(venv=venv, color=color, debug=debug):
|
847
863
|
import sys
|
848
864
|
minor = sys.version_info.minor
|
849
865
|
print(
|
@@ -891,7 +907,7 @@ def pip_install(
|
|
891
907
|
):
|
892
908
|
warn(
|
893
909
|
(
|
894
|
-
"Failed to install `setuptools` and `
|
910
|
+
"Failed to install `setuptools`, `wheel`, and `uv` for virtual "
|
895
911
|
+ f"environment '{venv}'."
|
896
912
|
),
|
897
913
|
color = False,
|
@@ -916,7 +932,7 @@ def pip_install(
|
|
916
932
|
if '--disable-pip-version-check' not in _args and not use_uv_pip:
|
917
933
|
_args.append('--disable-pip-version-check')
|
918
934
|
|
919
|
-
if '--target' not in _args and '-t' not in _args and not _uninstall:
|
935
|
+
if '--target' not in _args and '-t' not in _args and not (not use_uv_pip and _uninstall):
|
920
936
|
if venv is not None:
|
921
937
|
_args += ['--target', venv_target_path(venv, debug=debug)]
|
922
938
|
elif (
|
@@ -927,8 +943,6 @@ def pip_install(
|
|
927
943
|
and not use_uv_pip
|
928
944
|
):
|
929
945
|
_args += ['--user']
|
930
|
-
if '--break-system-packages' not in _args and not _uninstall:
|
931
|
-
_args.append('--break-system-packages')
|
932
946
|
|
933
947
|
if debug:
|
934
948
|
if '-v' not in _args or '-vv' not in _args or '-vvv' not in _args:
|
@@ -948,10 +962,10 @@ def pip_install(
|
|
948
962
|
if not silent:
|
949
963
|
print(msg)
|
950
964
|
|
951
|
-
if _uninstall:
|
965
|
+
if _uninstall and not _from_completely_uninstall and not use_uv_pip:
|
952
966
|
for install_name in _packages:
|
953
967
|
_install_no_version = get_install_no_version(install_name)
|
954
|
-
if _install_no_version in ('pip', 'wheel'):
|
968
|
+
if _install_no_version in ('pip', 'wheel', 'uv'):
|
955
969
|
continue
|
956
970
|
if not completely_uninstall_package(
|
957
971
|
_install_no_version,
|
@@ -961,16 +975,17 @@ def pip_install(
|
|
961
975
|
f"Failed to clean up package '{_install_no_version}'.",
|
962
976
|
)
|
963
977
|
|
978
|
+
### NOTE: Only append the `--prerelease=allow` flag if we explicitly depend on a prerelease.
|
964
979
|
if use_uv_pip:
|
965
980
|
_args.insert(0, 'pip')
|
966
|
-
if not _uninstall:
|
981
|
+
if not _uninstall and get_prerelease_dependencies(_packages):
|
967
982
|
_args.append('--prerelease=allow')
|
968
983
|
|
969
984
|
rc = run_python_package(
|
970
985
|
('pip' if not use_uv_pip else 'uv'),
|
971
986
|
_args + _packages,
|
972
987
|
venv = None,
|
973
|
-
env = _get_pip_os_env(),
|
988
|
+
env = _get_pip_os_env(color=color),
|
974
989
|
debug = debug,
|
975
990
|
)
|
976
991
|
if debug:
|
@@ -988,6 +1003,33 @@ def pip_install(
|
|
988
1003
|
return success
|
989
1004
|
|
990
1005
|
|
1006
|
+
def get_prerelease_dependencies(_packages: Optional[List[str]] = None):
|
1007
|
+
"""
|
1008
|
+
Return a list of explicitly prerelease dependencies from a list of packages.
|
1009
|
+
"""
|
1010
|
+
if _packages is None:
|
1011
|
+
_packages = list(all_packages.keys())
|
1012
|
+
prelrease_strings = ['dev', 'rc', 'a']
|
1013
|
+
prerelease_packages = []
|
1014
|
+
for install_name in _packages:
|
1015
|
+
_install_no_version = get_install_no_version(install_name)
|
1016
|
+
import_name = _install_to_import_name(install_name)
|
1017
|
+
install_with_version = _import_to_install_name(import_name)
|
1018
|
+
version_only = (
|
1019
|
+
install_with_version.lower().replace(_install_no_version.lower(), '')
|
1020
|
+
.split(']')[-1]
|
1021
|
+
)
|
1022
|
+
|
1023
|
+
is_prerelease = False
|
1024
|
+
for prelrease_string in prelrease_strings:
|
1025
|
+
if prelrease_string in version_only:
|
1026
|
+
is_prerelease = True
|
1027
|
+
|
1028
|
+
if is_prerelease:
|
1029
|
+
prerelease_packages.append(install_name)
|
1030
|
+
return prerelease_packages
|
1031
|
+
|
1032
|
+
|
991
1033
|
def completely_uninstall_package(
|
992
1034
|
install_name: str,
|
993
1035
|
venv: str = 'mrsm',
|
@@ -1014,7 +1056,7 @@ def completely_uninstall_package(
|
|
1014
1056
|
continue
|
1015
1057
|
installed_versions.append(file_name)
|
1016
1058
|
|
1017
|
-
max_attempts = len(installed_versions)
|
1059
|
+
max_attempts = len(installed_versions)
|
1018
1060
|
while attempts < max_attempts:
|
1019
1061
|
if not venv_contains_package(
|
1020
1062
|
_install_to_import_name(_install_no_version),
|
@@ -1023,8 +1065,10 @@ def completely_uninstall_package(
|
|
1023
1065
|
return True
|
1024
1066
|
if not pip_uninstall(
|
1025
1067
|
_install_no_version,
|
1026
|
-
venv=venv,
|
1027
|
-
silent=(not debug),
|
1068
|
+
venv = venv,
|
1069
|
+
silent = (not debug),
|
1070
|
+
_from_completely_uninstall = True,
|
1071
|
+
debug = debug,
|
1028
1072
|
):
|
1029
1073
|
return False
|
1030
1074
|
attempts += 1
|
@@ -1149,9 +1193,10 @@ def attempt_import(
|
|
1149
1193
|
check_update: bool = False,
|
1150
1194
|
check_pypi: bool = False,
|
1151
1195
|
check_is_installed: bool = True,
|
1196
|
+
allow_outside_venv: bool = True,
|
1152
1197
|
color: bool = True,
|
1153
1198
|
debug: bool = False
|
1154
|
-
) ->
|
1199
|
+
) -> Any:
|
1155
1200
|
"""
|
1156
1201
|
Raise a warning if packages are not installed; otherwise import and return modules.
|
1157
1202
|
If `lazy` is `True`, return lazy-imported modules.
|
@@ -1194,6 +1239,15 @@ def attempt_import(
|
|
1194
1239
|
check_is_installed: bool, default True
|
1195
1240
|
If `True`, check if the package is contained in the virtual environment.
|
1196
1241
|
|
1242
|
+
allow_outside_venv: bool, default True
|
1243
|
+
If `True`, search outside of the specified virtual environment
|
1244
|
+
if the package cannot be found.
|
1245
|
+
Setting to `False` will reinstall the package into a virtual environment, even if it
|
1246
|
+
is installed outside.
|
1247
|
+
|
1248
|
+
color: bool, default True
|
1249
|
+
If `False`, do not print ANSI colors.
|
1250
|
+
|
1197
1251
|
Returns
|
1198
1252
|
-------
|
1199
1253
|
The specified modules. If they're not available and `install` is `True`, it will first
|
@@ -1275,6 +1329,7 @@ def attempt_import(
|
|
1275
1329
|
name,
|
1276
1330
|
venv = venv,
|
1277
1331
|
split = split,
|
1332
|
+
allow_outside_venv = allow_outside_venv,
|
1278
1333
|
debug = debug,
|
1279
1334
|
)
|
1280
1335
|
_is_installed_first_check[name] = package_is_installed
|
@@ -1420,7 +1475,9 @@ def import_rich(
|
|
1420
1475
|
'pygments', lazy=False,
|
1421
1476
|
)
|
1422
1477
|
rich = attempt_import(
|
1423
|
-
'rich', lazy=lazy,
|
1478
|
+
'rich', lazy=lazy,
|
1479
|
+
**kw
|
1480
|
+
)
|
1424
1481
|
return rich
|
1425
1482
|
|
1426
1483
|
|
@@ -1654,10 +1711,26 @@ def is_installed(
|
|
1654
1711
|
import_name: str,
|
1655
1712
|
venv: Optional[str] = 'mrsm',
|
1656
1713
|
split: bool = True,
|
1714
|
+
allow_outside_venv: bool = True,
|
1657
1715
|
debug: bool = False,
|
1658
1716
|
) -> bool:
|
1659
1717
|
"""
|
1660
1718
|
Check whether a package is installed.
|
1719
|
+
|
1720
|
+
Parameters
|
1721
|
+
----------
|
1722
|
+
import_name: str
|
1723
|
+
The import name of the module.
|
1724
|
+
|
1725
|
+
venv: Optional[str], default 'mrsm'
|
1726
|
+
The venv in which to search for the module.
|
1727
|
+
|
1728
|
+
split: bool, default True
|
1729
|
+
If `True`, split on periods to determine the root module name.
|
1730
|
+
|
1731
|
+
allow_outside_venv: bool, default True
|
1732
|
+
If `True`, search outside of the specified virtual environment
|
1733
|
+
if the package cannot be found.
|
1661
1734
|
"""
|
1662
1735
|
if debug:
|
1663
1736
|
from meerschaum.utils.debug import dprint
|
@@ -1668,7 +1741,11 @@ def is_installed(
|
|
1668
1741
|
spec_path = pathlib.Path(
|
1669
1742
|
get_module_path(root_name, venv=venv, debug=debug)
|
1670
1743
|
or
|
1671
|
-
|
1744
|
+
(
|
1745
|
+
importlib.util.find_spec(root_name).origin
|
1746
|
+
if venv is not None and allow_outside_venv
|
1747
|
+
else None
|
1748
|
+
)
|
1672
1749
|
)
|
1673
1750
|
except (ModuleNotFoundError, ValueError, AttributeError, TypeError) as e:
|
1674
1751
|
spec_path = None
|
@@ -1762,7 +1839,7 @@ def _monkey_patch_get_distribution(_dist: str, _version: str) -> None:
|
|
1762
1839
|
pkg_resources.get_distribution = _get_distribution
|
1763
1840
|
|
1764
1841
|
|
1765
|
-
def _get_pip_os_env():
|
1842
|
+
def _get_pip_os_env(color: bool = True):
|
1766
1843
|
"""
|
1767
1844
|
Return the environment variables context in which `pip` should be run.
|
1768
1845
|
See PEP 668 for why we are overriding the environment.
|
@@ -1771,5 +1848,6 @@ def _get_pip_os_env():
|
|
1771
1848
|
pip_os_env = os.environ.copy()
|
1772
1849
|
pip_os_env.update({
|
1773
1850
|
'PIP_BREAK_SYSTEM_PACKAGES': 'true',
|
1851
|
+
('FORCE_COLOR' if color else 'NO_COLOR'): '1',
|
1774
1852
|
})
|
1775
1853
|
return pip_os_env
|
@@ -119,7 +119,7 @@ packages: Dict[str, Dict[str, str]] = {
|
|
119
119
|
},
|
120
120
|
}
|
121
121
|
packages['sql'] = {
|
122
|
-
'numpy' : 'numpy
|
122
|
+
'numpy' : 'numpy<2.0.0',
|
123
123
|
'pandas' : 'pandas[parquet]>=2.0.1',
|
124
124
|
'pyarrow' : 'pyarrow>=16.1.0',
|
125
125
|
'dask' : 'dask[dataframe]>=2024.5.1',
|
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
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.1
|
2
2
|
Name: meerschaum
|
3
|
-
Version: 2.2.
|
3
|
+
Version: 2.2.2rc3
|
4
4
|
Summary: Sync Time-Series Pipes with Meerschaum
|
5
5
|
Home-page: https://meerschaum.io
|
6
6
|
Author: Bennett Meares
|
@@ -40,7 +40,7 @@ Requires-Dist: fastapi >=0.111.0 ; extra == 'api'
|
|
40
40
|
Requires-Dist: fastapi-login >=1.7.2 ; extra == 'api'
|
41
41
|
Requires-Dist: python-multipart >=0.0.9 ; extra == 'api'
|
42
42
|
Requires-Dist: httpx >=0.24.1 ; extra == 'api'
|
43
|
-
Requires-Dist: numpy
|
43
|
+
Requires-Dist: numpy <2.0.0 ; extra == 'api'
|
44
44
|
Requires-Dist: pandas[parquet] >=2.0.1 ; extra == 'api'
|
45
45
|
Requires-Dist: pyarrow >=16.1.0 ; extra == 'api'
|
46
46
|
Requires-Dist: dask[dataframe] >=2024.5.1 ; extra == 'api'
|
@@ -225,7 +225,7 @@ Requires-Dist: duckdb-engine >=0.13.0 ; extra == 'full'
|
|
225
225
|
Requires-Dist: toga >=0.3.0-dev29 ; extra == 'full'
|
226
226
|
Requires-Dist: pywebview >=3.6.3 ; extra == 'full'
|
227
227
|
Requires-Dist: pycparser >=2.21.0 ; extra == 'full'
|
228
|
-
Requires-Dist: numpy
|
228
|
+
Requires-Dist: numpy <2.0.0 ; extra == 'full'
|
229
229
|
Requires-Dist: pandas[parquet] >=2.0.1 ; extra == 'full'
|
230
230
|
Requires-Dist: pyarrow >=16.1.0 ; extra == 'full'
|
231
231
|
Requires-Dist: dask[dataframe] >=2024.5.1 ; extra == 'full'
|
@@ -259,7 +259,7 @@ Provides-Extra: minimal
|
|
259
259
|
Provides-Extra: required
|
260
260
|
Provides-Extra: setup
|
261
261
|
Provides-Extra: sql
|
262
|
-
Requires-Dist: numpy
|
262
|
+
Requires-Dist: numpy <2.0.0 ; extra == 'sql'
|
263
263
|
Requires-Dist: pandas[parquet] >=2.0.1 ; extra == 'sql'
|
264
264
|
Requires-Dist: pyarrow >=16.1.0 ; extra == 'sql'
|
265
265
|
Requires-Dist: dask[dataframe] >=2024.5.1 ; extra == 'sql'
|
@@ -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=eOixvIZh99AAHjLO-ULHmovq056747EyCB8twZMJMCI,6657
|
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=gRIyQLaHRaMJPteLYj_KAyg_LA76Yok9g8RD3sOSaRw,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,7 +196,7 @@ 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
|
@@ -204,7 +205,7 @@ meerschaum/utils/interactive.py,sha256=t-6jWozXSqL7lYGDHuwiOjTgr-UKhdcg61q_eR5mi
|
|
204
205
|
meerschaum/utils/misc.py,sha256=H26hLtCP8QHwXoHlvkxjWu6cPTwudDbbsbRkGw6ultg,43296
|
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/_packages.py,sha256=
|
228
|
+
meerschaum/utils/packages/__init__.py,sha256=CcZmjGqaBnUZUBEaZH4lsa3z_9y4JRhMKNK1D-wJX6U,62505
|
229
|
+
meerschaum/utils/packages/_packages.py,sha256=7iIPrXj7vQPR3NH34LNHqkZzWGHo4jHFA4OtQt-jQuc,7916
|
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.2rc3.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
234
|
+
meerschaum-2.2.2rc3.dist-info/METADATA,sha256=9pxxdc0zU-JR59POu0OC2fzBOVhFeuFMh7wp-LiWfnA,23982
|
235
|
+
meerschaum-2.2.2rc3.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
236
|
+
meerschaum-2.2.2rc3.dist-info/WHEEL,sha256=cpQTJ5IWu9CdaPViMhC9YzF8gZuS5-vlfoFihTBC86A,91
|
237
|
+
meerschaum-2.2.2rc3.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
238
|
+
meerschaum-2.2.2rc3.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
239
|
+
meerschaum-2.2.2rc3.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
240
|
+
meerschaum-2.2.2rc3.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|