matlab-proxy 0.23.3__py3-none-any.whl → 0.24.1__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.

Files changed (55) hide show
  1. matlab_proxy/app_state.py +32 -7
  2. matlab_proxy/gui/index.html +20 -1
  3. matlab_proxy/gui/static/css/index.BSVLACuY.css +10 -0
  4. matlab_proxy/gui/static/js/index.Cm14Eqsb.js +64 -0
  5. matlab_proxy/util/mwi/embedded_connector/helpers.py +2 -2
  6. matlab_proxy/util/mwi/embedded_connector/request.py +1 -1
  7. matlab_proxy/util/mwi/logger.py +1 -2
  8. {matlab_proxy-0.23.3.dist-info → matlab_proxy-0.24.1.dist-info}/METADATA +2 -2
  9. {matlab_proxy-0.23.3.dist-info → matlab_proxy-0.24.1.dist-info}/RECORD +38 -53
  10. matlab_proxy_manager/lib/api.py +21 -18
  11. matlab_proxy_manager/storage/server.py +26 -1
  12. tests/unit/conftest.py +1 -2
  13. tests/unit/test_app_state.py +1 -1
  14. tests/unit/util/mwi/test_logger.py +1 -2
  15. matlab_proxy/gui/asset-manifest.json +0 -44
  16. matlab_proxy/gui/static/css/main.efa05ff9.css +0 -13
  17. matlab_proxy/gui/static/css/main.efa05ff9.css.map +0 -1
  18. matlab_proxy/gui/static/js/main.ce0f5505.js +0 -3
  19. matlab_proxy/gui/static/js/main.ce0f5505.js.LICENSE.txt +0 -59
  20. matlab_proxy/gui/static/js/main.ce0f5505.js.map +0 -1
  21. matlab_proxy/gui/static/media/arrow.0c2968b90bd9a64c8c3f.svg +0 -4
  22. matlab_proxy/gui/static/media/feedback.6e8d50eb812cf35e0e76.svg +0 -1
  23. matlab_proxy/gui/static/media/gripper.9defbc5e76d0de8bb6e0.svg +0 -1
  24. matlab_proxy/gui/static/media/help.15e5bfab03a2b9c7148e.svg +0 -1
  25. matlab_proxy/gui/static/media/ico-header-contact-hover.0958c44200d781def822.svg +0 -17
  26. matlab_proxy/gui/static/media/ico-header-contact.ae9169c8dcae37c6e04b.svg +0 -17
  27. matlab_proxy/gui/static/media/restart.7987508a01e84678361a.svg +0 -1
  28. matlab_proxy/gui/static/media/sign-out.08356b675ec854afaa77.svg +0 -1
  29. matlab_proxy/gui/static/media/start.50c4596fab2049b4a3a3.svg +0 -1
  30. matlab_proxy/gui/static/media/stop.30c9a9ab6d625032235a.svg +0 -1
  31. matlab_proxy/gui/static/media/terminate.7ea1363ee0fa72344ef6.svg +0 -1
  32. /matlab_proxy/gui/static/media/{MATLAB-env-blur.4fc94edbc82d3184e5cb.png → MATLAB-env-blur.NupTbPv_.png} +0 -0
  33. /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.82b1212e45a2bc35dd73.woff → glyphicons-halflings-regular.BKjkU69z.woff} +0 -0
  34. /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.5be1347c682810f199c7.eot → glyphicons-halflings-regular.BUJKDMgK.eot} +0 -0
  35. /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.060b2710bdbbe3dfe48b.svg → glyphicons-halflings-regular.CSehLiBc.svg} +0 -0
  36. /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.4692b9ec53fd5972caa2.ttf → glyphicons-halflings-regular.DrwTMapi.ttf} +0 -0
  37. /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.be810be3a3e14c682a25.woff2 → glyphicons-halflings-regular.DzqM6ju8.woff2} +0 -0
  38. /matlab_proxy/gui/static/media/{ico-header-account-hover.89438e91d0632893b106.svg → ico-header-account-hover.-jQHo6Wx.svg} +0 -0
  39. /matlab_proxy/gui/static/media/{ico-header-account.86b10d7b4a2a511f6ca9.svg → ico-header-account.CJCFoo5a.svg} +0 -0
  40. /matlab_proxy/gui/static/media/{ico-sprite.cbdb66c0ea4c2a7fd21c.png → ico-sprite.DXGLgzq9.png} +0 -0
  41. /matlab_proxy/gui/static/media/{mathworks-eps.4d20e0ee46ea74bccfc1.ttf → mathworks-eps.CGNQALa9.ttf} +0 -0
  42. /matlab_proxy/gui/static/media/{mathworks-eps.df1428dfa69cea896c05.svg → mathworks-eps.DrkCtQtG.svg} +0 -0
  43. /matlab_proxy/gui/static/media/{mathworks-eps.e5c41e8478df02cbdce1.woff → mathworks-eps.Ds7lQbql.woff} +0 -0
  44. /matlab_proxy/gui/static/media/{mathworks-pictograms.3fc6513a06dce552eeb1.woff → mathworks-pictograms.BdqxEfBR.woff} +0 -0
  45. /matlab_proxy/gui/static/media/{mathworks-pictograms.f6f087b008b5a9435f26.svg → mathworks-pictograms.CCLweoD4.svg} +0 -0
  46. /matlab_proxy/gui/static/media/{mathworks-pictograms.6e128c0e7fc1a11f92ee.ttf → mathworks-pictograms.DZhFdRSm.ttf} +0 -0
  47. /matlab_proxy/gui/static/media/{mathworks.80a3218e1ba29f0573fb.svg → mathworks.C-qsbhDy.svg} +0 -0
  48. /matlab_proxy/gui/static/media/{mathworks.c422935b9ae545ac2ab5.ttf → mathworks.Ceplx86V.ttf} +0 -0
  49. /matlab_proxy/gui/static/media/{mathworks.37a563ef6aeda1593bf6.woff → mathworks.D08X1Vp8.woff} +0 -0
  50. /matlab_proxy/gui/static/media/{trigger-error.3f1c4ef23ab8f3e60b0e.svg → trigger-error.QEdsGL-m.svg} +0 -0
  51. /matlab_proxy/gui/static/media/{trigger-ok.7b9c238be42f685c4fa7.svg → trigger-ok.Dzg8OIrk.svg} +0 -0
  52. {matlab_proxy-0.23.3.dist-info → matlab_proxy-0.24.1.dist-info}/LICENSE.md +0 -0
  53. {matlab_proxy-0.23.3.dist-info → matlab_proxy-0.24.1.dist-info}/WHEEL +0 -0
  54. {matlab_proxy-0.23.3.dist-info → matlab_proxy-0.24.1.dist-info}/entry_points.txt +0 -0
  55. {matlab_proxy-0.23.3.dist-info → matlab_proxy-0.24.1.dist-info}/top_level.txt +0 -0
