jupyverse 0.10.12__tar.gz → 0.10.13__tar.gz

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 (279) hide show
  1. {jupyverse-0.10.12 → jupyverse-0.10.13}/.pre-commit-config.yaml +2 -2
  2. {jupyverse-0.10.12 → jupyverse-0.10.13}/CHANGELOG.md +4 -0
  3. {jupyverse-0.10.12 → jupyverse-0.10.13}/PKG-INFO +4 -4
  4. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/kernels/__init__.py +1 -0
  5. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/pyproject.toml +1 -1
  6. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/fps_kernel_subprocess/kernel_subprocess.py +56 -20
  7. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/fps_kernel_subprocess/main.py +1 -1
  8. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/pyproject.toml +2 -2
  9. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_server/server.py +4 -0
  10. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/routes.py +1 -0
  11. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/pyproject.toml +2 -2
  12. {jupyverse-0.10.12 → jupyverse-0.10.13}/pyproject.toml +5 -4
  13. {jupyverse-0.10.12 → jupyverse-0.10.13}/.devcontainer/devcontainer.json +0 -0
  14. {jupyverse-0.10.12 → jupyverse-0.10.13}/.devcontainer/requirements.txt +0 -0
  15. {jupyverse-0.10.12 → jupyverse-0.10.13}/.github/workflows/publish-release.yml +0 -0
  16. {jupyverse-0.10.12 → jupyverse-0.10.13}/.github/workflows/test.yml +0 -0
  17. {jupyverse-0.10.12 → jupyverse-0.10.13}/.gitignore +0 -0
  18. {jupyverse-0.10.12 → jupyverse-0.10.13}/COPYING.md +0 -0
  19. {jupyverse-0.10.12 → jupyverse-0.10.13}/README.md +0 -0
  20. {jupyverse-0.10.12 → jupyverse-0.10.13}/binder/environment.yml +0 -0
  21. {jupyverse-0.10.12 → jupyverse-0.10.13}/binder/jupyter_notebook_config.py +0 -0
  22. {jupyverse-0.10.12 → jupyverse-0.10.13}/binder/postBuild +0 -0
  23. {jupyverse-0.10.12 → jupyverse-0.10.13}/binder/start +0 -0
  24. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/index.md +0 -0
  25. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/install.md +0 -0
  26. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/jupyter.svg +0 -0
  27. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/auth.md +0 -0
  28. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/contents.md +0 -0
  29. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/frontend.md +0 -0
  30. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/jupyterlab.md +0 -0
  31. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/kernels.md +0 -0
  32. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/lab.md +0 -0
  33. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/login.md +0 -0
  34. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/nbconvert.md +0 -0
  35. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/notebook.md +0 -0
  36. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/resource_usage.md +0 -0
  37. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/terminals.md +0 -0
  38. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/plugins/yjs.md +0 -0
  39. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
  40. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
  41. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/usage/microservices.md +0 -0
  42. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/usage/multi_user.md +0 -0
  43. {jupyverse-0.10.12 → jupyverse-0.10.13}/docs/usage/single_user.md +0 -0
  44. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse/__init__.py +0 -0
  45. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse/py.typed +0 -0
  46. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/COPYING.md +0 -0
  47. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/README.md +0 -0
  48. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/__init__.py +0 -0
  49. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
  50. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/asgi_websocket_transport.py +0 -0
  51. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
  52. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
  53. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/cli.py +0 -0
  54. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
  55. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
  56. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
  57. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/file_id/__init__.py +0 -0
  58. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/file_watcher/__init__.py +0 -0
  59. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
  60. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
  61. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/kernel/__init__.py +0 -0
  62. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
  63. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
  64. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
  65. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
  66. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
  67. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
  68. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/py.typed +0 -0
  69. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
  70. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
  71. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
  72. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/yjs/__init__.py +0 -0
  73. {jupyverse-0.10.12 → jupyverse-0.10.13}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
  74. {jupyverse-0.10.12 → jupyverse-0.10.13}/mkdocs.yml +0 -0
  75. {jupyverse-0.10.12 → jupyverse-0.10.13}/notebooks/admin_users.ipynb +0 -0
  76. {jupyverse-0.10.12 → jupyverse-0.10.13}/notebooks/admin_users.py +0 -0
  77. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/COPYING.md +0 -0
  78. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/README.md +0 -0
  79. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/__init__.py +0 -0
  80. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/backends.py +0 -0
  81. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/config.py +0 -0
  82. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/db.py +0 -0
  83. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/main.py +0 -0
  84. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/models.py +0 -0
  85. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/py.typed +0 -0
  86. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/fps_auth/routes.py +0 -0
  87. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth/pyproject.toml +0 -0
  88. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/COPYING.md +0 -0
  89. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/README.md +0 -0
  90. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/fps_auth_fief/__init__.py +0 -0
  91. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
  92. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
  93. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
  94. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/fps_auth_fief/py.typed +0 -0
  95. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
  96. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_fief/pyproject.toml +0 -0
  97. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/COPYING.md +0 -0
  98. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/README.md +0 -0
  99. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +0 -0
  100. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
  101. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
  102. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
  103. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
  104. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
  105. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/py.typed +0 -0
  106. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
  107. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/auth_jupyterhub/pyproject.toml +0 -0
  108. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/contents/COPYING.md +0 -0
  109. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/contents/README.md +0 -0
  110. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/contents/fps_contents/__init__.py +0 -0
  111. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/contents/fps_contents/main.py +0 -0
  112. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/contents/fps_contents/py.typed +0 -0
  113. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/contents/fps_contents/routes.py +0 -0
  114. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/contents/pyproject.toml +0 -0
  115. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_id/COPYING.md +0 -0
  116. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_id/README.md +0 -0
  117. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_id/fps_file_id/__init__.py +0 -0
  118. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_id/fps_file_id/file_id.py +0 -0
  119. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_id/fps_file_id/main.py +0 -0
  120. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_id/fps_file_id/py.typed +0 -0
  121. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_id/pyproject.toml +0 -0
  122. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher/COPYING.md +0 -0
  123. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher/README.md +0 -0
  124. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher/fps_file_watcher/__init__.py +0 -0
  125. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher/fps_file_watcher/file_watcher.py +0 -0
  126. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher/fps_file_watcher/main.py +0 -0
  127. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher/fps_file_watcher/py.typed +0 -0
  128. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher/pyproject.toml +0 -0
  129. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher_poll/COPYING.md +0 -0
  130. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher_poll/README.md +0 -0
  131. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher_poll/fps_file_watcher_poll/__init__.py +0 -0
  132. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher_poll/fps_file_watcher_poll/file_watcher.py +0 -0
  133. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher_poll/fps_file_watcher_poll/main.py +0 -0
  134. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher_poll/fps_file_watcher_poll/py.typed +0 -0
  135. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/file_watcher_poll/pyproject.toml +0 -0
  136. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/frontend/COPYING.md +0 -0
  137. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/frontend/README.md +0 -0
  138. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/frontend/fps_frontend/__init__.py +0 -0
  139. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/frontend/fps_frontend/main.py +0 -0
  140. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/frontend/fps_frontend/py.typed +0 -0
  141. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/frontend/pyproject.toml +0 -0
  142. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/COPYING.md +0 -0
  143. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/README.md +0 -0
  144. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -0
  145. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
  146. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
  147. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
  148. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
  149. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/jupyterlab/pyproject.toml +0 -0
  150. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/COPYING.md +0 -0
  151. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/README.md +0 -0
  152. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/fps_kernel_subprocess/__init__.py +0 -0
  153. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/fps_kernel_subprocess/connect.py +0 -0
  154. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_subprocess/fps_kernel_subprocess/py.typed +0 -0
  155. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_web_worker/COPYING.md +0 -0
  156. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_web_worker/README.md +0 -0
  157. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_web_worker/fps_kernel_web_worker/__init__.py +0 -0
  158. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_web_worker/fps_kernel_web_worker/kernel_web_worker.py +0 -0
  159. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_web_worker/fps_kernel_web_worker/main.py +0 -0
  160. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_web_worker/fps_kernel_web_worker/py.typed +0 -0
  161. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernel_web_worker/pyproject.toml +0 -0
  162. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/COPYING.md +0 -0
  163. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/README.md +0 -0
  164. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/__init__.py +0 -0
  165. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
  166. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_driver/driver.py +0 -0
  167. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
  168. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
  169. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
  170. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
  171. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
  172. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/main.py +0 -0
  173. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/fps_kernels/py.typed +0 -0
  174. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/kernels/tests/test_kernel_launcher.py +0 -0
  175. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/COPYING.md +0 -0
  176. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/README.md +0 -0
  177. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/fps_lab/__init__.py +0 -0
  178. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/fps_lab/main.py +0 -0
  179. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/fps_lab/py.typed +0 -0
  180. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/fps_lab/routes.py +0 -0
  181. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/fps_lab/static/favicon.ico +0 -0
  182. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/lab/pyproject.toml +0 -0
  183. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/COPYING.md +0 -0
  184. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/README.md +0 -0
  185. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/__init__.py +0 -0
  186. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/main.py +0 -0
  187. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/py.typed +0 -0
  188. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/routes.py +0 -0
  189. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
  190. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
  191. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
  192. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
  193. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
  194. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
  195. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
  196. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/index.html +0 -0
  197. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/logo/github.svg +0 -0
  198. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/logo/logo.png +0 -0
  199. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/fps_login/static/style/index.css +0 -0
  200. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/login/pyproject.toml +0 -0
  201. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/nbconvert/COPYING.md +0 -0
  202. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/nbconvert/README.md +0 -0
  203. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/nbconvert/fps_nbconvert/__init__.py +0 -0
  204. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
  205. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/nbconvert/fps_nbconvert/py.typed +0 -0
  206. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
  207. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/nbconvert/pyproject.toml +0 -0
  208. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/noauth/COPYING.md +0 -0
  209. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/noauth/README.md +0 -0
  210. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/noauth/fps_noauth/__init__.py +0 -0
  211. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/noauth/fps_noauth/backends.py +0 -0
  212. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/noauth/fps_noauth/main.py +0 -0
  213. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/noauth/fps_noauth/py.typed +0 -0
  214. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/noauth/pyproject.toml +0 -0
  215. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/notebook/COPYING.md +0 -0
  216. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/notebook/README.md +0 -0
  217. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/notebook/fps_notebook/__init__.py +0 -0
  218. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/notebook/fps_notebook/main.py +0 -0
  219. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/notebook/fps_notebook/py.typed +0 -0
  220. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/notebook/fps_notebook/routes.py +0 -0
  221. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/notebook/pyproject.toml +0 -0
  222. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/resource_usage/COPYING.md +0 -0
  223. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/resource_usage/README.md +0 -0
  224. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/resource_usage/fps_resource_usage/__init__.py +0 -0
  225. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
  226. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/resource_usage/fps_resource_usage/py.typed +0 -0
  227. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
  228. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/resource_usage/pyproject.toml +0 -0
  229. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/COPYING.md +0 -0
  230. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/README.md +0 -0
  231. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/fps_terminals/__init__.py +0 -0
  232. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/fps_terminals/main.py +0 -0
  233. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/fps_terminals/py.typed +0 -0
  234. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/fps_terminals/routes.py +0 -0
  235. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/fps_terminals/server.py +0 -0
  236. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/fps_terminals/win_server.py +0 -0
  237. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/terminals/pyproject.toml +0 -0
  238. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/COPYING.md +0 -0
  239. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/README.md +0 -0
  240. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/fps_webdav/__init__.py +0 -0
  241. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/fps_webdav/config.py +0 -0
  242. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/fps_webdav/main.py +0 -0
  243. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/fps_webdav/py.typed +0 -0
  244. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/fps_webdav/routes.py +0 -0
  245. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/pyproject.toml +0 -0
  246. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/tests/conftest.py +0 -0
  247. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/webdav/tests/test_webdav.py +0 -0
  248. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/COPYING.md +0 -0
  249. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/README.md +0 -0
  250. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/__init__.py +0 -0
  251. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/main.py +0 -0
  252. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/py.typed +0 -0
  253. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/routes.py +0 -0
  254. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
  255. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
  256. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
  257. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
  258. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
  259. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
  260. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
  261. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
  262. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
  263. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
  264. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
  265. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/fps_yjs/ywidgets/widgets.py +0 -0
  266. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/pyproject.toml +0 -0
  267. {jupyverse-0.10.12 → jupyverse-0.10.13}/plugins/yjs/tests/test_yjs.py +0 -0
  268. {jupyverse-0.10.12 → jupyverse-0.10.13}/pytest.ini +0 -0
  269. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/conftest.py +0 -0
  270. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/data/notebook0.ipynb +0 -0
  271. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/data/notebook1.ipynb +0 -0
  272. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/test_app.py +0 -0
  273. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/test_auth.py +0 -0
  274. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/test_contents.py +0 -0
  275. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/test_execute.py +0 -0
  276. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/test_kernels.py +0 -0
  277. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/test_server.py +0 -0
  278. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/test_settings.py +0 -0
  279. {jupyverse-0.10.12 → jupyverse-0.10.13}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
