matlab-proxy 0.25.0__py3-none-any.whl → 0.26.0__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.
Potentially problematic release.
This version of matlab-proxy might be problematic. Click here for more details.
- matlab_proxy/app.py +66 -12
- matlab_proxy/constants.py +1 -0
- matlab_proxy/gui/index.html +1 -1
- matlab_proxy/gui/static/js/{index.qK3VCGVb.js → index.CZgGkMCD.js} +15 -15
- matlab_proxy/settings.py +22 -1
- matlab_proxy/util/cookie_jar.py +72 -0
- matlab_proxy/util/mwi/environment_variables.py +10 -0
- {matlab_proxy-0.25.0.dist-info → matlab_proxy-0.26.0.dist-info}/METADATA +4 -1
- {matlab_proxy-0.25.0.dist-info → matlab_proxy-0.26.0.dist-info}/RECORD +24 -21
- matlab_proxy_manager/lib/api.py +156 -114
- matlab_proxy_manager/storage/server.py +5 -2
- matlab_proxy_manager/utils/constants.py +2 -1
- matlab_proxy_manager/utils/environment_variables.py +6 -1
- matlab_proxy_manager/utils/exceptions.py +45 -0
- matlab_proxy_manager/utils/helpers.py +2 -2
- matlab_proxy_manager/utils/logger.py +4 -1
- matlab_proxy_manager/web/app.py +71 -19
- tests/unit/test_app.py +116 -17
- tests/unit/test_settings.py +26 -6
- tests/unit/util/test_cookie_jar.py +252 -0
- {matlab_proxy-0.25.0.dist-info → matlab_proxy-0.26.0.dist-info}/LICENSE.md +0 -0
- {matlab_proxy-0.25.0.dist-info → matlab_proxy-0.26.0.dist-info}/WHEEL +0 -0
- {matlab_proxy-0.25.0.dist-info → matlab_proxy-0.26.0.dist-info}/entry_points.txt +0 -0
- {matlab_proxy-0.25.0.dist-info → matlab_proxy-0.26.0.dist-info}/top_level.txt +0 -0
matlab_proxy/settings.py
CHANGED
|
@@ -19,6 +19,7 @@ import matlab_proxy
|
|
|
19
19
|
from matlab_proxy import constants
|
|
20
20
|
from matlab_proxy.constants import MWI_AUTH_TOKEN_NAME_FOR_HTTP
|
|
21
21
|
from matlab_proxy.util import mwi, system
|
|
22
|
+
from matlab_proxy.util.cookie_jar import HttpOnlyCookieJar
|
|
22
23
|
from matlab_proxy.util.mwi import environment_variables as mwi_env
|
|
23
24
|
from matlab_proxy.util.mwi import token_auth
|
|
24
25
|
from matlab_proxy.util.mwi.exceptions import (
|
|
@@ -159,7 +160,7 @@ def get_mwi_config_folder(dev=False):
|
|
|
159
160
|
config_folder_path = config_folder_path / "hosts" / hostname
|
|
160
161
|
|
|
161
162
|
logger.debug(
|
|
162
|
-
f"{'Hostname could not be determined. ' if not hostname else ''
|
|
163
|
+
f"{'Hostname could not be determined. ' if not hostname else ''}Using the folder: {config_folder_path} for storing all matlab-proxy related session information"
|
|
163
164
|
)
|
|
164
165
|
|
|
165
166
|
return config_folder_path
|
|
@@ -220,6 +221,7 @@ def get_dev_settings(config):
|
|
|
220
221
|
"is_xvfb_available": False,
|
|
221
222
|
"is_windowmanager_available": False,
|
|
222
223
|
"mwi_idle_timeout": None,
|
|
224
|
+
"cookie_jar": _get_cookie_jar(),
|
|
223
225
|
}
|
|
224
226
|
|
|
225
227
|
|
|
@@ -321,6 +323,8 @@ def get_server_settings(config_name):
|
|
|
321
323
|
else f"{short_desc} - MATLAB Integration"
|
|
322
324
|
)
|
|
323
325
|
|
|
326
|
+
cookie_jar = _get_cookie_jar()
|
|
327
|
+
|
|
324
328
|
return {
|
|
325
329
|
"create_xvfb_cmd": create_xvfb_cmd,
|
|
326
330
|
"base_url": mwi.validators.validate_base_url(
|
|
@@ -359,6 +363,7 @@ def get_server_settings(config_name):
|
|
|
359
363
|
"mwi_idle_timeout": mwi.validators.validate_idle_timeout(
|
|
360
364
|
os.getenv(mwi_env.get_env_name_shutdown_on_idle_timeout())
|
|
361
365
|
),
|
|
366
|
+
"cookie_jar": cookie_jar,
|
|
362
367
|
}
|
|
363
368
|
|
|
364
369
|
|
|
@@ -700,3 +705,19 @@ def _get_matlab_cmd(matlab_executable_path, code_to_execute, nlm_conn_str):
|
|
|
700
705
|
"-r",
|
|
701
706
|
code_to_execute,
|
|
702
707
|
]
|
|
708
|
+
|
|
709
|
+
|
|
710
|
+
def _get_cookie_jar():
|
|
711
|
+
"""Returns an instance of HttpOnly cookie jar if MWI_USE_COOKIE_CACHE environment variable is set to True
|
|
712
|
+
|
|
713
|
+
Returns:
|
|
714
|
+
HttpOnlyCookieJar: An instance of HttpOnly cookie jar if MWI_USE_COOKIE_CACHE environment variable is set to True, otherwise None.
|
|
715
|
+
"""
|
|
716
|
+
cookie_jar = None
|
|
717
|
+
if mwi_env.Experimental.should_use_cookie_cache():
|
|
718
|
+
logger.info(
|
|
719
|
+
f"Environment variable {mwi_env.Experimental.get_env_name_use_cookie_cache()} is set. matlab-proxy server will cache cookies from MATLAB"
|
|
720
|
+
)
|
|
721
|
+
cookie_jar = HttpOnlyCookieJar()
|
|
722
|
+
|
|
723
|
+
return cookie_jar
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# Copyright 2025 The MathWorks, Inc.
|
|
2
|
+
|
|
3
|
+
from http.cookies import Morsel, SimpleCookie
|
|
4
|
+
from typing import Dict
|
|
5
|
+
|
|
6
|
+
from matlab_proxy.util import mwi
|
|
7
|
+
|
|
8
|
+
logger = mwi.logger.get()
|
|
9
|
+
|
|
10
|
+
|
|
11
|
+
# For more information about HttpOnly attribute
|
|
12
|
+
# of a cookie, check: https://developer.mozilla.org/en-US/docs/Web/HTTP/Reference/Headers/Set-Cookie#httponly
|
|
13
|
+
class HttpOnlyCookieJar:
|
|
14
|
+
"""
|
|
15
|
+
A lightweight, HttpOnly, in-memory cookie store.
|
|
16
|
+
|
|
17
|
+
Its sole responsibility is to parse and store 'Set-Cookie' headers as Morsel objects and
|
|
18
|
+
store them in the cookie-jar only if they are marked as HttpOnly.
|
|
19
|
+
"""
|
|
20
|
+
|
|
21
|
+
def __init__(self):
|
|
22
|
+
self._cookie_jar: Dict[str, Morsel] = {}
|
|
23
|
+
logger.debug("Cookie Jar Initialized")
|
|
24
|
+
|
|
25
|
+
def _get_cookie_name(self, cookie: SimpleCookie) -> str:
|
|
26
|
+
"""
|
|
27
|
+
Returns the name of the cookie.
|
|
28
|
+
"""
|
|
29
|
+
return list(cookie.keys())[0]
|
|
30
|
+
|
|
31
|
+
def update_from_response_headers(self, headers) -> None:
|
|
32
|
+
"""
|
|
33
|
+
Parses 'Set-Cookie' headers from a response and stores the resulting
|
|
34
|
+
cookie objects (Morsels) only if they are HttpOnly cookies.
|
|
35
|
+
"""
|
|
36
|
+
for set_cookie_val in headers.getall("Set-Cookie", []):
|
|
37
|
+
cookie = SimpleCookie()
|
|
38
|
+
cookie.load(set_cookie_val)
|
|
39
|
+
cookie_name = self._get_cookie_name(cookie)
|
|
40
|
+
morsel = cookie[cookie_name]
|
|
41
|
+
|
|
42
|
+
if morsel["httponly"]:
|
|
43
|
+
self._cookie_jar[cookie_name] = morsel
|
|
44
|
+
logger.debug(
|
|
45
|
+
f"Stored cookie object for key '{cookie_name}'. Value: '{cookie[cookie_name]}'"
|
|
46
|
+
)
|
|
47
|
+
|
|
48
|
+
else:
|
|
49
|
+
logger.warning(
|
|
50
|
+
f"Cookie {cookie_name} is not a HttpOnly cookie. Skipping it."
|
|
51
|
+
)
|
|
52
|
+
|
|
53
|
+
def get_cookies(self):
|
|
54
|
+
"""
|
|
55
|
+
Returns a copy of the internal dictionary of stored cookie Morsels.
|
|
56
|
+
"""
|
|
57
|
+
return list(self._cookie_jar.values())
|
|
58
|
+
|
|
59
|
+
def get_dict(self) -> Dict[str, str]:
|
|
60
|
+
"""
|
|
61
|
+
Returns the stored cookies as a simple dictionary of name-to-value strings,
|
|
62
|
+
which is compatible with aiohttp's 'LooseCookies' type.
|
|
63
|
+
"""
|
|
64
|
+
loose_cookies = {
|
|
65
|
+
name: morsel.value for name, morsel in self._cookie_jar.items()
|
|
66
|
+
}
|
|
67
|
+
return loose_cookies
|
|
68
|
+
|
|
69
|
+
def clear(self):
|
|
70
|
+
"""Clears all stored cookies."""
|
|
71
|
+
logger.info("Cookie Jar Cleared")
|
|
72
|
+
self._cookie_jar.clear()
|
|
@@ -198,3 +198,13 @@ class Experimental:
|
|
|
198
198
|
def is_matlab_startup_profiling_enabled():
|
|
199
199
|
"""Returns true if the startup profiling is enabled."""
|
|
200
200
|
return _is_env_set_to_true(Experimental.get_env_name_profile_matlab_startup())
|
|
201
|
+
|
|
202
|
+
@staticmethod
|
|
203
|
+
def get_env_name_use_cookie_cache():
|
|
204
|
+
"""Returns the environment variable name used to enable cookie jar support for matlab-proxy"""
|
|
205
|
+
return "MWI_USE_COOKIE_CACHE"
|
|
206
|
+
|
|
207
|
+
@staticmethod
|
|
208
|
+
def should_use_cookie_cache():
|
|
209
|
+
"""Returns true if the cookie jar support is enabled."""
|
|
210
|
+
return _is_env_set_to_true(Experimental.get_env_name_use_cookie_cache())
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: matlab-proxy
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.26.0
|
|
4
4
|
Summary: Python® package enables you to launch MATLAB® and access it from a web browser.
|
|
5
5
|
Home-page: https://github.com/mathworks/matlab-proxy/
|
|
6
6
|
Author: The MathWorks, Inc.
|
|
@@ -27,6 +27,7 @@ Requires-Dist: requests
|
|
|
27
27
|
Provides-Extra: dev
|
|
28
28
|
Requires-Dist: aiohttp-devtools; extra == "dev"
|
|
29
29
|
Requires-Dist: black; extra == "dev"
|
|
30
|
+
Requires-Dist: ruff; extra == "dev"
|
|
30
31
|
Requires-Dist: pytest; extra == "dev"
|
|
31
32
|
Requires-Dist: pytest-env; extra == "dev"
|
|
32
33
|
Requires-Dist: pytest-cov; extra == "dev"
|
|
@@ -36,6 +37,7 @@ Requires-Dist: pytest-aiohttp; extra == "dev"
|
|
|
36
37
|
Requires-Dist: psutil; extra == "dev"
|
|
37
38
|
Requires-Dist: urllib3; extra == "dev"
|
|
38
39
|
Requires-Dist: pytest-playwright; extra == "dev"
|
|
40
|
+
Requires-Dist: pytest-asyncio==0.24.0; extra == "dev"
|
|
39
41
|
|
|
40
42
|
# MATLAB Proxy
|
|
41
43
|
[](https://github.com/mathworks/matlab-proxy/actions) [](https://pypi.python.org/pypi/matlab-proxy) [](https://codecov.io/gh/mathworks/matlab-proxy) [](https://pepy.tech/project/matlab-proxy)
|
|
@@ -177,6 +179,7 @@ The following options are available in the status panel (some options are only a
|
|
|
177
179
|
| Stop MATLAB | Stop your MATLAB session. Use this option if you want to free up RAM and CPU resources. Available if MATLAB is running or starting.|
|
|
178
180
|
| Sign Out | Sign out of MATLAB session. Use this to stop MATLAB and sign in with an alternative account. Available if using online licensing.|
|
|
179
181
|
| Unset License Server Address | Unset network license manager server address. Use this to stop MATLAB and enter new licensing information. Available if using network license manager.|
|
|
182
|
+
| Shut Down | Stop your MATLAB session and the `matlab-proxy` server.|
|
|
180
183
|
| Feedback | Provide feedback. Opens a new tab to create an issue on GitHub.|
|
|
181
184
|
| Help | Open a help pop-up for a detailed description of the options.|
|
|
182
185
|
|
|
@@ -1,20 +1,20 @@
|
|
|
1
1
|
matlab_proxy/__init__.py,sha256=6cwi8buKCMtw9OeWaOYUHEoqwl5MyJ_s6GxgNuqPuNg,1673
|
|
2
|
-
matlab_proxy/app.py,sha256
|
|
2
|
+
matlab_proxy/app.py,sha256=xMZdQinwZi7C9-Y0oVCHce-QVlz9tzzLgBsaPDuvy1s,37575
|
|
3
3
|
matlab_proxy/app_state.py,sha256=jiPSjLZt4UHRElGaYMHf2o6kJXhliwER61mQZeezX0o,73407
|
|
4
|
-
matlab_proxy/constants.py,sha256=
|
|
4
|
+
matlab_proxy/constants.py,sha256=gYpS3mls1i3cO4eExbqQO-z_h8QIWTkM9h2S_EAMWSU,1257
|
|
5
5
|
matlab_proxy/default_configuration.py,sha256=tBHaEq_bYsX2uC9pPA9mi_8M6o94ij-rxq8mbvcYpFc,1874
|
|
6
6
|
matlab_proxy/devel.py,sha256=nR6XPVBUEdQ-RZGtYvX1YHTp8gj9cuw5Hp8ahasMBc8,14310
|
|
7
|
-
matlab_proxy/settings.py,sha256=
|
|
7
|
+
matlab_proxy/settings.py,sha256=E1o14QnQln10BR15XKiZiXSDezlchAdfT6oA12PJ11Q,29327
|
|
8
8
|
matlab_proxy/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
9
|
matlab_proxy/gui/favicon.ico,sha256=7w7Ki1uQP2Rgwc64dOV4-NrTu97I3WsZw8OvRSoY1A0,130876
|
|
10
|
-
matlab_proxy/gui/index.html,sha256=
|
|
10
|
+
matlab_proxy/gui/index.html,sha256=RxJRnpMXIL8_PYz_PkzbgK_cnXR9IWnYJ4XmwJGKfwY,720
|
|
11
11
|
matlab_proxy/gui/manifest.json,sha256=NwDbrALM5auYyj2bbEf4aGwAUDqNl1FzMFQpPiG2Ty4,286
|
|
12
12
|
matlab_proxy/gui/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
|
|
13
13
|
matlab_proxy/gui/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
14
|
matlab_proxy/gui/static/css/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
15
|
matlab_proxy/gui/static/css/index.BSVLACuY.css,sha256=LzuRvV10Z0pF0ugGSnj5zKJvT4AHwwBbCd-wSH4mHjg,305333
|
|
16
16
|
matlab_proxy/gui/static/js/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
-
matlab_proxy/gui/static/js/index.
|
|
17
|
+
matlab_proxy/gui/static/js/index.CZgGkMCD.js,sha256=_dyS-iqHSRqu323RTBaNMXxGdYEkVcEv4IqB6hBc3C8,279990
|
|
18
18
|
matlab_proxy/gui/static/media/MATLAB-env-blur.NupTbPv_.png,sha256=QpmQTLDvBu2-b7ev83Rvpt0Q72R6wdQGkuJMPPpjv7M,220290
|
|
19
19
|
matlab_proxy/gui/static/media/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
20
|
matlab_proxy/gui/static/media/glyphicons-halflings-regular.BKjkU69z.woff,sha256=omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I,23424
|
|
@@ -40,6 +40,7 @@ matlab_proxy/icons/matlab.svg,sha256=xh5uYebQd8I-ISvenjU9A-PkClzW_lU9wvm3doXOFKM
|
|
|
40
40
|
matlab_proxy/matlab/evaluateUserMatlabCode.m,sha256=R8w6nPdGtadR4UUFJaspcrGQL7cJwUItdrfc531w3bM,2420
|
|
41
41
|
matlab_proxy/matlab/startup.m,sha256=UcA4i2lAMytwBsO783uPIQoP5Pzw1R0xrUywbBBtTjw,533
|
|
42
42
|
matlab_proxy/util/__init__.py,sha256=JkVIsTOae5giDK0cQ7jcxQSHa8zo1umdq-1C0grDZwk,11712
|
|
43
|
+
matlab_proxy/util/cookie_jar.py,sha256=GceKyB53lTX5r2wp9myvf0JDWDfvSamvjb4zmjkoOtY,2401
|
|
43
44
|
matlab_proxy/util/event_loop.py,sha256=sX_0tKlirCY5ImLxkss_XO4Ksj65u6JHtwMj25oGL94,1816
|
|
44
45
|
matlab_proxy/util/list_servers.py,sha256=M93coVZjyQCdIvCCxsNOU_XDWNjBSysOJ5tWXaTjP8Y,1369
|
|
45
46
|
matlab_proxy/util/mw.py,sha256=dLGSdfcTZiwKR1MMZA-39o-8na13IEPZOGBqcaHmKVI,11086
|
|
@@ -48,7 +49,7 @@ matlab_proxy/util/windows.py,sha256=_5gl2IyHIfw8-D3_G5uHkycZVGGFVXtjkd6_aP3g2Ts,
|
|
|
48
49
|
matlab_proxy/util/mwi/__init__.py,sha256=zI-X1lafr8H3j17PyA0oSZ0q5nINfK-WDA7VmJKmSAQ,158
|
|
49
50
|
matlab_proxy/util/mwi/custom_http_headers.py,sha256=kfDjSnEXEVzoF2pZuEn76LKayeD2WKoQEDu2Y9EMOAo,7154
|
|
50
51
|
matlab_proxy/util/mwi/download.py,sha256=-GJj3yOsL4vF_9baqRXkgBI-vu_OwjZMQVkJXFS8GMc,4965
|
|
51
|
-
matlab_proxy/util/mwi/environment_variables.py,sha256=
|
|
52
|
+
matlab_proxy/util/mwi/environment_variables.py,sha256=GVGyf79zWek8j5RxaBQQBcEtBzh2ecCVYBKamRscXZs,6969
|
|
52
53
|
matlab_proxy/util/mwi/exceptions.py,sha256=8o4PZmira_ZonnOROzu8ERIiSn9y-456JO89gqjCags,5446
|
|
53
54
|
matlab_proxy/util/mwi/logger.py,sha256=GoisSphy3Jyi5-6-X0WRl1YkdrKx2xzjSxBN_w3oTU8,3802
|
|
54
55
|
matlab_proxy/util/mwi/token_auth.py,sha256=UbIWqo7qADaZdijFvorLYsZbxzaB8TycGP8nk305ru0,9997
|
|
@@ -58,19 +59,20 @@ matlab_proxy/util/mwi/embedded_connector/helpers.py,sha256=kpIgJN0AqYLeX56UylWgB
|
|
|
58
59
|
matlab_proxy/util/mwi/embedded_connector/request.py,sha256=RXoVvrm5fibVb2A6EZnkMWwAQkYX3J5kqDTGQDZo9p0,4316
|
|
59
60
|
matlab_proxy_manager/__init__.py,sha256=CMqm2aSYUWo5sxV3vyqWudrQU31muouSqZRDesJNJSA,178
|
|
60
61
|
matlab_proxy_manager/lib/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
61
|
-
matlab_proxy_manager/lib/api.py,sha256=
|
|
62
|
+
matlab_proxy_manager/lib/api.py,sha256=rDnxA599DZI73TUBSn8JPCbmKM_kn_T_J0dw0z4Kg5M,14380
|
|
62
63
|
matlab_proxy_manager/storage/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
63
64
|
matlab_proxy_manager/storage/file_repository.py,sha256=U4FAw0zFN9z7YNlaMsYZXWm5ccs3rp3bzZL-W2BNhxA,5187
|
|
64
65
|
matlab_proxy_manager/storage/interface.py,sha256=pnRRD0Ku3gzbruAOM3J3NI2Kk8do3-_yRw9Pag1IqnE,1883
|
|
65
|
-
matlab_proxy_manager/storage/server.py,sha256=
|
|
66
|
+
matlab_proxy_manager/storage/server.py,sha256=DuYl9Q-gYA71WElBHcKMd1N5LW5k_Ey0PGABuLAQrgM,6150
|
|
66
67
|
matlab_proxy_manager/utils/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
67
68
|
matlab_proxy_manager/utils/auth.py,sha256=60vi16eQ7LWp3I4CNv2easTjObw50irEm518fiMA5YI,2526
|
|
68
|
-
matlab_proxy_manager/utils/constants.py,sha256=
|
|
69
|
-
matlab_proxy_manager/utils/environment_variables.py,sha256=
|
|
70
|
-
matlab_proxy_manager/utils/
|
|
71
|
-
matlab_proxy_manager/utils/
|
|
69
|
+
matlab_proxy_manager/utils/constants.py,sha256=jI6g31m7xt9DFoe5Qj2Axb3lz6O_wTBvRqHz8RnUKKA,226
|
|
70
|
+
matlab_proxy_manager/utils/environment_variables.py,sha256=A1E4RfSR21vWlWuoFy0JrRXbNsDtmlXI2tRqJT8jzcc,1612
|
|
71
|
+
matlab_proxy_manager/utils/exceptions.py,sha256=t_LykVJx7A4M-G6vg43PgzK7u7zE8i1c6aMhLSpqQOQ,1217
|
|
72
|
+
matlab_proxy_manager/utils/helpers.py,sha256=_BH4qvJwfJYdfdv0I6dbugQjNJ_wxnUsfD5OrsPvCCM,9989
|
|
73
|
+
matlab_proxy_manager/utils/logger.py,sha256=HCQNjF0rHbDBvKhMBxGWs-FVH_GLTUDKIyXDqzLMAzc,1986
|
|
72
74
|
matlab_proxy_manager/web/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
73
|
-
matlab_proxy_manager/web/app.py,sha256
|
|
75
|
+
matlab_proxy_manager/web/app.py,sha256=-sfeJ4ltvcT1-8m0rOZkn357XQTSSNSPIUb3fidT71Y,20643
|
|
74
76
|
matlab_proxy_manager/web/monitor.py,sha256=PWkwV0kP3XHCxDRHpurPh74Zg-SgaIXnCnX2xZSW_R8,1541
|
|
75
77
|
matlab_proxy_manager/web/watcher.py,sha256=89JHjBAQtOrllstaJFxqrjHwckpRmu3qfUqeqPLmH2Q,2130
|
|
76
78
|
tests/integration/__init__.py,sha256=ttzJ8xKWGxOJZz56qOiWOn6sp5LGomkZMn_w4KJLRMU,42
|
|
@@ -85,14 +87,15 @@ tests/integration/utils/integration_tests_utils.py,sha256=IbJ9CedFHiz3k85FBY-8Gw
|
|
|
85
87
|
tests/integration/utils/licensing.py,sha256=rEBjvMXO8R3mL6KnePu2lojmOsjD4GXl9frf9N0Wacs,4842
|
|
86
88
|
tests/unit/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
87
89
|
tests/unit/conftest.py,sha256=FIL7bhw2-9B5OEspqt9toZ2ZlN18pOsPEFjeQmVNcSk,1916
|
|
88
|
-
tests/unit/test_app.py,sha256=
|
|
90
|
+
tests/unit/test_app.py,sha256=PhnkFIgJok5TQbwa5OEJc2-hH1YJVRGkahiZw3V60jw,43516
|
|
89
91
|
tests/unit/test_app_state.py,sha256=ZhywxbZb9HCxLQjgW1QEHccaydCeGKX20YOFFjpKWYM,38047
|
|
90
92
|
tests/unit/test_constants.py,sha256=2nXxTmDP8utr8krsfZ4c_Bh4_mWPcDO5uI8MXeq4Usg,158
|
|
91
93
|
tests/unit/test_ddux.py,sha256=a2J2iM8j_nnfJVuMI38p5AjwrRdoMj3N88gFgS2I4hg,713
|
|
92
94
|
tests/unit/test_devel.py,sha256=A-1iVhSSwmywaW65QIRcUS2Fk7nJxceCcCm7CJtNdEc,7982
|
|
93
95
|
tests/unit/test_non_dev_mode.py,sha256=Jqs5W-ax6WNM9v5SeTjpmVsojjA95itPC8Lqhs2U3Oc,5533
|
|
94
|
-
tests/unit/test_settings.py,sha256=
|
|
96
|
+
tests/unit/test_settings.py,sha256=0vwuEw2QSNLdOaCbV8kaVlRYEGabfWBOKpzHGgpv4e0,23924
|
|
95
97
|
tests/unit/util/__init__.py,sha256=GInSQBb2SoVD5LZfmSCQa9-UZJT_UP-jNfrojkgCybU,87
|
|
98
|
+
tests/unit/util/test_cookie_jar.py,sha256=t9UaRos-TMC-jjuFvYwwJrm5dd1UxmZAWpCPqs_wGiY,7209
|
|
96
99
|
tests/unit/util/test_mw.py,sha256=hweBw3ijcdh_2QdECjAWNkmh_7P5Df728cgD51DFkT8,18571
|
|
97
100
|
tests/unit/util/test_util.py,sha256=n-xSkwdqXfq550jWYsmjhGjx6L98URhWeLJLKhGekOw,7476
|
|
98
101
|
tests/unit/util/mwi/__init__.py,sha256=pl5jqyCHEwZEviiL8OC-SHulb1rBecstQCFF6qVjL9Y,37
|
|
@@ -106,9 +109,9 @@ tests/unit/util/mwi/embedded_connector/test_helpers.py,sha256=vYTWNUTuDeaygo16JG
|
|
|
106
109
|
tests/unit/util/mwi/embedded_connector/test_request.py,sha256=PR-jddnXDEiip-lD7A_QSvRwEkwo3eQ8owZlk-r9vnk,1867
|
|
107
110
|
tests/utils/__init__.py,sha256=ttzJ8xKWGxOJZz56qOiWOn6sp5LGomkZMn_w4KJLRMU,42
|
|
108
111
|
tests/utils/logging_util.py,sha256=VBy_NRvwau3C_CVTBjK5RMROrQimnJYHO2U0aKSZiRw,2234
|
|
109
|
-
matlab_proxy-0.
|
|
110
|
-
matlab_proxy-0.
|
|
111
|
-
matlab_proxy-0.
|
|
112
|
-
matlab_proxy-0.
|
|
113
|
-
matlab_proxy-0.
|
|
114
|
-
matlab_proxy-0.
|
|
112
|
+
matlab_proxy-0.26.0.dist-info/LICENSE.md,sha256=oF0h3UdSF-rlUiMGYwi086ZHqelzz7yOOk9HFDv9ELo,2344
|
|
113
|
+
matlab_proxy-0.26.0.dist-info/METADATA,sha256=Ywtdmy9yOZSwbwTEe90oqr-PQvPlSgpZ3ZtgKxc4u6s,10666
|
|
114
|
+
matlab_proxy-0.26.0.dist-info/WHEEL,sha256=iAkIy5fosb7FzIOwONchHf19Qu7_1wCWyFNR5gu9nU0,91
|
|
115
|
+
matlab_proxy-0.26.0.dist-info/entry_points.txt,sha256=3wztwXpt6wdGfTwscc4qHbCeWzi0E2XhyJbMDndyQKc,304
|
|
116
|
+
matlab_proxy-0.26.0.dist-info/top_level.txt,sha256=KF-347aoRGsfHTpiSqfIPUZ95bzK5-oMIu8S_TUcu-w,40
|
|
117
|
+
matlab_proxy-0.26.0.dist-info/RECORD,,
|