@@ -1,7 +1,7 @@
1
1
  # Copyright 2020-2024 The MathWorks, Inc.
2
2
 
3
- """ This file contains helper methods which return the details required for sending
4
- a HTTP request to the Embedded Connector. """
3
+ """This file contains helper methods which return the details required for sending
4
+ a HTTP request to the Embedded Connector."""
5
5
 
6
6
 
7
7
  from matlab_proxy.util import mwi
@@ -1,6 +1,6 @@
1
1
  # Copyright 2020-2024 The MathWorks, Inc.
2
2
 
3
- """
3
+ """
4
4
  This file contains the methods to communicate with the embedded connector.
5
5
  """
6
6
 
@@ -1,6 +1,5 @@
1
1
  # Copyright 2020-2024 The MathWorks, Inc.
2
- """Functions to access & control the logging behavior of the app
3
- """
2
+ """Functions to access & control the logging behavior of the app"""
4
3
 
5
4
  import logging
6
5
  import os
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: matlab-proxy
3
- Version: 0.23.3
3
+ Version: 0.24.1
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.
@@ -226,7 +226,7 @@ If you encounter a technical issue or have an enhancement request, create an iss
226
226
 
227
227
  ---
228
228
 
229
- Copyright 2020-2024 The MathWorks, Inc.
229
+ Copyright 2020-2025 The MathWorks, Inc.
230
230
 
231
231
  ---
232
232
 
@@ -1,56 +1,41 @@
1
1
  matlab_proxy/__init__.py,sha256=6cwi8buKCMtw9OeWaOYUHEoqwl5MyJ_s6GxgNuqPuNg,1673
2
2
  matlab_proxy/app.py,sha256=7BsHSM3PxTjN6eN10HLj74Y1wtu-Gl92g1RLbaTGz9U,34698
3
- matlab_proxy/app_state.py,sha256=fGZjhY8ZupX54Q6gEbXjfrxR8svDBicnsO97vetjpo4,71015
3
+ matlab_proxy/app_state.py,sha256=KO2aczGbTnIMoXVqHJEriEyeapYHU_sDXifwA5U3kTw,72077
4
4
  matlab_proxy/constants.py,sha256=L9fhXdcGH7Eu56h0aB_TNm3d6aNFr2nP6-HyQJ96TAA,1175
5
5
  matlab_proxy/default_configuration.py,sha256=tBHaEq_bYsX2uC9pPA9mi_8M6o94ij-rxq8mbvcYpFc,1874
6
6
  matlab_proxy/devel.py,sha256=nR6XPVBUEdQ-RZGtYvX1YHTp8gj9cuw5Hp8ahasMBc8,14310
7
7
  matlab_proxy/settings.py,sha256=ni-9zNbWF3cy4v0X8vAwAiM5WcC8U_t3a-s7GXIkyBA,26723
8
8
  matlab_proxy/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
9
- matlab_proxy/gui/asset-manifest.json,sha256=VW67P_Jg7RPTCNDkMCWmphyXKJvv-KE-DjFQvQxm8aM,3516
10
9
  matlab_proxy/gui/favicon.ico,sha256=7w7Ki1uQP2Rgwc64dOV4-NrTu97I3WsZw8OvRSoY1A0,130876
11
- matlab_proxy/gui/index.html,sha256=QFS6XN-j7nMc8qNT6m9nJzC73St0zo76PS2e__HS5BM,637
10
+ matlab_proxy/gui/index.html,sha256=6SxjZB0znU7vcLRnk4avZIzdOqlFBFt-zaNC8qhxIr0,720
12
11
  matlab_proxy/gui/manifest.json,sha256=NwDbrALM5auYyj2bbEf4aGwAUDqNl1FzMFQpPiG2Ty4,286
13
12
  matlab_proxy/gui/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
14
13
  matlab_proxy/gui/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
15
14
  matlab_proxy/gui/static/css/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
16
- matlab_proxy/gui/static/css/main.efa05ff9.css,sha256=dOvmpZ0-Xez2_dwxue5yb0el7o7btgZTzzbuQZ3hnSg,269167
17
- matlab_proxy/gui/static/css/main.efa05ff9.css.map,sha256=y9dh-GxZmqmtSCOwW6szE68iuVhO7gEhm80yqvRX4oU,350512
15
+ matlab_proxy/gui/static/css/index.BSVLACuY.css,sha256=LzuRvV10Z0pF0ugGSnj5zKJvT4AHwwBbCd-wSH4mHjg,305333
18
16
  matlab_proxy/gui/static/js/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- matlab_proxy/gui/static/js/main.ce0f5505.js,sha256=yK_ZQcKt2MrEb4BAcFeeWmSxD82N8dmhGhxrPxNBTeE,283625
20
- matlab_proxy/gui/static/js/main.ce0f5505.js.LICENSE.txt,sha256=uJRPpXtA1Wzfw2dMAUGOPgwqYk2GvDcIafoGMMNLECQ,1539
21
- matlab_proxy/gui/static/js/main.ce0f5505.js.map,sha256=drUlJe9d8w69Djdw-LIdrt7sRRjZl9Zw_PaZd-MlSdo,912523
22
- matlab_proxy/gui/static/media/MATLAB-env-blur.4fc94edbc82d3184e5cb.png,sha256=QpmQTLDvBu2-b7ev83Rvpt0Q72R6wdQGkuJMPPpjv7M,220290
17
+ matlab_proxy/gui/static/js/index.Cm14Eqsb.js,sha256=mcaB_Rp1rvj4mdHLEWC3s3dZhDKTBuYOFXSg8e-B68o,280210
18
+ matlab_proxy/gui/static/media/MATLAB-env-blur.NupTbPv_.png,sha256=QpmQTLDvBu2-b7ev83Rvpt0Q72R6wdQGkuJMPPpjv7M,220290
23
19
  matlab_proxy/gui/static/media/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
24
- matlab_proxy/gui/static/media/arrow.0c2968b90bd9a64c8c3f.svg,sha256=XtmvDWzGZnwCZm08TKBnqt5hc1wphJnNupG0Fx_faAY,327
25
- matlab_proxy/gui/static/media/feedback.6e8d50eb812cf35e0e76.svg,sha256=HJRIMHi0ZXattxqc1_a73vpojkRrdqmRbnwjkQ5E6Zw,2135
26
- matlab_proxy/gui/static/media/glyphicons-halflings-regular.060b2710bdbbe3dfe48b.svg,sha256=QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U,108738
27
- matlab_proxy/gui/static/media/glyphicons-halflings-regular.4692b9ec53fd5972caa2.ttf,sha256=45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY,45404
28
- matlab_proxy/gui/static/media/glyphicons-halflings-regular.5be1347c682810f199c7.eot,sha256=E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc,20127
29
- matlab_proxy/gui/static/media/glyphicons-halflings-regular.82b1212e45a2bc35dd73.woff,sha256=omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I,23424
30
- matlab_proxy/gui/static/media/glyphicons-halflings-regular.be810be3a3e14c682a25.woff2,sha256=_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw,18028
31
- matlab_proxy/gui/static/media/gripper.9defbc5e76d0de8bb6e0.svg,sha256=JCfNMc2NVkwBQo6ooaUAX3KUXeeKxLMwIRw1kM26NaA,405
32
- matlab_proxy/gui/static/media/help.15e5bfab03a2b9c7148e.svg,sha256=BDDw95XXM2tpp2NDn0yWQ46MeMvb6FXtiAJDHxs-xeo,1467
33
- matlab_proxy/gui/static/media/ico-header-account-hover.89438e91d0632893b106.svg,sha256=SOFeac2wYLE7Q1JXVx99TJ4XWlsBU_IJ36EaMiWCDEo,4774
34
- matlab_proxy/gui/static/media/ico-header-account.86b10d7b4a2a511f6ca9.svg,sha256=QBTrSvJ1PuqFdr4RdFO1-3TPBhjztEvF37YYMm4vJYc,4774
35
- matlab_proxy/gui/static/media/ico-header-contact-hover.0958c44200d781def822.svg,sha256=i-RUmDy-Qg-IFr_kQlFgqHvRUuaFrfmbf467qG_bu6Y,1392
36
- matlab_proxy/gui/static/media/ico-header-contact.ae9169c8dcae37c6e04b.svg,sha256=7zRI1wrf_9C_WqOXtakmPP_E-fzcANI1M4W1bqtlFPc,1392
37
- matlab_proxy/gui/static/media/ico-sprite.cbdb66c0ea4c2a7fd21c.png,sha256=2gk_PEau5Friw5q0K5tjVf1cvkZ9PA1MznGgShQgsg4,11438
38
- matlab_proxy/gui/static/media/mathworks-eps.4d20e0ee46ea74bccfc1.ttf,sha256=1kBy6J9LTaAtVnE7hnQGkxk4jzFhEXB_Q2vxWoxEkVA,6448
39
- matlab_proxy/gui/static/media/mathworks-eps.df1428dfa69cea896c05.svg,sha256=vCnXHeXq43vl4ZapcF5kWDf95Hthuv2xFjftt8sDsY8,16377
40
- matlab_proxy/gui/static/media/mathworks-eps.e5c41e8478df02cbdce1.woff,sha256=e6k22TjtuLMkqCYnQt_yA6UlEa1ETjaZyMg1SRHbFP8,6528
41
- matlab_proxy/gui/static/media/mathworks-pictograms.3fc6513a06dce552eeb1.woff,sha256=rJckfPFgMSriJQ-UWH4acc60LXLUelh7YCJazNm2fOo,70288
42
- matlab_proxy/gui/static/media/mathworks-pictograms.6e128c0e7fc1a11f92ee.ttf,sha256=c0YyfXeIMwTXPp27qf1hJyFsqBX_jk7RxhAQ8l8-FHQ,70212
43
- matlab_proxy/gui/static/media/mathworks-pictograms.f6f087b008b5a9435f26.svg,sha256=VAHOeLtlzJKPcF6ue6ygCceljdflnBxNMrU8QaG9aSU,289658
44
- matlab_proxy/gui/static/media/mathworks.37a563ef6aeda1593bf6.woff,sha256=IDXclqMxIqQK8ddT-mwCAZZgyPBo9Gi9rwavy6Zgv98,38732
45
- matlab_proxy/gui/static/media/mathworks.80a3218e1ba29f0573fb.svg,sha256=RRmK93Ob-yNiqq8_eoNERc5fWUQUnYwhfts0339SdHc,138707
46
- matlab_proxy/gui/static/media/mathworks.c422935b9ae545ac2ab5.ttf,sha256=HTmIvVEDta9_tU2RMitYA_skj5RLXrAqXgN1w_GO88U,38656
47
- matlab_proxy/gui/static/media/restart.7987508a01e84678361a.svg,sha256=C4JMX34980kbiQSARH5plOsgR7CTZTFBEOqIKB6LAXs,1273
48
- matlab_proxy/gui/static/media/sign-out.08356b675ec854afaa77.svg,sha256=P5uyzCjDL3vHqEox80uGP1ti5bghQ949sOz-EW8IYUE,1077
49
- matlab_proxy/gui/static/media/start.50c4596fab2049b4a3a3.svg,sha256=7iJXXp-HD-I4pg7p5eHo4zklchxYuTx3gNTs6hxKwsM,1017
50
- matlab_proxy/gui/static/media/stop.30c9a9ab6d625032235a.svg,sha256=gR3cmABnmOIODGPBMMo_PY1rQ2pP5AjokB6WODo4uCM,1218
51
- matlab_proxy/gui/static/media/terminate.7ea1363ee0fa72344ef6.svg,sha256=LDLYNWk_1VwIgow_H0ZC4uGafDogFwr-4ht-z5iMhfo,1875
52
- matlab_proxy/gui/static/media/trigger-error.3f1c4ef23ab8f3e60b0e.svg,sha256=3zzT0uTrl4M_HlAjjVy_9F6fJDY9TifdQCFYX36LCOY,5017
53
- matlab_proxy/gui/static/media/trigger-ok.7b9c238be42f685c4fa7.svg,sha256=mD-7N9cc4ARdMBFcplnogJv6nA4Yh3jQuYbZDUi18LU,4997
20
+ matlab_proxy/gui/static/media/glyphicons-halflings-regular.BKjkU69z.woff,sha256=omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I,23424
21
+ matlab_proxy/gui/static/media/glyphicons-halflings-regular.BUJKDMgK.eot,sha256=E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc,20127
22
+ matlab_proxy/gui/static/media/glyphicons-halflings-regular.CSehLiBc.svg,sha256=QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U,108738
23
+ matlab_proxy/gui/static/media/glyphicons-halflings-regular.DrwTMapi.ttf,sha256=45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY,45404
24
+ matlab_proxy/gui/static/media/glyphicons-halflings-regular.DzqM6ju8.woff2,sha256=_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw,18028
25
+ matlab_proxy/gui/static/media/ico-header-account-hover.-jQHo6Wx.svg,sha256=SOFeac2wYLE7Q1JXVx99TJ4XWlsBU_IJ36EaMiWCDEo,4774
26
+ matlab_proxy/gui/static/media/ico-header-account.CJCFoo5a.svg,sha256=QBTrSvJ1PuqFdr4RdFO1-3TPBhjztEvF37YYMm4vJYc,4774
27
+ matlab_proxy/gui/static/media/ico-sprite.DXGLgzq9.png,sha256=2gk_PEau5Friw5q0K5tjVf1cvkZ9PA1MznGgShQgsg4,11438
28
+ matlab_proxy/gui/static/media/mathworks-eps.CGNQALa9.ttf,sha256=1kBy6J9LTaAtVnE7hnQGkxk4jzFhEXB_Q2vxWoxEkVA,6448
29
+ matlab_proxy/gui/static/media/mathworks-eps.DrkCtQtG.svg,sha256=vCnXHeXq43vl4ZapcF5kWDf95Hthuv2xFjftt8sDsY8,16377
30
+ matlab_proxy/gui/static/media/mathworks-eps.Ds7lQbql.woff,sha256=e6k22TjtuLMkqCYnQt_yA6UlEa1ETjaZyMg1SRHbFP8,6528
31
+ matlab_proxy/gui/static/media/mathworks-pictograms.BdqxEfBR.woff,sha256=rJckfPFgMSriJQ-UWH4acc60LXLUelh7YCJazNm2fOo,70288
32
+ matlab_proxy/gui/static/media/mathworks-pictograms.CCLweoD4.svg,sha256=VAHOeLtlzJKPcF6ue6ygCceljdflnBxNMrU8QaG9aSU,289658
33
+ matlab_proxy/gui/static/media/mathworks-pictograms.DZhFdRSm.ttf,sha256=c0YyfXeIMwTXPp27qf1hJyFsqBX_jk7RxhAQ8l8-FHQ,70212
34
+ matlab_proxy/gui/static/media/mathworks.C-qsbhDy.svg,sha256=RRmK93Ob-yNiqq8_eoNERc5fWUQUnYwhfts0339SdHc,138707
35
+ matlab_proxy/gui/static/media/mathworks.Ceplx86V.ttf,sha256=HTmIvVEDta9_tU2RMitYA_skj5RLXrAqXgN1w_GO88U,38656
36
+ matlab_proxy/gui/static/media/mathworks.D08X1Vp8.woff,sha256=IDXclqMxIqQK8ddT-mwCAZZgyPBo9Gi9rwavy6Zgv98,38732
37
+ matlab_proxy/gui/static/media/trigger-error.QEdsGL-m.svg,sha256=3zzT0uTrl4M_HlAjjVy_9F6fJDY9TifdQCFYX36LCOY,5017
38
+ matlab_proxy/gui/static/media/trigger-ok.Dzg8OIrk.svg,sha256=mD-7N9cc4ARdMBFcplnogJv6nA4Yh3jQuYbZDUi18LU,4997
54
39
  matlab_proxy/icons/matlab.svg,sha256=xh5uYebQd8I-ISvenjU9A-PkClzW_lU9wvm3doXOFKM,13366
55
40
  matlab_proxy/matlab/evaluateUserMatlabCode.m,sha256=R8w6nPdGtadR4UUFJaspcrGQL7cJwUItdrfc531w3bM,2420
56
41
  matlab_proxy/matlab/startup.m,sha256=Rgb1Y3F2pFgByKAaXxWWcYOA2594D7V2HXuyuVmGYjs,653
@@ -65,19 +50,19 @@ matlab_proxy/util/mwi/custom_http_headers.py,sha256=kfDjSnEXEVzoF2pZuEn76LKayeD2
65
50
  matlab_proxy/util/mwi/download.py,sha256=-GJj3yOsL4vF_9baqRXkgBI-vu_OwjZMQVkJXFS8GMc,4965
66
51
  matlab_proxy/util/mwi/environment_variables.py,sha256=sOfmL8PjQONgkJdegdotLbsqHsWJDsjS7kak0TJtVKU,7441
67
52
  matlab_proxy/util/mwi/exceptions.py,sha256=3jklFU6br2_pSSsATCRDY3A5fTzk6ekJ4M69sunwxBk,5114
68
- matlab_proxy/util/mwi/logger.py,sha256=EHHr6OWlXe6yVX0RPh57HSE7lz6MhWmwLQIpe_SlsC0,3803
53
+ matlab_proxy/util/mwi/logger.py,sha256=GoisSphy3Jyi5-6-X0WRl1YkdrKx2xzjSxBN_w3oTU8,3802
69
54
  matlab_proxy/util/mwi/token_auth.py,sha256=UbIWqo7qADaZdijFvorLYsZbxzaB8TycGP8nk305ru0,9997
70
55
  matlab_proxy/util/mwi/validators.py,sha256=iXPR7b3jtnwx2i15YxKQgmOm2pt3ujJeMGYNxY0oGGw,12633
71
56
  matlab_proxy/util/mwi/embedded_connector/__init__.py,sha256=Vfl2hNC7V1IwoK9_wrwfENs4BC8P-Mvvqh4BNGi2n48,119
72
- matlab_proxy/util/mwi/embedded_connector/helpers.py,sha256=aOn-AvcDy6jBQJIffiv_agIa4UVldAIl3--QnDpXWDM,3656
73
- matlab_proxy/util/mwi/embedded_connector/request.py,sha256=-IzTDjy3qViHfLJpK3OnFtEyV7dgwJKPQAfav9lqILc,4317
57
+ matlab_proxy/util/mwi/embedded_connector/helpers.py,sha256=kpIgJN0AqYLeX56UylWgB0t07fg8sh0RhIlUH_8JitM,3654
58
+ matlab_proxy/util/mwi/embedded_connector/request.py,sha256=RXoVvrm5fibVb2A6EZnkMWwAQkYX3J5kqDTGQDZo9p0,4316
74
59
  matlab_proxy_manager/__init__.py,sha256=CMqm2aSYUWo5sxV3vyqWudrQU31muouSqZRDesJNJSA,178
75
60
  matlab_proxy_manager/lib/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
76
- matlab_proxy_manager/lib/api.py,sha256=_ukL8ZeQg8E5s9uPeNjYAuCc_1BR08GSlom0VQclt84,12549
61
+ matlab_proxy_manager/lib/api.py,sha256=L-yPrDqaBQ-AA1ds5PndzglBO1oglGJxy-x0F1lZZj4,12640
77
62
  matlab_proxy_manager/storage/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
78
63
  matlab_proxy_manager/storage/file_repository.py,sha256=U4FAw0zFN9z7YNlaMsYZXWm5ccs3rp3bzZL-W2BNhxA,5187
79
64
  matlab_proxy_manager/storage/interface.py,sha256=pnRRD0Ku3gzbruAOM3J3NI2Kk8do3-_yRw9Pag1IqnE,1883
80
- matlab_proxy_manager/storage/server.py,sha256=MjTw5-CRb3jF57wUXnVJmOyezM6peBOAyBfMfEqSzBc,4848
65
+ matlab_proxy_manager/storage/server.py,sha256=8-kv3R7dJJYfOStYGjYj1nBt2Jn3o3qnn75YVAmwFSc,6010
81
66
  matlab_proxy_manager/utils/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
82
67
  matlab_proxy_manager/utils/auth.py,sha256=60vi16eQ7LWp3I4CNv2easTjObw50irEm518fiMA5YI,2526
83
68
  matlab_proxy_manager/utils/constants.py,sha256=pyg-bkk6wWfmy60nvhroZDMZt__FcbZbuvU-b9m2Fkg,163
@@ -99,9 +84,9 @@ tests/integration/utils/__init__.py,sha256=ttzJ8xKWGxOJZz56qOiWOn6sp5LGomkZMn_w4
99
84
  tests/integration/utils/integration_tests_utils.py,sha256=IbJ9CedFHiz3k85FBY-8GwotTnjPF3jF4AHdKio7jqk,10321
100
85
  tests/integration/utils/licensing.py,sha256=rEBjvMXO8R3mL6KnePu2lojmOsjD4GXl9frf9N0Wacs,4842
101
86
  tests/unit/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
102
- tests/unit/conftest.py,sha256=Hfxq3h8IZuLJkRMh5jdEFiq78CIAdKvm-6KryRDZ0FY,1918
87
+ tests/unit/conftest.py,sha256=FIL7bhw2-9B5OEspqt9toZ2ZlN18pOsPEFjeQmVNcSk,1916
103
88
  tests/unit/test_app.py,sha256=pM8zVyXWLx8nP8RePusXH4admEBYKc5JC8eE2t8xIQE,38487
104
- tests/unit/test_app_state.py,sha256=mq0qDWY3k2-_8job9g3BY52aT3ciNxji5_HVG1VhVBw,37112
89
+ tests/unit/test_app_state.py,sha256=HuRs4ofCviS_N8Nj71_KkB3OrEf8aqHsA0SZlUreQPc,37110
105
90
  tests/unit/test_constants.py,sha256=2nXxTmDP8utr8krsfZ4c_Bh4_mWPcDO5uI8MXeq4Usg,158
106
91
  tests/unit/test_ddux.py,sha256=a2J2iM8j_nnfJVuMI38p5AjwrRdoMj3N88gFgS2I4hg,713
107
92
  tests/unit/test_devel.py,sha256=A-1iVhSSwmywaW65QIRcUS2Fk7nJxceCcCm7CJtNdEc,7982
@@ -113,7 +98,7 @@ tests/unit/util/test_util.py,sha256=gecUFSVIg4a9s3Ljl0A7eSSY5jN4vH668CbjnTpi198,
113
98
  tests/unit/util/mwi/__init__.py,sha256=pl5jqyCHEwZEviiL8OC-SHulb1rBecstQCFF6qVjL9Y,37
114
99
  tests/unit/util/mwi/test_custom_http_headers.py,sha256=UfrhclS0j6WhShtg1ki2oF1kK8JqRC29uevH4tuDqF4,11182
115
100
  tests/unit/util/mwi/test_download.py,sha256=jYwPJFYGrPKqnkIJW42XYSe1fowmzChAkOx0k0xVldo,4779
116
- tests/unit/util/mwi/test_logger.py,sha256=2VFoVlMLgsSWtDn0iVxHNArGBfN-IgWehuoaLvWlS6U,3151
101
+ tests/unit/util/mwi/test_logger.py,sha256=S0Q5TirFxysrH2YSxRzGY9mWoWB83hG3q3XpGENCpcw,3150
117
102
  tests/unit/util/mwi/test_token_auth.py,sha256=-eBsaQ5JC7pyd9PXt48Rqs4cWjg6I-eOkp_gFVEwYhk,10538
118
103
  tests/unit/util/mwi/test_validators.py,sha256=lJy9rEXCULRrp9wxv9KXUjtlTFbchqTefxGLUg_n3S8,11452
119
104
  tests/unit/util/mwi/embedded_connector/__init__.py,sha256=pl5jqyCHEwZEviiL8OC-SHulb1rBecstQCFF6qVjL9Y,37
@@ -121,9 +106,9 @@ tests/unit/util/mwi/embedded_connector/test_helpers.py,sha256=vYTWNUTuDeaygo16JG
121
106
  tests/unit/util/mwi/embedded_connector/test_request.py,sha256=PR-jddnXDEiip-lD7A_QSvRwEkwo3eQ8owZlk-r9vnk,1867
122
107
  tests/utils/__init__.py,sha256=ttzJ8xKWGxOJZz56qOiWOn6sp5LGomkZMn_w4KJLRMU,42
123
108
  tests/utils/logging_util.py,sha256=VBy_NRvwau3C_CVTBjK5RMROrQimnJYHO2U0aKSZiRw,2234
124
- matlab_proxy-0.23.3.dist-info/LICENSE.md,sha256=oF0h3UdSF-rlUiMGYwi086ZHqelzz7yOOk9HFDv9ELo,2344
125
- matlab_proxy-0.23.3.dist-info/METADATA,sha256=l32qvymxSsGA0amtHFIGVvMQDMFMBs6758Qm2_YSq-A,10199
126
- matlab_proxy-0.23.3.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
127
- matlab_proxy-0.23.3.dist-info/entry_points.txt,sha256=ZAlCUsgKzGcAeQaMZOq31FrTB5tQ8Ypq8Op_8U600-A,305
128
- matlab_proxy-0.23.3.dist-info/top_level.txt,sha256=KF-347aoRGsfHTpiSqfIPUZ95bzK5-oMIu8S_TUcu-w,40
129
- matlab_proxy-0.23.3.dist-info/RECORD,,
109
+ matlab_proxy-0.24.1.dist-info/LICENSE.md,sha256=oF0h3UdSF-rlUiMGYwi086ZHqelzz7yOOk9HFDv9ELo,2344
110
+ matlab_proxy-0.24.1.dist-info/METADATA,sha256=4MRz3xe4BjJtlDV-2KJ07wl-lP-QsE-o64F2u5FZk4U,10199
111
+ matlab_proxy-0.24.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
112
+ matlab_proxy-0.24.1.dist-info/entry_points.txt,sha256=ZAlCUsgKzGcAeQaMZOq31FrTB5tQ8Ypq8Op_8U600-A,305
113
+ matlab_proxy-0.24.1.dist-info/top_level.txt,sha256=KF-347aoRGsfHTpiSqfIPUZ95bzK5-oMIu8S_TUcu-w,40
114
+ matlab_proxy-0.24.1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
- # Copyright 2024 The MathWorks, Inc.
1
+ # Copyright 2024-2025 The MathWorks, Inc.
2
2
  import asyncio
3
3
  import os
4
4
  import secrets
@@ -147,27 +147,30 @@ async def _start_subprocess_and_check_for_readiness(
147
147
  return None
148
148
 
149
149
  process_id, url, mwi_base_url = result
150
- server_process = None
150
+
151
+ log.debug("Matlab proxy process info: %s, %s", url, mwi_base_url)
152
+ matlab_proxy_process = ServerProcess(
153
+ server_url=url,
154
+ mwi_base_url=mwi_base_url,
155
+ headers=helpers.convert_mwi_env_vars_to_header_format(matlab_proxy_env, "MWI"),
156
+ pid=str(process_id),
157
+ parent_pid=ctx,
158
+ id=key,
159
+ type="shared" if is_shared_matlab else "named",
160
+ mpm_auth_token=mpm_auth_token,
161
+ )
151
162
 
152
163
  # Check for the matlab proxy server readiness
153
- if helpers.is_server_ready(url=f"{url}{mwi_base_url}", backoff_factor=0.5):
154
- log.debug("Matlab proxy process info: %s, %s", url, mwi_base_url)
155
- server_process = ServerProcess(
156
- server_url=url,
157
- mwi_base_url=mwi_base_url,
158
- headers=helpers.convert_mwi_env_vars_to_header_format(
159
- matlab_proxy_env, "MWI"
160
- ),
161
- pid=str(process_id),
162
- parent_pid=ctx,
163
- id=key,
164
- type="shared" if is_shared_matlab else "named",
165
- mpm_auth_token=mpm_auth_token,
164
+ if not helpers.is_server_ready(
165
+ url=matlab_proxy_process.absolute_url, retries=7, backoff_factor=0.5
166
+ ):
167
+ log.error(
168
+ "MATLAB Proxy Server unavailable: matlab-proxy-app failed to start or has timed out."
166
169
  )
167
- else:
168
- log.error("matlab-proxy server never became ready")
170
+ matlab_proxy_process.shutdown()
171
+ matlab_proxy_process = None
169
172
 
170
- return server_process
173
+ return matlab_proxy_process
171
174
 
172
175
 
173
176
  def _prepare_cmd_and_env_for_matlab_proxy():
@@ -1,9 +1,11 @@
1
- # Copyright 2024 The MathWorks, Inc.
1
+ # Copyright 2024-2025 The MathWorks, Inc.
2
2
  import json
3
3
  from dataclasses import asdict, dataclass, field
4
4
  from pathlib import Path
5
5
  from typing import Optional
6
6
 
7
+ import psutil
8
+
7
9
  from matlab_proxy_manager.utils import helpers, logger
8
10
 
9
11
  log = logger.get()
@@ -96,8 +98,31 @@ class ServerProcess:
96
98
  return shutdown_resp
97
99
  except Exception as e:
98
100
  log.debug("Exception while shutting down matlab proxy: %s", e)
101
+
102
+ # Force kill matlab-proxy and its process tree if termination
103
+ # via shutdown_integration endpoint fails
104
+ matlab_proxy_process = psutil.Process(int(self.pid))
105
+ self.terminate_process_tree(matlab_proxy_process)
99
106
  return None
100
107
 
108
+ def terminate_process_tree(self, matlab_proxy_process):
109
+ """
110
+ Terminates the process tree of the MATLAB proxy server.
111
+
112
+ This method terminates all child processes of the MATLAB proxy process,
113
+ waits for a short period, and then forcefully kills any remaining processes.
114
+ Finally, it kills the main MATLAB proxy process itself.
115
+ """
116
+ matlab_proxy_child_processes = matlab_proxy_process.children(recursive=True)
117
+ for child_process in matlab_proxy_child_processes:
118
+ child_process.terminate()
119
+ _, alive = psutil.wait_procs(matlab_proxy_child_processes, timeout=5)
120
+ for process in alive:
121
+ # Kill the processes which are alive even after waiting for 5 seconds
122
+ process.kill()
123
+ matlab_proxy_process.kill()
124
+ log.debug("Killed matlab-proxy process with PID: %s", self.pid)
125
+
101
126
  def is_server_alive(self) -> bool:
102
127
  """