1
1
  repos:
2
2
  - repo: https://github.com/pre-commit/pre-commit-hooks
3
- rev: v5.0.0
3
+ rev: v6.0.0
4
4
  hooks:
5
5
  - id: end-of-file-fixer
6
6
  - id: check-case-conflict
@@ -16,7 +16,7 @@ repos:
16
16
  - id: trailing-whitespace
17
17
 
18
18
  - repo: https://github.com/astral-sh/ruff-pre-commit
19
- rev: v0.12.7
19
+ rev: v0.12.11
20
20
  hooks:
21
21
  - id: ruff
22
22
  args: ["--fix"]
@@ -1,5 +1,9 @@
1
1
  # Version history
2
2
 
3
+ ## 0.10.13
4
+
5
+ - Support separate kernel environment.
6
+
3
7
  ## 0.10.12
4
8
 
5
9
  - Add `FileWatcher` API.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jupyverse
3
- Version: 0.10.12
3
+ Version: 0.10.13
4
4
  Summary: A set of FPS plugins implementing a Jupyter server
5
5
  Project-URL: Homepage, https://jupyter.org
6
6
  Author-email: Jupyter Development Team <jupyter@googlegroups.com>
@@ -13,14 +13,14 @@ Requires-Dist: fps-contents<0.11.0,>=0.10.1
13
13
  Requires-Dist: fps-file-id<0.4.0,>=0.3.2
