meerschaum 2.7.9__py3-none-any.whl → 2.7.10__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 +1 -1
- meerschaum/_internal/term/__init__.py +1 -1
- meerschaum/actions/api.py +36 -10
- meerschaum/api/routes/_webterm.py +2 -2
- meerschaum/config/_version.py +1 -1
- meerschaum/config/static/__init__.py +1 -1
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/METADATA +1 -1
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/RECORD +14 -14
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/LICENSE +0 -0
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/NOTICE +0 -0
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/WHEEL +0 -0
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/entry_points.txt +0 -0
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/top_level.txt +0 -0
- {meerschaum-2.7.9.dist-info → meerschaum-2.7.10.dist-info}/zip-safe +0 -0
meerschaum/actions/api.py
CHANGED
@@ -140,16 +140,28 @@ def _api_start(
|
|
140
140
|
If provided, serve over HTTPS with this certfile.
|
141
141
|
Requires `--keyfile`.
|
142
142
|
"""
|
143
|
+
import json
|
144
|
+
import sys
|
145
|
+
import shutil
|
146
|
+
import pathlib
|
147
|
+
from copy import deepcopy
|
148
|
+
|
143
149
|
from meerschaum.utils.packages import (
|
144
|
-
attempt_import,
|
150
|
+
attempt_import,
|
151
|
+
venv_contains_package,
|
152
|
+
pip_install,
|
153
|
+
run_python_package,
|
145
154
|
)
|
146
155
|
from meerschaum.utils.misc import is_int, filter_keywords
|
156
|
+
from meerschaum.utils.dtypes import json_serialize_value
|
147
157
|
from meerschaum.utils.formatting import pprint, ANSI, _init
|
148
158
|
from meerschaum.utils.debug import dprint
|
149
159
|
from meerschaum.utils.warnings import error, warn
|
150
160
|
from meerschaum.config import get_config, _config
|
151
161
|
from meerschaum.config._paths import (
|
152
|
-
API_UVICORN_RESOURCES_PATH,
|
162
|
+
API_UVICORN_RESOURCES_PATH,
|
163
|
+
API_UVICORN_CONFIG_PATH,
|
164
|
+
CACHE_RESOURCES_PATH,
|
153
165
|
PACKAGE_ROOT_PATH,
|
154
166
|
)
|
155
167
|
from meerschaum.config._patch import apply_patch_to_config
|
@@ -157,8 +169,6 @@ def _api_start(
|
|
157
169
|
from meerschaum.config.static import STATIC_CONFIG, SERVER_ID
|
158
170
|
from meerschaum.connectors.parse import parse_instance_keys
|
159
171
|
from meerschaum.utils.pool import get_pool
|
160
|
-
import shutil
|
161
|
-
from copy import deepcopy
|
162
172
|
|
163
173
|
if action is None:
|
164
174
|
action = []
|
@@ -256,7 +266,6 @@ def _api_start(
|
|
256
266
|
custom_keys = ['mrsm_instance', 'no_dash', 'no_auth', 'private', 'debug', 'production']
|
257
267
|
|
258
268
|
### write config to a temporary file to communicate with uvicorn threads
|
259
|
-
import json, sys
|
260
269
|
try:
|
261
270
|
if uvicorn_config_path.exists():
|
262
271
|
os.remove(uvicorn_config_path)
|
@@ -275,12 +284,25 @@ def _api_start(
|
|
275
284
|
MRSM_RUNTIME = STATIC_CONFIG['environment']['runtime']
|
276
285
|
MRSM_PATCH = STATIC_CONFIG['environment']['patch']
|
277
286
|
MRSM_ROOT_DIR = STATIC_CONFIG['environment']['root']
|
278
|
-
env_dict = {
|
287
|
+
env_dict = {}
|
288
|
+
env_dict.update({
|
279
289
|
MRSM_SERVER_ID: SERVER_ID,
|
280
290
|
MRSM_RUNTIME: 'api',
|
281
291
|
MRSM_CONFIG: json.loads(os.environ.get(MRSM_CONFIG, '{}')),
|
282
292
|
'FORWARDED_ALLOW_IPS': forwarded_allow_ips,
|
283
|
-
|
293
|
+
'TERM': os.environ.get('TERM', 'screen-256color'),
|
294
|
+
'SHELL': os.environ.get('SHELL', '/bin/bash'),
|
295
|
+
'LANG': os.environ.get('LANG', 'C.UTF-8'),
|
296
|
+
'HOME': os.environ.get('HOME', pathlib.Path.home().as_posix()),
|
297
|
+
'PATH': os.environ.get(
|
298
|
+
'PATH',
|
299
|
+
(
|
300
|
+
'/usr/local/bin:/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:'
|
301
|
+
f'{pathlib.Path.home().as_posix().rstrip("/")}/.local/bin'
|
302
|
+
)
|
303
|
+
),
|
304
|
+
'HOSTNAME': os.environ.get('HOSTNAME', 'api'),
|
305
|
+
})
|
284
306
|
for env_var in get_env_vars():
|
285
307
|
if env_var in env_dict:
|
286
308
|
continue
|
@@ -294,10 +316,10 @@ def _api_start(
|
|
294
316
|
env_text = ''
|
295
317
|
for key, val in env_dict.items():
|
296
318
|
value = str(
|
297
|
-
json.dumps(val)
|
319
|
+
json.dumps(val, default=json_serialize_value)
|
298
320
|
if isinstance(val, (dict))
|
299
321
|
else val
|
300
|
-
).replace('\\', '\\\\')
|
322
|
+
).replace('\\', '\\\\').replace("'", "'\\''")
|
301
323
|
env_text += f"{key}='{value}'\n"
|
302
324
|
with open(uvicorn_env_path, 'w+', encoding='utf-8') as f:
|
303
325
|
if debug:
|
@@ -329,7 +351,11 @@ def _api_start(
|
|
329
351
|
for key, val in env_dict.items():
|
330
352
|
gunicorn_args += [
|
331
353
|
'--env', key + "="
|
332
|
-
+ (
|
354
|
+
+ (
|
355
|
+
json.dumps(val, default=json_serialize_value)
|
356
|
+
if isinstance(val, (dict, list))
|
357
|
+
else val
|
358
|
+
)
|
333
359
|
]
|
334
360
|
if workers is not None:
|
335
361
|
gunicorn_args += ['--workers', str(workers)]
|
@@ -76,7 +76,7 @@ async def get_webterm(
|
|
76
76
|
text = response.text
|
77
77
|
if request.url.scheme == 'https':
|
78
78
|
text = text.replace('ws://', 'wss://')
|
79
|
-
text = text.replace(f'
|
79
|
+
text = text.replace(f'websocket/{username}', f'websocket/{session_id}')
|
80
80
|
return HTMLResponse(
|
81
81
|
content=text,
|
82
82
|
status_code=response.status_code,
|
@@ -100,7 +100,7 @@ async def webterm_websocket(websocket: WebSocket, session_id: str):
|
|
100
100
|
|
101
101
|
username = get_username_from_session(session_id)
|
102
102
|
|
103
|
-
ws_url = f"ws://localhost:8765/
|
103
|
+
ws_url = f"ws://localhost:8765/websocket/{username or session_id}"
|
104
104
|
async with websockets.connect(ws_url) as ws:
|
105
105
|
async def forward_messages():
|
106
106
|
try:
|
meerschaum/config/_version.py
CHANGED
@@ -33,7 +33,7 @@ STATIC_CONFIG: Dict[str, Any] = {
|
|
33
33
|
'websocket': '/ws',
|
34
34
|
'dash': '/dash',
|
35
35
|
'webterm': r'/webterm/{session_id}',
|
36
|
-
'webterm_websocket': r'/
|
36
|
+
'webterm_websocket': r'/websocket/{session_id}',
|
37
37
|
'info': '/info',
|
38
38
|
'healthcheck': '/healthcheck',
|
39
39
|
},
|
@@ -18,11 +18,11 @@ 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=
|
21
|
+
meerschaum/_internal/term/TermPageHandler.py,sha256=C43gVMBWvC74eS4MDYKPfPvyCS0TpdzfLB_4hjFgCDM,2420
|
22
|
+
meerschaum/_internal/term/__init__.py,sha256=oRjQXBvyAIEjf-k_neb614lYOuTPEKtimDn3aKgAgos,2161
|
23
23
|
meerschaum/_internal/term/tools.py,sha256=7Hb6W9G1nHZHAhzuJjatuP1IK9XZTgUXDRPk7H9Tkpg,1609
|
24
24
|
meerschaum/actions/__init__.py,sha256=MHPs8aRBhbZQXnqd_6tVtisTrNCgPAPgnNcXYbn0zP8,11640
|
25
|
-
meerschaum/actions/api.py,sha256=
|
25
|
+
meerschaum/actions/api.py,sha256=RsQKtTHcxfoXw6BIpz36unUSFo2m9huATGBQUhQw2TU,13392
|
26
26
|
meerschaum/actions/attach.py,sha256=UV19d9W_2WYcrf7BRz7k3mriDoX1V4rA4AKvbLdor0o,3106
|
27
27
|
meerschaum/actions/bootstrap.py,sha256=08o3PchrJ_Rv8IP30ZBH1Ovk-b8qFBGPedCjF7jRzSo,18084
|
28
28
|
meerschaum/actions/clear.py,sha256=v_xHn7-Pu7iwFNJ07q9eJt2hqPV7OwNZHUYa9dvixs4,4976
|
@@ -129,7 +129,7 @@ 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=S7RXV8vvaTFbmVeehh4UhyXb4NCgcsyOQzoAG7jryH4,4129
|
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
|
@@ -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=Zd83fipDchBm-SAFq7mGqf_u06tqRCglJ5vwS5qF1ZQ,72
|
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=pl2I2zj24xikCLwQox5MnFCUtI00Duje6a-1c_cuc8c,5393
|
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
|
@@ -253,11 +253,11 @@ meerschaum/utils/packages/_packages.py,sha256=_xODMSz1FAcx3XHrn9RXUhGJ1zg-QKsVu9
|
|
253
253
|
meerschaum/utils/packages/lazy_loader.py,sha256=VHnph3VozH29R4JnSSBfwtA5WKZYZQFT_GeQSShCnuc,2540
|
254
254
|
meerschaum/utils/venv/_Venv.py,sha256=gc1TCeAj-kTZbQFAT9xl1bi4HXFV5ApT0dPOJfxwr78,3748
|
255
255
|
meerschaum/utils/venv/__init__.py,sha256=-Mpfvz1mJ41TzVL0xKJCKOsU3nFi6XabbNiN7UbdVXs,27067
|
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.
|
256
|
+
meerschaum-2.7.10.dist-info/LICENSE,sha256=jG2zQEdRNt88EgHUWPpXVWmOrOduUQRx7MnYV9YIPaw,11359
|
257
|
+
meerschaum-2.7.10.dist-info/METADATA,sha256=rv1XMPgLXtrBaNTQBv-6zF_mxGdVcF5YnVacC2UGnqM,24490
|
258
|
+
meerschaum-2.7.10.dist-info/NOTICE,sha256=OTA9Fcthjf5BRvWDDIcBC_xfLpeDV-RPZh3M-HQBRtQ,114
|
259
|
+
meerschaum-2.7.10.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
|
260
|
+
meerschaum-2.7.10.dist-info/entry_points.txt,sha256=5YBVzibw-0rNA_1VjB16z5GABsOGf-CDhW4yqH8C7Gc,88
|
261
|
+
meerschaum-2.7.10.dist-info/top_level.txt,sha256=bNoSiDj0El6buocix-FRoAtJOeq1qOF5rRm2u9i7Q6A,11
|
262
|
+
meerschaum-2.7.10.dist-info/zip-safe,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
|
263
|
+
meerschaum-2.7.10.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|