103
128
  Checks if the server process is alive and ready.
tests/unit/conftest.py CHANGED
@@ -1,7 +1,6 @@
1
1
  # Copyright 2020-2022 The MathWorks, Inc.
2
2
 
3
- """ The conftest.py file is run by the pytest framework for setting things up for the test session.
4
- """
3
+ """The conftest.py file is run by the pytest framework for setting things up for the test session."""
5
4
 
6
5
  import os
7
6
  import shutil
@@ -415,7 +415,7 @@ async def test_track_embedded_connector_posix(
415
415
  spy.assert_called_once()
416
416
 
417
417
 
418
- @pytest.mark.parametrize("platform", [("windows")])
418
+ @pytest.mark.parametrize("platform", ["windows"])
419
419
  async def test_track_embedded_connector(mocker_os_patching_fixture, app_state_fixture):
420
420
  """Test to check track_embedded_connector task on windows.
421
421
 
@@ -1,6 +1,5 @@
1
1
  # Copyright 2020-2024 The MathWorks, Inc.
2
- """This file tests methods present in matlab_proxy/util/mwi_logger.py
3
- """
2
+ """This file tests methods present in matlab_proxy/util/mwi_logger.py"""
4
3
 
5
4
  import logging
6
5
  import os
@@ -1,44 +0,0 @@
1
- {
2
- "files": {
3
- "main.css": "./static/css/main.efa05ff9.css",
4
- "main.js": "./static/js/main.ce0f5505.js",
5
- "static/media/mathworks-pictograms.svg?20181009": "./static/media/mathworks-pictograms.f6f087b008b5a9435f26.svg",
6
- "static/media/MATLAB-env-blur.png": "./static/media/MATLAB-env-blur.4fc94edbc82d3184e5cb.png",
7
- "static/media/mathworks.svg?20181004": "./static/media/mathworks.80a3218e1ba29f0573fb.svg",
8
- "static/media/glyphicons-halflings-regular.svg": "./static/media/glyphicons-halflings-regular.060b2710bdbbe3dfe48b.svg",
9
- "static/media/mathworks-pictograms.woff?20181009": "./static/media/mathworks-pictograms.3fc6513a06dce552eeb1.woff",
10
- "static/media/mathworks-pictograms.ttf?20181009": "./static/media/mathworks-pictograms.6e128c0e7fc1a11f92ee.ttf",
11
- "static/media/glyphicons-halflings-regular.ttf": "./static/media/glyphicons-halflings-regular.4692b9ec53fd5972caa2.ttf",
12
- "static/media/mathworks.woff?20181004": "./static/media/mathworks.37a563ef6aeda1593bf6.woff",
13
- "static/media/mathworks.ttf?20181004": "./static/media/mathworks.c422935b9ae545ac2ab5.ttf",
14
- "static/media/glyphicons-halflings-regular.woff": "./static/media/glyphicons-halflings-regular.82b1212e45a2bc35dd73.woff",
15
- "static/media/glyphicons-halflings-regular.eot": "./static/media/glyphicons-halflings-regular.5be1347c682810f199c7.eot",
16
- "static/media/glyphicons-halflings-regular.woff2": "./static/media/glyphicons-halflings-regular.be810be3a3e14c682a25.woff2",
17
- "static/media/mathworks-eps.svg?20181004": "./static/media/mathworks-eps.df1428dfa69cea896c05.svg",
18
- "static/media/ico-sprite.png": "./static/media/ico-sprite.cbdb66c0ea4c2a7fd21c.png",
19
- "static/media/mathworks-eps.woff?20181004": "./static/media/mathworks-eps.e5c41e8478df02cbdce1.woff",
20
- "static/media/mathworks-eps.ttf?20181004": "./static/media/mathworks-eps.4d20e0ee46ea74bccfc1.ttf",
21
- "static/media/trigger-error.svg": "./static/media/trigger-error.3f1c4ef23ab8f3e60b0e.svg",
22
- "static/media/trigger-ok.svg": "./static/media/trigger-ok.7b9c238be42f685c4fa7.svg",
23
- "static/media/ico-header-account-hover.svg": "./static/media/ico-header-account-hover.89438e91d0632893b106.svg",
24
- "static/media/ico-header-account.svg": "./static/media/ico-header-account.86b10d7b4a2a511f6ca9.svg",
25
- "static/media/feedback.svg": "./static/media/feedback.6e8d50eb812cf35e0e76.svg",
26
- "static/media/terminate.svg": "./static/media/terminate.7ea1363ee0fa72344ef6.svg",
27
- "static/media/help.svg": "./static/media/help.15e5bfab03a2b9c7148e.svg",
28
- "static/media/ico-header-contact-hover.svg": "./static/media/ico-header-contact-hover.0958c44200d781def822.svg",
29
- "static/media/ico-header-contact.svg": "./static/media/ico-header-contact.ae9169c8dcae37c6e04b.svg",
30
- "static/media/restart.svg": "./static/media/restart.7987508a01e84678361a.svg",
31
- "static/media/stop.svg": "./static/media/stop.30c9a9ab6d625032235a.svg",
32
- "static/media/sign-out.svg": "./static/media/sign-out.08356b675ec854afaa77.svg",
33
- "static/media/start.svg": "./static/media/start.50c4596fab2049b4a3a3.svg",
34
- "index.html": "./index.html",
35
- "static/media/gripper.svg": "./static/media/gripper.9defbc5e76d0de8bb6e0.svg",
36
- "static/media/arrow.svg": "./static/media/arrow.0c2968b90bd9a64c8c3f.svg",
37
- "main.efa05ff9.css.map": "./static/css/main.efa05ff9.css.map",
38
- "main.ce0f5505.js.map": "./static/js/main.ce0f5505.js.map"
39
- },
40
- "entrypoints": [
41
- "static/css/main.efa05ff9.css",
42
- "static/js/main.ce0f5505.js"
43
- ]
44
- }