14
14
  Requires-Dist: fps-file-watcher<0.2.0,>=0.1.1
15
15
  Requires-Dist: fps-frontend<0.10.0,>=0.9.1
16
- Requires-Dist: fps-kernel-subprocess<0.2.0,>=0.1.2
17
- Requires-Dist: fps-kernels<0.11.0,>=0.10.2
16
+ Requires-Dist: fps-kernel-subprocess<0.2.0,>=0.1.3
17
+ Requires-Dist: fps-kernels<0.11.0,>=0.10.3
18
18
  Requires-Dist: fps-lab<0.10.0,>=0.9.1
19
19
  Requires-Dist: fps-nbconvert<0.10.0,>=0.9.1
20
20
  Requires-Dist: fps-terminals<0.10.0,>=0.9.1
21
21
  Requires-Dist: fps-yjs<0.11.0,>=0.10.5
22
22
  Requires-Dist: fps[anycorn,click,fastapi]<0.6.0,>=0.5.1
23
- Requires-Dist: jupyverse-api<0.12.0,>=0.11.2
23
+ Requires-Dist: jupyverse-api<0.12.0,>=0.11.3
24
24
  Requires-Dist: rich-click<2,>=1.6.1
25
25
  Provides-Extra: auth
26
26
  Requires-Dist: fps-auth<0.10.0,>=0.9.1; extra == 'auth'
