jupyterlab 4.0.10__py3-none-any.whl → 4.0.12__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.
Files changed (416) hide show
  1. jupyterlab/_version.py +1 -1
  2. jupyterlab/extensions/pypi.py +170 -86
  3. jupyterlab/galata/@jupyterlab/galata-extension/build_log.json +92 -92
  4. jupyterlab/galata/@jupyterlab/galata-extension/package.json +11 -11
  5. jupyterlab/galata/@jupyterlab/galata-extension/static/{remoteEntry.ea07748e92a569dd8caa.js → remoteEntry.b8fefd648959729a91e4.js} +3 -3
  6. jupyterlab/schemas/@jupyterlab/application-extension/package.json.orig +10 -10
  7. jupyterlab/schemas/@jupyterlab/apputils-extension/package.json.orig +14 -14
  8. jupyterlab/schemas/@jupyterlab/cell-toolbar-extension/package.json.orig +6 -6
  9. jupyterlab/schemas/@jupyterlab/celltags-extension/package.json.orig +5 -5
  10. jupyterlab/schemas/@jupyterlab/codemirror-extension/package.json.orig +8 -8
  11. jupyterlab/schemas/@jupyterlab/completer-extension/package.json.orig +5 -5
  12. jupyterlab/schemas/@jupyterlab/console-extension/package.json.orig +13 -13
  13. jupyterlab/schemas/@jupyterlab/csvviewer-extension/package.json.orig +10 -10
  14. jupyterlab/schemas/@jupyterlab/debugger-extension/package.json.orig +17 -17
  15. jupyterlab/schemas/@jupyterlab/docmanager-extension/package.json.orig +11 -11
  16. jupyterlab/schemas/@jupyterlab/documentsearch-extension/package.json.orig +6 -6
  17. jupyterlab/schemas/@jupyterlab/extensionmanager-extension/package.json.orig +7 -7
  18. jupyterlab/schemas/@jupyterlab/filebrowser-extension/package.json.orig +13 -13
  19. jupyterlab/schemas/@jupyterlab/fileeditor-extension/package.json.orig +23 -23
  20. jupyterlab/schemas/@jupyterlab/help-extension/package.json.orig +8 -8
  21. jupyterlab/schemas/@jupyterlab/htmlviewer-extension/package.json.orig +9 -9
  22. jupyterlab/schemas/@jupyterlab/hub-extension/package.json.orig +6 -6
  23. jupyterlab/schemas/@jupyterlab/imageviewer-extension/package.json.orig +6 -6
  24. jupyterlab/schemas/@jupyterlab/inspector-extension/package.json.orig +9 -9
  25. jupyterlab/schemas/@jupyterlab/launcher-extension/package.json.orig +7 -7
  26. jupyterlab/schemas/@jupyterlab/logconsole-extension/package.json.orig +10 -10
  27. jupyterlab/schemas/@jupyterlab/lsp-extension/package.json.orig +7 -7
  28. jupyterlab/schemas/@jupyterlab/mainmenu-extension/package.json.orig +9 -9
  29. jupyterlab/schemas/@jupyterlab/markdownviewer-extension/package.json.orig +9 -9
  30. jupyterlab/schemas/@jupyterlab/mathjax-extension/package.json.orig +3 -3
  31. jupyterlab/schemas/@jupyterlab/metadataform-extension/package.json.orig +7 -7
  32. jupyterlab/schemas/@jupyterlab/notebook-extension/package.json.orig +30 -30
  33. jupyterlab/schemas/@jupyterlab/running-extension/package.json.orig +9 -9
  34. jupyterlab/schemas/@jupyterlab/settingeditor-extension/package.json.orig +10 -10
  35. jupyterlab/schemas/@jupyterlab/shortcuts-extension/package.json.orig +6 -6
  36. jupyterlab/schemas/@jupyterlab/statusbar-extension/package.json.orig +6 -6
  37. jupyterlab/schemas/@jupyterlab/terminal-extension/package.json.orig +11 -11
  38. jupyterlab/schemas/@jupyterlab/toc-extension/package.json.orig +6 -6
  39. jupyterlab/schemas/@jupyterlab/tooltip-extension/package.json.orig +11 -11
  40. jupyterlab/schemas/@jupyterlab/translation-extension/package.json.orig +6 -6
  41. jupyterlab/staging/package.json +141 -141
  42. jupyterlab/staging/yarn.lock +1001 -1000
  43. jupyterlab/static/{6323.a132b67edcaf8ae86a13.js → 2473.cb9caf61d1e34a747cc0.js} +1 -1
  44. jupyterlab/static/3308.b85a46b26730c1cd5395.js +1 -0
  45. jupyterlab/static/7517.f3e5d420f4af90d442dd.js +1 -0
  46. jupyterlab/static/812.063be439e3d9e318bdbd.js +1 -0
  47. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/8302.ed6e1953f9cfa8a35103.js → jupyterlab/static/8302.4c190e10b00fe083570e.js +1 -1
  48. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/8771.0ab0916c445ff9bcc179.js → jupyterlab/static/8771.327a202178f82f3b15b8.js +1 -1
  49. jupyterlab/static/{9230.0f817b2a7d934660210a.js → 9230.58b8c42b730e1a56e69b.js} +1 -1
  50. jupyterlab/static/build_log.json +91 -91
  51. jupyterlab/static/index.html +1 -1
  52. jupyterlab/static/jlab_core.826ed748f0a8a70a419e.js +1 -0
  53. jupyterlab/static/main.7bc3df3894cb324b8f85.js +1 -0
  54. jupyterlab/static/package.json +141 -141
  55. jupyterlab/static/third-party-licenses.json +89 -89
  56. jupyterlab/tests/mock_packages/extension/package.json +3 -3
  57. jupyterlab/tests/mock_packages/interop/consumer/package.json +3 -3
  58. jupyterlab/tests/mock_packages/interop/provider/package.json +3 -3
  59. jupyterlab/tests/mock_packages/interop/token/package.json +1 -1
  60. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/package.json.orig +10 -10
  61. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/package.json.orig +14 -14
  62. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/cell-toolbar-extension/package.json.orig +6 -6
  63. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/celltags-extension/package.json.orig +5 -5
  64. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/codemirror-extension/package.json.orig +8 -8
  65. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/completer-extension/package.json.orig +5 -5
  66. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/package.json.orig +13 -13
  67. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/package.json.orig +10 -10
  68. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/debugger-extension/package.json.orig +17 -17
  69. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/package.json.orig +11 -11
  70. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/documentsearch-extension/package.json.orig +6 -6
  71. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/extensionmanager-extension/package.json.orig +7 -7
  72. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/package.json.orig +13 -13
  73. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/package.json.orig +23 -23
  74. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/package.json.orig +8 -8
  75. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/htmlviewer-extension/package.json.orig +9 -9
  76. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/hub-extension/package.json.orig +6 -6
  77. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/imageviewer-extension/package.json.orig +6 -6
  78. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/package.json.orig +9 -9
  79. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/launcher-extension/package.json.orig +7 -7
  80. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/logconsole-extension/package.json.orig +10 -10
  81. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/lsp-extension/package.json.orig +7 -7
  82. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/mainmenu-extension/package.json.orig +9 -9
  83. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/markdownviewer-extension/package.json.orig +9 -9
  84. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/mathjax-extension/package.json.orig +3 -3
  85. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/metadataform-extension/package.json.orig +7 -7
  86. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/package.json.orig +30 -30
  87. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/running-extension/package.json.orig +9 -9
  88. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/package.json.orig +10 -10
  89. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/shortcuts-extension/package.json.orig +6 -6
  90. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/statusbar-extension/package.json.orig +6 -6
  91. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/terminal-extension/package.json.orig +11 -11
  92. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/toc-extension/package.json.orig +6 -6
  93. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/package.json.orig +11 -11
  94. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/translation-extension/package.json.orig +6 -6
  95. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/6323.a132b67edcaf8ae86a13.js → jupyterlab-4.0.12.data/data/share/jupyter/lab/static/2473.cb9caf61d1e34a747cc0.js +1 -1
  96. jupyterlab-4.0.12.data/data/share/jupyter/lab/static/3308.b85a46b26730c1cd5395.js +1 -0
  97. jupyterlab-4.0.12.data/data/share/jupyter/lab/static/7517.f3e5d420f4af90d442dd.js +1 -0
  98. jupyterlab-4.0.12.data/data/share/jupyter/lab/static/812.063be439e3d9e318bdbd.js +1 -0
  99. jupyterlab/static/8302.ed6e1953f9cfa8a35103.js → jupyterlab-4.0.12.data/data/share/jupyter/lab/static/8302.4c190e10b00fe083570e.js +1 -1
  100. jupyterlab/static/8771.0ab0916c445ff9bcc179.js → jupyterlab-4.0.12.data/data/share/jupyter/lab/static/8771.327a202178f82f3b15b8.js +1 -1
  101. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/9230.0f817b2a7d934660210a.js → jupyterlab-4.0.12.data/data/share/jupyter/lab/static/9230.58b8c42b730e1a56e69b.js +1 -1
  102. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/build_log.json +91 -91
  103. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/index.html +1 -1
  104. jupyterlab-4.0.12.data/data/share/jupyter/lab/static/jlab_core.826ed748f0a8a70a419e.js +1 -0
  105. jupyterlab-4.0.12.data/data/share/jupyter/lab/static/main.7bc3df3894cb324b8f85.js +1 -0
  106. jupyterlab-4.0.12.data/data/share/jupyter/lab/static/package.json +331 -0
  107. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/third-party-licenses.json +89 -89
  108. {jupyterlab-4.0.10.dist-info → jupyterlab-4.0.12.dist-info}/METADATA +1 -1
  109. {jupyterlab-4.0.10.dist-info → jupyterlab-4.0.12.dist-info}/RECORD +405 -405
  110. {jupyterlab-4.0.10.dist-info → jupyterlab-4.0.12.dist-info}/WHEEL +1 -1
  111. jupyterlab/static/3308.92a1e305c62cc91845b9.js +0 -1
  112. jupyterlab/static/7517.06577adbf2ae42d4b8d6.js +0 -1
  113. jupyterlab/static/812.2577ef8cc5e1b8ad35e9.js +0 -1
  114. jupyterlab/static/jlab_core.bca8c55f9011e1fc4717.js +0 -1
  115. jupyterlab/static/main.086ffbfbda4e5316f5b5.js +0 -1
  116. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/3308.92a1e305c62cc91845b9.js +0 -1
  117. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/7517.06577adbf2ae42d4b8d6.js +0 -1
  118. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/812.2577ef8cc5e1b8ad35e9.js +0 -1
  119. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/jlab_core.bca8c55f9011e1fc4717.js +0 -1
  120. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/main.086ffbfbda4e5316f5b5.js +0 -1
  121. jupyterlab-4.0.10.data/data/share/jupyter/lab/static/package.json +0 -331
  122. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/etc/jupyter/jupyter_notebook_config.d/jupyterlab.json +0 -0
  123. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/etc/jupyter/jupyter_server_config.d/jupyterlab.json +0 -0
  124. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/applications/jupyterlab.desktop +0 -0
  125. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/icons/hicolor/scalable/apps/jupyterlab.svg +0 -0
  126. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/commands.json +0 -0
  127. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/context-menu.json +0 -0
  128. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/property-inspector.json +0 -0
  129. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/shell.json +0 -0
  130. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/application-extension/top-bar.json +0 -0
  131. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/notification.json +0 -0
  132. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/palette.json +0 -0
  133. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/print.json +0 -0
  134. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/sanitizer.json +0 -0
  135. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/themes.json +0 -0
  136. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/utilityCommands.json +0 -0
  137. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/apputils-extension/workspaces.json +0 -0
  138. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/cell-toolbar-extension/plugin.json +0 -0
  139. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/celltags-extension/plugin.json +0 -0
  140. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/codemirror-extension/plugin.json +0 -0
  141. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/completer-extension/manager.json +0 -0
  142. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/completer.json +0 -0
  143. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/foreign.json +0 -0
  144. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/console-extension/tracker.json +0 -0
  145. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/csv.json +0 -0
  146. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/csvviewer-extension/tsv.json +0 -0
  147. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/debugger-extension/main.json +0 -0
  148. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/download.json +0 -0
  149. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/docmanager-extension/plugin.json +0 -0
  150. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/documentsearch-extension/plugin.json +0 -0
  151. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/extensionmanager-extension/plugin.json +0 -0
  152. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/browser.json +0 -0
  153. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/download.json +0 -0
  154. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/open-browser-tab.json +0 -0
  155. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/open-with.json +0 -0
  156. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/filebrowser-extension/widget.json +0 -0
  157. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/completer.json +0 -0
  158. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/fileeditor-extension/plugin.json +0 -0
  159. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/about.json +0 -0
  160. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/jupyter-forum.json +0 -0
  161. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/help-extension/launch-classic.json +0 -0
  162. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/htmlviewer-extension/plugin.json +0 -0
  163. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/hub-extension/menu.json +0 -0
  164. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/imageviewer-extension/plugin.json +0 -0
  165. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/consoles.json +0 -0
  166. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/inspector.json +0 -0
  167. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/inspector-extension/notebooks.json +0 -0
  168. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/launcher-extension/plugin.json +0 -0
  169. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/logconsole-extension/plugin.json +0 -0
  170. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/lsp-extension/plugin.json +0 -0
  171. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/mainmenu-extension/plugin.json +0 -0
  172. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/markdownviewer-extension/plugin.json +0 -0
  173. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/mathjax-extension/plugin.json +0 -0
  174. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/metadataform-extension/metadataforms.json +0 -0
  175. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/completer.json +0 -0
  176. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/export.json +0 -0
  177. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/panel.json +0 -0
  178. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/tools.json +0 -0
  179. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/notebook-extension/tracker.json +0 -0
  180. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/running-extension/plugin.json +0 -0
  181. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/form-ui.json +0 -0
  182. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/settingeditor-extension/plugin.json +0 -0
  183. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/shortcuts-extension/shortcuts.json +0 -0
  184. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/statusbar-extension/plugin.json +0 -0
  185. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/terminal-extension/plugin.json +0 -0
  186. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/toc-extension/registry.json +0 -0
  187. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/consoles.json +0 -0
  188. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/files.json +0 -0
  189. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/tooltip-extension/notebooks.json +0 -0
  190. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/schemas/@jupyterlab/translation-extension/plugin.json +0 -0
  191. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1036.0d1f109c3d842497fd51.js +0 -0
  192. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1036.0d1f109c3d842497fd51.js.LICENSE.txt +0 -0
  193. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1085.0b67f0736d85ec41fdd4.js +0 -0
  194. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1142.d5442a459b18907c1f91.js +0 -0
  195. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1168.0a95b9c93afe61ceb527.js +0 -0
  196. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1294.9d27be1098bc8abebe3f.js +0 -0
  197. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/141.f110448d494068ebcc87.js +0 -0
  198. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/141.f110448d494068ebcc87.js.LICENSE.txt +0 -0
  199. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1410.e2302ff5f564d6e596bb.js +0 -0
  200. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1420.e8486ed074346bc629ca.js +0 -0
  201. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1448.c391061d8a8344f9d177.js +0 -0
  202. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1452.4cc17f31511d1f9c6052.js +0 -0
  203. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1467.dcd89539f6477c1367af.js +0 -0
  204. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1550.09375e869bc25429b07a.js +0 -0
  205. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1581.e988a625b879002dcc04.js +0 -0
  206. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1581.e988a625b879002dcc04.js.LICENSE.txt +0 -0
  207. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1608.61240f3db67d3d952790.js +0 -0
  208. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1716.a6bbe1ae8a1986a73623.js +0 -0
  209. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1776.4f9305d35480467b23c9.js +0 -0
  210. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1861.4fc7b4afe2b09eb6b5c0.js +0 -0
  211. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1903.3b452e8ec30e57dbaba5.js +0 -0
  212. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1945.0fbbfe93a4aedd91875c.js +0 -0
  213. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1954.07d96e4020ed6e543d25.js +0 -0
  214. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1993.f8c5682f95ffa75cbaf6.js +0 -0
  215. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/1cb1c39ea642f26a4dfe.woff +0 -0
  216. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2039.aa079dac5c520f93b234.js +0 -0
  217. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2090.abc86741318f76c3d726.js +0 -0
  218. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2091.600b1c32af186f6405f9.js +0 -0
  219. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2104.296346db0067b4883fbf.js +0 -0
  220. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2145.be9ec610f29703694fcf.js +0 -0
  221. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2254.55c69210925ec9b28dd9.js +0 -0
  222. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2295.cda0f7182bf2a1a03c5a.js +0 -0
  223. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2320.04abae549b19363c2fdd.js +0 -0
  224. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2363.6eef078cb37c32d7fbc3.js +0 -0
  225. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2459.9f9cb02561de1bec73ff.js +0 -0
  226. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2485.dab750ed66209df61fe1.js +0 -0
  227. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2617.9c299e26785f7646cb39.js +0 -0
  228. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2646.0864fb63d7ab1ed16893.js +0 -0
  229. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/26683bf201fb258a2237.woff +0 -0
  230. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2800.680b1fa0a4c66c69bb1e.js +0 -0
  231. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2857.27a6e85f5c4c092ab8a2.js +0 -0
  232. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2909.e190307f7f84c7691068.js +0 -0
  233. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/292.3f7844a129f16ec1ffbc.js +0 -0
  234. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2929.b88233153dbf33f40b29.js +0 -0
  235. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2953.92ff8f12bad6ee06859c.js +0 -0
  236. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2990.ea15322a41d3f133989b.js +0 -0
  237. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/2995.9791e1071c5f095421bf.js +0 -0
  238. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3056.8a73f6aacd8ca45f84f9.js +0 -0
  239. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/30e889b58cbc51adfbb0.woff +0 -0
  240. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3123.85cea4be2e2ed3f9654f.js +0 -0
  241. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3127.75e12687687a3de3b59d.js +0 -0
  242. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/32792104b5ef69eded90.woff +0 -0
  243. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3306.8bdc49ad1a7ca593a838.js +0 -0
  244. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3520.3495b98946de6960ace8.js +0 -0
  245. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3528.3b5ef5f31d460b5fcd01.js +0 -0
  246. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3547.bd90e90bfe79911486e8.js +0 -0
  247. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3549.24f2fe646d8128bc9db0.js +0 -0
  248. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/355254db9ca10a09a3b5.woff +0 -0
  249. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3601.5c17c015d71b69ddcab3.js +0 -0
  250. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/36e0d72d8a7afc696a3e.woff +0 -0
  251. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3724.a4657dc16be2ffc49282.js +0 -0
  252. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/373c04fd2418f5c77eea.eot +0 -0
  253. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/378.6d0f0fc4c8a2eb80ac43.js +0 -0
  254. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3783.93d5366ab28a19e1f0f9.js +0 -0
  255. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3807.08a8fd824036c30b3746.js +0 -0
  256. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/383.db345dbeef5ef774e50c.js +0 -0
  257. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3871.ba96e5b53bb16df56618.js +0 -0
  258. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3923.f29c06abdcb560130471.js +0 -0
  259. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3935.905285b8e22c337968ed.js +0 -0
  260. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3935.905285b8e22c337968ed.js.LICENSE.txt +0 -0
  261. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3962.50786e3ed9a01329a4a0.js +0 -0
  262. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3bc6ecaae7ecf6f8d7f8.woff +0 -0
  263. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3de784d07b9fa8f104c1.woff +0 -0
  264. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/3f6d3488cf65374f6f67.woff +0 -0
  265. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4008.86acbefff6de679f77b5.js +0 -0
  266. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4008.86acbefff6de679f77b5.js.LICENSE.txt +0 -0
  267. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4017.096a74a538e031b6d346.js +0 -0
  268. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4043.aa012978c41d1d1b2f14.js +0 -0
  269. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4139.303ee7374c742287be85.js +0 -0
  270. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4155.5a8d6736017097028d78.js +0 -0
  271. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4283.f6092d8b7f2e53118d1b.js +0 -0
  272. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4291.e5d8997127541f75fdaf.js +0 -0
  273. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4405.43dab120fea32f30bbb9.js +0 -0
  274. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4419.93938494f456cd76a7e3.js +0 -0
  275. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4452.2f8819684b96ecff5231.js +0 -0
  276. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4519.6b784d052db42e93eff2.js +0 -0
  277. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4523.87224ea442d42316dda0.js +0 -0
  278. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4562.72444a09f5f092646490.js +0 -0
  279. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4591.428531724f49fe824ffa.js +0 -0
  280. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/46.fb119c5e5b1e0c72a00f.js +0 -0
  281. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4743.d4e9658ea25301e15a94.js +0 -0
  282. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/481e39042508ae313a60.woff +0 -0
  283. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4878.73004381601237a3ef9c.js +0 -0
  284. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/49.7233f68f95d10b85a83e.js +0 -0
  285. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/4986.a497cdda4b7152902568.js +0 -0
  286. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5041.cdc120bda0a0dec4cfc2.js +0 -0
  287. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5157.9c77dc27a251d4135876.js +0 -0
  288. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5201.8866042bae350659528a.js +0 -0
  289. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5203.c002d40ac647dc6e1d61.js +0 -0
  290. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5331.0cd3f010bb08983ec3fd.js +0 -0
  291. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5440.2541fcda12b661665148.js +0 -0
  292. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5521.ce4a0274596e0325374c.js +0 -0
  293. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5746.e4434ef2027bcc5ed0c9.js +0 -0
  294. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/581.2b878ed37172aced15b5.js +0 -0
  295. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5881.3946238aa4afdcf4f964.js +0 -0
  296. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5959.a6b1fd3b03d3649ea8b1.js +0 -0
  297. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/5cda41563a095bd70c78.woff +0 -0
  298. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6059.d83e7323b2ee1aa16009.js +0 -0
  299. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6163.f5b51a9f0df4846ba40f.js +0 -0
  300. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6207.a8079c8d8a61039dd530.js +0 -0
  301. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6243.2efd673d1304c43b7b78.js +0 -0
  302. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6267.1def2916929e185ab9fc.js +0 -0
  303. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6359.4b994bfd6b1dea2d6fe3.js +0 -0
  304. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6443.e6b52d3732b3e8513a71.js +0 -0
  305. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6532.bb7137729a2d6d4e6ddf.js +0 -0
  306. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6560.f42276a0b1b92aea515b.js +0 -0
  307. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6595.6a1d7e1abbf186dd119b.js +0 -0
  308. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6686.3c518aa6e5f9785fb486.js +0 -0
  309. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6815.0b699f0c162a24b0dbe3.js +0 -0
  310. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/6888.9d3914817f3290827a64.js +0 -0
  311. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7080.1330328bb6f46b4da81e.js +0 -0
  312. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7112.d5120c85ebd17620dda0.js +0 -0
  313. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7173.e28f63dbd553818e07d3.js +0 -0
  314. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/721921bab0d001ebff02.woff +0 -0
  315. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7245.c0cae8787dcd00b991b7.js +0 -0
  316. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7294.badf85a3180703d63f62.js +0 -0
  317. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7294.badf85a3180703d63f62.js.LICENSE.txt +0 -0
  318. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/72bc573386dd1d48c5bb.woff +0 -0
  319. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7317.af8a7da0f881a22752c1.js +0 -0
  320. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7318.397bf8e913e825b2be27.js +0 -0
  321. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7363.abe8e31a91e113753bae.js +0 -0
  322. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7384.60351e008d8f687e8fcc.js +0 -0
  323. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7390.8253478b90f756692702.js +0 -0
  324. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/745.85516a9bb83bcd94d00d.js +0 -0
  325. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7451.c0257dbfdd320e2c21f5.js +0 -0
  326. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7451.c0257dbfdd320e2c21f5.js.LICENSE.txt +0 -0
  327. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7472.58ba8647a489d019c2ef.js +0 -0
  328. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7473.5012397d10d3b945ecaa.js +0 -0
  329. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7508.b902347f820c70cd386a.js +0 -0
  330. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7511.b381a696cf806983c654.js +0 -0
  331. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7669.343e259c4c8269479f5b.js +0 -0
  332. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7702.c479c69f7a532f7b3fd5.js +0 -0
  333. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7730.7e3a9fb140d2d55a51fc.js +0 -0
  334. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7731.26db150e967313b7a7e2.js +0 -0
  335. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7763.19a095394000f9ef62bd.js +0 -0
  336. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7763.19a095394000f9ef62bd.js.LICENSE.txt +0 -0
  337. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7775.3e0dee729369fe3d5008.js +0 -0
  338. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7823.817687f13e9a6781fdd3.js +0 -0
  339. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7827.e36d073d947bf02a05e3.js +0 -0
  340. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7848.e83aa4b90ae87209abb8.js +0 -0
  341. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/786.8a99ee7dbd7bd0eb9dce.js +0 -0
  342. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7877.a4c46a784149533b91d4.js +0 -0
  343. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/7887.128a155df5d25e88c0ce.js +0 -0
  344. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/795.47ab66037ef33f808f09.js +0 -0
  345. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/79d088064beb3826054f.eot +0 -0
  346. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8002.25f64485372af5158c83.js +0 -0
  347. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8010.1cf8237e9def8404f355.js +0 -0
  348. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8012.40cb006f0c180ebafa91.js +0 -0
  349. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8285.1eac7b7582569be1c3a8.js +0 -0
  350. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/830.8ddf7d2d91f66a8e4d36.js +0 -0
  351. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8319.80fcbc832e1eb20b71e7.js +0 -0
  352. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8347.573b699e3590729bfa8a.js +0 -0
  353. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8405.154ba4b17a2dec22a355.js +0 -0
  354. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8493.fc635229db38e6fc6aa2.js +0 -0
  355. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8498.27a245b23921914bf5c2.js +0 -0
  356. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8512.1af96655287fd124877b.js +0 -0
  357. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8678.dcd3dab9025b13eb9be8.js +0 -0
  358. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/870673df72e70f87c91a.woff +0 -0
  359. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8710.5fc5ecb762fb4494db02.js +0 -0
  360. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8768.4a80caab00174c50eb10.js +0 -0
  361. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8768.4a80caab00174c50eb10.js.LICENSE.txt +0 -0
  362. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8787.4d36d28dcf94bf59cbfe.js +0 -0
  363. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8805.0f14a91b024b59c039a7.js +0 -0
  364. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8823.2ff947bcd96cc0723058.js +0 -0
  365. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8875.88988caaba1e33edad5b.js +0 -0
  366. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/88b98cad3688915e50da.woff +0 -0
  367. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8ea8791754915a898a31.woff2 +0 -0
  368. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/8ea8dbb1b02e6f730f55.woff +0 -0
  369. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9.0e0cba0ccc2a4b670600.js +0 -0
  370. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9030.260bc05e28eccff70ae8.js +0 -0
  371. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9041.df39043656c7233552e4.js +0 -0
  372. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9055.bd710a8db8883a836b59.js +0 -0
  373. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9065.5305259c65dfa1c99874.js +0 -0
  374. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9109.fa3ee74a5c0f378f4d51.js +0 -0
  375. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9192.db4337a516b7f38d1f89.js +0 -0
  376. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9222.1c2a8e69a2de57dd1984.js +0 -0
  377. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9265.bc2b66a4502cdfcfc14f.js +0 -0
  378. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9362.823dcfac216f8057452d.js +0 -0
  379. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9409.34c33ed11e2d6f318480.js +0 -0
  380. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/942.93c8de61ea9ea08ec097.js +0 -0
  381. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9421.022dc7b4e9a2c80c32c2.js +0 -0
  382. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9445.fe5e9e5b728de8d15873.js +0 -0
  383. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9621.9cbfa52c42927bb398b4.js +0 -0
  384. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9653.d93c93e084cd5e93cd2d.js +0 -0
  385. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9674eb1bd55047179038.svg +0 -0
  386. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9738.c0234a1f7f6ac262f560.js +0 -0
  387. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9747.6dd327f4928c6989ea8a.js +0 -0
  388. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9747.6dd327f4928c6989ea8a.js.LICENSE.txt +0 -0
  389. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9826.406d2a71dc45995bc549.js +0 -0
  390. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9826.406d2a71dc45995bc549.js.LICENSE.txt +0 -0
  391. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/9834b82ad26e2a37583d.woff2 +0 -0
  392. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/a009bea404f7a500ded4.woff +0 -0
  393. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/a3b9817780214caf01e8.svg +0 -0
  394. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/af04542b29eaac04550a.woff +0 -0
  395. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/af6397503fcefbd61397.ttf +0 -0
  396. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/af96f67d7accf5fd2a4a.woff +0 -0
  397. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/b418136e3b384baaadec.woff +0 -0
  398. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/be0a084962d8066884f7.svg +0 -0
  399. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/bootstrap.js +0 -0
  400. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/c49810b53ecc0d87d802.woff +0 -0
  401. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/c56da8d69f1a0208b8e0.woff +0 -0
  402. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/cb9e9e693192413cde2b.woff +0 -0
  403. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/cda59d6efffa685830fd.ttf +0 -0
  404. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/e4299464e7b012968eed.eot +0 -0
  405. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/e42a88444448ac3d6054.woff2 +0 -0
  406. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/e8711bbb871afd8e9dea.ttf +0 -0
  407. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/f9217f66874b0c01cd8c.woff +0 -0
  408. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/fc6ddf5df402b263cfb1.woff +0 -0
  409. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/index.out.js +0 -0
  410. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/static/style.js +0 -0
  411. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-dark-extension/index.css +0 -0
  412. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-dark-extension/index.js +0 -0
  413. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-light-extension/index.css +0 -0
  414. {jupyterlab-4.0.10.data → jupyterlab-4.0.12.data}/data/share/jupyter/lab/themes/@jupyterlab/theme-light-extension/index.js +0 -0
  415. {jupyterlab-4.0.10.dist-info → jupyterlab-4.0.12.dist-info}/entry_points.txt +0 -0
  416. {jupyterlab-4.0.10.dist-info → jupyterlab-4.0.12.dist-info}/licenses/LICENSE +0 -0