@@ -251,3 +251,4 @@ class KernelsConfig(Config):
251
251
  default=None,
252
252
  )
253
253
  require_yjs: bool = False
254
+ kernelenv_path: str = ""
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "jupyverse_api"
7
- version = "0.11.2"
7
+ version = "0.11.3"
8
8
  description = "The public API for Jupyverse"
9
9
  readme = "README.md"
10
10
  requires-python = ">=3.9"
@@ -1,6 +1,7 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import json
4
+ import os
4
5
  import signal
5
6
  import subprocess
6
7
  import sys
@@ -9,8 +10,9 @@ from dataclasses import dataclass
9
10
  from typing import cast
10
11
 
11
12
  import anyio
12
- from anyio import TASK_STATUS_IGNORED, create_task_group, open_process
13
+ from anyio import TASK_STATUS_IGNORED, create_task_group, open_file, open_process, run_process
13
14
  from anyio.abc import TaskStatus
15
+ from anyio.streams.text import TextReceiveStream
14
16
 
15
17
  from jupyverse_api.kernel import Kernel
16
18
 
@@ -32,6 +34,7 @@ class KernelSubprocess(Kernel):
32
34
  kernel_cwd: str | None
33
35
  capture_output: bool
34
36
  connection_cfg: cfg_t | None = None
37
+ kernelenv_path: str = ""
35
38
 
36
39
  def __post_init__(self):
37
40
  super().__init__()
@@ -45,6 +48,8 @@ class KernelSubprocess(Kernel):
45
48
  raise RuntimeError("No connection_cfg")
46
49
  self.key = cast(str, self.connection_cfg["key"])
47
50
  self.wait_for_ready = True
51
+ self._process = None
52
+ self._pid = None
48
53
 
49
54
  async def start(self, *, task_status: TaskStatus[None] = TASK_STATUS_IGNORED) -> None:
50
55
  async with (
@@ -64,15 +69,12 @@ class KernelSubprocess(Kernel):
64
69
  self._from_iopub_receive_stream,
65
70
  create_task_group() as self.task_group,
66
71
  ):
67
- with open(self.kernelspec_path) as f:
68
- kernelspec = json.load(f)
69
- cmd = [s.format(connection_file=self.connection_file) for s in kernelspec["argv"]]
70
- if cmd and cmd[0] in {
71
- "python",
72
- f"python{sys.version_info[0]}",
73
- "python" + ".".join(map(str, sys.version_info[:2])),
74
- }:
75
- cmd[0] = sys.executable
72
+ async with await open_file(self.kernelspec_path) as f:
73
+ contents = await f.read()
74
+ kernelspec = json.loads(contents)
75
+ launch_kernel_cmd = [
76
+ s.format(connection_file=self.connection_file) for s in kernelspec["argv"]
77
+ ]
76
78
  if self.capture_output:
77
79
  stdout = subprocess.DEVNULL
78
80
  stderr = subprocess.STDOUT
@@ -80,7 +82,35 @@ class KernelSubprocess(Kernel):
80
82
  stdout = None
81
83
  stderr = None
82
84
  kernel_cwd = self.kernel_cwd if self.kernel_cwd else None
83
- self._process = await open_process(cmd, stdout=stdout, stderr=stderr, cwd=kernel_cwd)
85
+ kernelenv = ""
86
+ if self.kernelenv_path:
87
+ path = anyio.Path(self.kernelenv_path)
88
+ if await path.is_file():
89
+ kernelenv = await path.read_text()
90
+ if kernelenv:
91
+ import yaml # type: ignore[import-untyped]
92
+ env_name = yaml.load(kernelenv, Loader=yaml.CLoader)["name"]
93
+ cmd = f"micromamba create -f {self.kernelenv_path} --yes"
94
+ result = await run_process(cmd)
95
+ if result.returncode == 0:
96
+ cmd = """bash -c 'eval "$(micromamba shell hook --shell bash)";""" + \
97
+ f"micromamba activate {env_name};" + \
98
+ " ".join(launch_kernel_cmd) + "' & echo $!"
99
+ process = await open_process(cmd)
100
+ assert process.stdout is not None
101
+ async for text in TextReceiveStream(process.stdout):
102
+ self._pid = int(text)
103
+ break
104
+ else:
105
+ if launch_kernel_cmd and launch_kernel_cmd[0] in {
106
+ "python",
107
+ f"python{sys.version_info[0]}",
108
+ "python" + ".".join(map(str, sys.version_info[:2])),
109
+ }:
110
+ launch_kernel_cmd[0] = sys.executable
111
+ self._process = await open_process(
112
+ launch_kernel_cmd, stdout=stdout, stderr=stderr, cwd=kernel_cwd
113
+ )
84
114
 