jupyterlab/_version.py CHANGED
@@ -6,7 +6,7 @@ from collections import namedtuple
6
6
  VersionInfo = namedtuple("VersionInfo", ["major", "minor", "micro", "releaselevel", "serial"])
7
7
 
8
8
  # DO NOT EDIT THIS DIRECTLY! It is managed by bumpversion
9
- version_info = VersionInfo(4, 0, 10, "final", 0)
9
+ version_info = VersionInfo(4, 0, 12, "final", 0)
10
10
 
11
11
  _specifier_ = {"alpha": "a", "beta": "b", "candidate": "rc", "final": ""}
12
12
 
@@ -9,6 +9,7 @@ import json
9
9
  import math
10
10
  import re
11
11
  import sys
12
+ import tempfile
12
13
  import xmlrpc.client
13
14
  from datetime import datetime, timedelta, timezone
14
15
  from functools import partial
@@ -23,6 +24,7 @@ import tornado
23
24
  from async_lru import alru_cache
24
25
  from traitlets import CFloat, CInt, Unicode, config, observe
25
26
 
27
+ from jupyterlab._version import __version__
26
28
  from jupyterlab.extensions.manager import (
27
29
  ActionResult,
28
30
  ExtensionManager,
@@ -276,102 +278,184 @@ class PyPIExtensionManager(ExtensionManager):
276
278
  The action result
277
279
  """
278
280
  current_loop = tornado.ioloop.IOLoop.current()
281
+ with tempfile.NamedTemporaryFile(mode="w+", delete=True) as fconstraint:
282
+ fconstraint.write(f"jupyterlab=={__version__}")
283
+ fconstraint.flush()
284
+
285
+ cmdline = [
286
+ sys.executable,
287
+ "-m",
288
+ "pip",
289
+ "install",
290
+ "--no-input",
291
+ "--quiet",
292
+ "--progress-bar",
293
+ "off",
294
+ "--constraint",
295
+ fconstraint.name,
296
+ ]
297
+ if version is not None:
298
+ cmdline.append(f"{name}=={version}")
299
+ else:
300
+ cmdline.append(name)
279
301
 
280
- cmdline = [
281
- sys.executable,
282
- "-m",
283
- "pip",
284
- "install",
285
- "--no-input",
286
- "--quiet",
287
- "--progress-bar",
288
- "off",
289
- ]
290
- if version is not None:
291
- cmdline.append(f"{name}=={version}")
292
- else:
293
- cmdline.append(name)
294
-
295
- pkg_action = {}
296
- try:
297
- tmp_cmd = cmdline.copy()
298
- tmp_cmd.insert(-1, "--dry-run")
299
- tmp_cmd.insert(-1, "--report")
300
- tmp_cmd.insert(-1, "-")
301
- result = await current_loop.run_in_executor(
302
- None, partial(run, tmp_cmd, capture_output=True, check=True)
303
- )
302
+ pkg_action = {}
303
+ try:
304
+ tmp_cmd = cmdline.copy()
305
+ tmp_cmd.insert(-1, "--dry-run")
306
+ tmp_cmd.insert(-1, "--report")
307
+ tmp_cmd.insert(-1, "-")
308
+ result = await current_loop.run_in_executor(
309
+ None, partial(run, tmp_cmd, capture_output=True, check=True)
310
+ )
304
311
 
305
- action_info = json.loads(result.stdout.decode("utf-8"))
306
- pkg_action = next(
307
- iter(
308
- filter(
309
- lambda p: p.get("metadata", {}).get("name") == name.replace("_", "-"),
310
- action_info.get("install", []),
312
+ action_info = json.loads(result.stdout.decode("utf-8"))
313
+ pkg_action = next(
314
+ iter(
315
+ filter(
316
+ lambda p: p.get("metadata", {}).get("name") == name.replace("_", "-"),
317
+ action_info.get("install", []),
318
+ )
311
319
  )
312
320
  )
321
+ except CalledProcessError as e:
322
+ self.log.debug(f"Fail to get installation report: {e.stderr}", exc_info=e)
323
+ except Exception as err:
324
+ self.log.debug("Fail to get installation report.", exc_info=err)
325
+ else:
326
+ self.log.debug(f"Actions to be executed by pip {json.dumps(action_info)}.")
327
+
328
+ self.log.debug(f"Executing '{' '.join(cmdline)}'")
329
+
330
+ result = await current_loop.run_in_executor(
331
+ None, partial(run, cmdline, capture_output=True)
313
332
  )
314
- except CalledProcessError as e:
315
- self.log.debug(f"Fail to get installation report: {e.stderr}", exc_info=e)
316
- except Exception as err:
317
- self.log.debug("Fail to get installation report.", exc_info=err)
318
- else:
319
- self.log.debug(f"Actions to be executed by pip {json.dumps(action_info)}.")
320
333
 
321
- self.log.debug(f"Executing '{' '.join(cmdline)}'")
334
+ self.log.debug(f"return code: {result.returncode}")
335
+ self.log.debug(f"stdout: {result.stdout.decode('utf-8')}")
336
+ error = result.stderr.decode("utf-8")
337
+ if result.returncode == 0:
338
+ self.log.debug(f"stderr: {error}")
339
+ # Figure out if the package has server or kernel parts
340
+ jlab_metadata = None
341
+ try:
342
+ download_url: str = pkg_action.get("download_info", {}).get("url")
343
+ if download_url is not None:
344
+ response = await self._http_client.fetch(download_url)
345
+ if download_url.endswith(".whl"):
346
+ with ZipFile(io.BytesIO(response.body)) as wheel:
347
+ for name in filter(
348
+ lambda f: Path(f).name == "package.json",
349
+ wheel.namelist(),
350
+ ):
351
+ data = json.loads(wheel.read(name))
352
+ jlab_metadata = data.get("jupyterlab")
353
+ if jlab_metadata is not None:
354
+ break
355
+ elif download_url.endswith("tar.gz"):
356
+ with TarFile(io.BytesIO(response.body)) as sdist:
357
+ for name in filter(
358
+ lambda f: Path(f).name == "package.json",
359
+ sdist.getnames(),
360
+ ):
361
+ data = json.load(sdist.extractfile(sdist.getmember(name)))
362
+ jlab_metadata = data.get("jupyterlab")
363
+ if jlab_metadata is not None:
364
+ break
365
+ except Exception as e:
366
+ self.log.debug("Fail to get package.json.", exc_info=e)
367
+
368
+ follow_ups = [
369
+ "frontend",
370
+ ]
371
+ if version is not None:
372
+ cmdline.append(f"{name}=={version}")
373
+ else:
374
+ cmdline.append(name)
375
+
376
+ pkg_action = {}
377
+ try:
378
+ tmp_cmd = cmdline.copy()
379
+ tmp_cmd.insert(-1, "--dry-run")
380
+ tmp_cmd.insert(-1, "--report")
381
+ tmp_cmd.insert(-1, "-")
382
+ result = await current_loop.run_in_executor(
383
+ None, partial(run, tmp_cmd, capture_output=True, check=True)
384
+ )
322
385
 
323
- result = await current_loop.run_in_executor(
324
- None, partial(run, cmdline, capture_output=True)
325
- )
386
+ action_info = json.loads(result.stdout.decode("utf-8"))
387
+ pkg_action = next(
388
+ filter(
389
+ lambda p: p.get("metadata", {}).get("name") == name.replace("_", "-"),
390
+ action_info.get("install", []),
391
+ )
392
+ )
393
+ except CalledProcessError as e:
394
+ self.log.debug(f"Fail to get installation report: {e.stderr}", exc_info=e)
395
+ except Exception as err:
396
+ self.log.debug("Fail to get installation report.", exc_info=err)
397
+ else:
398
+ self.log.debug(f"Actions to be executed by pip {json.dumps(action_info)}.")
326
399
 
327
- self.log.debug(f"return code: {result.returncode}")
328
- self.log.debug(f"stdout: {result.stdout.decode('utf-8')}")
329
- error = result.stderr.decode("utf-8")
330
- if result.returncode == 0:
331
- self.log.debug(f"stderr: {error}")
332
- # Figure out if the package has server or kernel parts
333
- jlab_metadata = None
334
- try:
335
- download_url: str = pkg_action.get("download_info", {}).get("url")
336
- if download_url is not None:
337
- response = await self._http_client.fetch(download_url)
338
- if download_url.endswith(".whl"):
339
- with ZipFile(io.BytesIO(response.body)) as wheel:
340
- for name in filter(
341
- lambda f: Path(f).name == "package.json",
342
- wheel.namelist(),
343
- ):
344
- data = json.loads(wheel.read(name))
345
- jlab_metadata = data.get("jupyterlab")
346
- if jlab_metadata is not None:
347
- break
348
- elif download_url.endswith("tar.gz"):
349
- with TarFile(io.BytesIO(response.body)) as sdist:
350
- for name in filter(
351
- lambda f: Path(f).name == "package.json",
352
- sdist.getnames(),
353
- ):
354
- data = json.load(sdist.extractfile(sdist.getmember(name)))
355
- jlab_metadata = data.get("jupyterlab")
356
- if jlab_metadata is not None:
357
- break
358
- except Exception as e:
359
- self.log.debug("Fail to get package.json.", exc_info=e)
400
+ self.log.debug(f"Executing '{' '.join(cmdline)}'")
360
401
 
361
- follow_ups = [
362
- "frontend",
363
- ]
364
- if jlab_metadata is not None:
365
- discovery = jlab_metadata.get("discovery", {})
366
- if "kernel" in discovery:
367
- follow_ups.append("kernel")
368
- if "server" in discovery:
369
- follow_ups.append("server")
402
+ result = await current_loop.run_in_executor(
403
+ None, partial(run, cmdline, capture_output=True)
404
+ )
370
405
 
371
- return ActionResult(status="ok", needs_restart=follow_ups)
372
- else:
373
- self.log.error(f"Failed to installed {name}: code {result.returncode}\n{error}")
374
- return ActionResult(status="error", message=error)
406
+ self.log.debug(f"return code: {result.returncode}")
407
+ self.log.debug(f"stdout: {result.stdout.decode('utf-8')}")
408
+ error = result.stderr.decode("utf-8")
409
+ if result.returncode == 0:
410
+ self.log.debug(f"stderr: {error}")
411
+ # Figure out if the package has server or kernel parts
412
+ jlab_metadata = None
413
+ try:
414
+ download_url: str = pkg_action.get("download_info", {}).get("url")
415
+ if download_url is not None:
416
+ response = await self._httpx_client.get(download_url)
417
+ if response.status_code < 400: # noqa PLR2004
418
+ if download_url.endswith(".whl"):
419
+ with ZipFile(io.BytesIO(response.content)) as wheel:
420
+ for name in filter(
421
+ lambda f: Path(f).name == "package.json",
422
+ wheel.namelist(),
423
+ ):
424
+ data = json.loads(wheel.read(name))
425
+ jlab_metadata = data.get("jupyterlab")
426
+ if jlab_metadata is not None:
427
+ break
428
+ elif download_url.endswith("tar.gz"):
429
+ with TarFile(io.BytesIO(response.content)) as sdist:
430
+ for name in filter(
431
+ lambda f: Path(f).name == "package.json",
432
+ sdist.getnames(),
433
+ ):
434
+ data = json.load(
435
+ sdist.extractfile(sdist.getmember(name))
436
+ )
437
+ jlab_metadata = data.get("jupyterlab")
438
+ if jlab_metadata is not None:
439
+ break
440
+ else:
441
+ self.log.debug(f"Failed to get '{download_url}'; {response!s}")
442
+ except Exception as e:
443
+ self.log.debug("Fail to get package.json.", exc_info=e)
444
+
445
+ follow_ups = [
446
+ "frontend",
447
+ ]
448
+ if jlab_metadata is not None:
449
+ discovery = jlab_metadata.get("discovery", {})
450
+ if "kernel" in discovery:
451
+ follow_ups.append("kernel")
452
+ if "server" in discovery:
453
+ follow_ups.append("server")
454
+
455
+ return ActionResult(status="ok", needs_restart=follow_ups)
456
+ else:
457
+ self.log.error(f"Failed to installed {name}: code {result.returncode}\n{error}")
458
+ return ActionResult(status="error", message=error)
375
459
 
376
460
  async def uninstall(self, extension: str) -> ActionResult:
377
461
  """Uninstall the required extension.