85
115
  assert self.connection_cfg is not None
86
116
  identity = uuid.uuid4().hex.encode("ascii")
@@ -108,14 +138,17 @@ class KernelSubprocess(Kernel):
108
138
  self.started.set()
109
139
 
110
140
  async def stop(self) -> None:
111
- try:
112
- self._process.terminate()
113
- except ProcessLookupError:
114
- pass
115
- await self._process.wait()
116
- if self.write_connection_file:
117
- path = anyio.Path(self.connection_file)
118
- await path.unlink(missing_ok=True)
141
+ if self._process:
142
+ try:
143
+ self._process.terminate()
144
+ except ProcessLookupError:
145
+ pass
146
+ await self._process.wait()
147
+ if self.write_connection_file:
148
+ path = anyio.Path(self.connection_file)
149
+ await path.unlink(missing_ok=True)
150
+ else:
151
+ os.kill(self._pid, signal.SIGTERM)
119
152
 
120
153
  await self.shell_channel.stop()
121
154
  await self.stdin_channel.stop()
@@ -124,7 +157,10 @@ class KernelSubprocess(Kernel):
124
157
  self.task_group.cancel_scope.cancel()
125
158
 
126
159
  async def interrupt(self) -> None:
127
- self._process.send_signal(signal.SIGINT)
160
+ if self._process:
161
+ self._process.send_signal(signal.SIGINT)
162
+ else:
163
+ os.kill(self._pid, signal.SIGINT)
128
164
 
129
165
  async def forward_messages_to_shell(self) -> None:
130
166
  async for msg in self._to_shell_receive_stream:
@@ -10,4 +10,4 @@ from .kernel_subprocess import KernelSubprocess
10
10
  class KernelSubprocessModule(Module):
11
11
  async def prepare(self) -> None:
12
12
  default_kernel_factory = DefaultKernelFactory(KernelSubprocess)
13
- self.put(default_kernel_factory, DefaultKernelFactory)
13
+ self.put(default_kernel_factory)
@@ -4,12 +4,12 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fps_kernel_subprocess"
7
- version = "0.1.2"
7
+ version = "0.1.3"
8
8
  description = "An FPS plugin for the kernel subprocess API"
9
9
  keywords = ["jupyter", "server", "fastapi", "plugins"]
10
10
  requires-python = ">=3.9"
11
11
  dependencies = [
12
- "jupyverse-api >=0.11.0,<0.12.0",
12
+ "jupyverse-api >=0.11.3,<0.12.0",
13
13
  "anyio",
14
14
  "pyzmq",
15
15
  "zmq-anyio >=0.3.1,<0.4.0",
@@ -52,6 +52,7 @@ class KernelServer:
52
52
  self,
53
53
  default_kernel_factory: DefaultKernelFactory,
54
54
  kernelspec_path: str = "",
55
+ kernelenv_path: str = "",
55
56
  kernel_cwd: str = "",
56
57
  connection_file: str = "",
57
58
  write_connection_file: bool = True,
@@ -60,6 +61,7 @@ class KernelServer:
60
61
  self.default_kernel_factory = default_kernel_factory
61
62
  self.capture_kernel_output = capture_kernel_output
62
63
  self.kernelspec_path = kernelspec_path
64
+ self.kernelenv_path = kernelenv_path
63
65
  self.kernel_cwd = kernel_cwd
64
66
  self.connection_file = connection_file
65
67
  self.write_connection_file = write_connection_file
@@ -109,6 +111,7 @@ class KernelServer:
109
111
  self.kernel = self.default_kernel_factory(
110
112
  write_connection_file=self.write_connection_file,
111
113
  kernelspec_path=self.kernelspec_path,
114
+ kernelenv_path=self.kernelenv_path,
112
115
  connection_file=self.connection_file,
113
116
  kernel_cwd=self.kernel_cwd,
114
117
  capture_output=self.capture_kernel_output,
@@ -116,6 +119,7 @@ class KernelServer:
116
119
  else:
117
120
  self.kernel = kernel_factory(
118
121
  kernelspec_path=self.kernelspec_path,
122
+ kernelenv_path=self.kernelenv_path,
119
123
  connection_file=self.connection_file,
120
124
  kernel_cwd=self.kernel_cwd,
121
125
  capture_output=self.capture_kernel_output,
@@ -223,6 +223,7 @@ class _Kernels(Kernels):
223
223
  kernel_cwd = kernel_cwd.parent
224
224
  kernel_server = KernelServer(
225
225
  kernelspec_path=Path(find_kernelspec(kernel_name)).as_posix(),
226
+ kernelenv_path=self.kernels_config.kernelenv_path,
226
227
  kernel_cwd=str(kernel_cwd),
227
228
  default_kernel_factory=self.default_kernel_factory,
228
229
  )
@@ -4,14 +4,14 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "fps_kernels"
7
- version = "0.10.2"
7
+ version = "0.10.3"
8
8
  description = "An FPS plugin for the kernels API"
9
9
  keywords = ["jupyter", "server", "fastapi", "plugins"]
10
10
  requires-python = ">=3.9"
11
11
  dependencies = [
12
12
  "python-dateutil",
13
13
  "types-python-dateutil",
14
- "jupyverse-api >=0.11.2,<0.12.0",
14
+ "jupyverse-api >=0.11.3,<0.12.0",
15
15
  "pycrdt >=0.10.3,<0.13.0",
16
16
  "anyio",
17
17
  ]
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "jupyverse"
7
- version = "0.10.12"
7
+ version = "0.10.13"
8
8
  description = "A set of FPS plugins implementing a Jupyter server"
9
9
  keywords = ["jupyter", "server", "fastapi", "plugins"]
10
10
  requires-python = ">=3.9"
@@ -13,14 +13,14 @@ dependencies = [
13
13
  "fps-contents >=0.10.1,<0.11.0",
14
14
  "fps-file-id >=0.3.2,<0.4.0",
15
15
  "fps-file-watcher >=0.1.1,<0.2.0",
16
- "fps-kernel-subprocess >=0.1.2,<0.2.0",
17
- "fps-kernels >=0.10.2,<0.11.0",
16
+ "fps-kernel-subprocess >=0.1.3,<0.2.0",
17
+ "fps-kernels >=0.10.3,<0.11.0",
18
18
  "fps-terminals >=0.9.1,<0.10.0",
19
19
  "fps-nbconvert >=0.9.1,<0.10.0",
20
20
  "fps-yjs >=0.10.5,<0.11.0",
21
21
  "fps-lab >=0.9.1,<0.10.0",
22
22
  "fps-frontend >=0.9.1,<0.10.0",
23
- "jupyverse-api >=0.11.2,<0.12.0",
23
+ "jupyverse-api >=0.11.3,<0.12.0",
24
24
  "rich-click >=1.6.1,<2",
25
25
  "eval-type-backport; python_version<'3.10'",
26
26
  ]
@@ -89,6 +89,7 @@ pre-install-commands = [
89
89
  "pip install -e ./plugins/auth_jupyterhub",
90
90
  "pip install -e ./plugins/jupyterlab",
91
91
  "pip install -e ./plugins/notebook",
92
+ "pip install pyyaml",
92
93
  ]
93
94
  features = ["test"]
94
95
 
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes