jupyverse 0.7.8__tar.gz → 0.8.0__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 (261) hide show
  1. jupyverse-0.8.0/.github/workflows/publish-release.yml +52 -0
  2. {jupyverse-0.7.8 → jupyverse-0.8.0}/.pre-commit-config.yaml +1 -1
  3. {jupyverse-0.7.8 → jupyverse-0.8.0}/CHANGELOG.md +7 -4
  4. {jupyverse-0.7.8 → jupyverse-0.8.0}/PKG-INFO +17 -16
  5. jupyverse-0.8.0/jupyverse/__init__.py +6 -0
  6. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/__init__.py +5 -1
  7. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/cli.py +1 -1
  8. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/lab/__init__.py +3 -5
  9. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/main/__init__.py +9 -3
  10. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/pyproject.toml +2 -2
  11. jupyverse-0.8.0/plugins/auth/fps_auth/__init__.py +6 -0
  12. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/pyproject.toml +2 -2
  13. jupyverse-0.8.0/plugins/auth_fief/fps_auth_fief/__init__.py +6 -0
  14. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/pyproject.toml +2 -2
  15. jupyverse-0.8.0/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +8 -0
  16. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/pyproject.toml +2 -2
  17. jupyverse-0.8.0/plugins/contents/fps_contents/__init__.py +6 -0
  18. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/contents/fps_contents/main.py +1 -1
  19. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/contents/pyproject.toml +2 -2
  20. jupyverse-0.8.0/plugins/frontend/fps_frontend/__init__.py +6 -0
  21. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/frontend/pyproject.toml +2 -2
  22. jupyverse-0.8.0/plugins/jupyterlab/fps_jupyterlab/__init__.py +6 -0
  23. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/jupyterlab/fps_jupyterlab/routes.py +5 -4
  24. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/jupyterlab/pyproject.toml +3 -3
  25. jupyverse-0.8.0/plugins/kernels/fps_kernels/__init__.py +6 -0
  26. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/pyproject.toml +2 -2
  27. jupyverse-0.8.0/plugins/lab/fps_lab/__init__.py +6 -0
  28. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/lab/pyproject.toml +2 -2
  29. jupyverse-0.8.0/plugins/login/fps_login/__init__.py +6 -0
  30. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/pyproject.toml +2 -2
  31. jupyverse-0.8.0/plugins/nbconvert/fps_nbconvert/__init__.py +6 -0
  32. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/nbconvert/pyproject.toml +2 -2
  33. jupyverse-0.8.0/plugins/noauth/fps_noauth/__init__.py +6 -0
  34. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/noauth/pyproject.toml +2 -2
  35. jupyverse-0.8.0/plugins/notebook/fps_notebook/__init__.py +6 -0
  36. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/notebook/fps_notebook/routes.py +3 -3
  37. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/notebook/pyproject.toml +3 -3
  38. jupyverse-0.8.0/plugins/resource_usage/fps_resource_usage/__init__.py +6 -0
  39. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/resource_usage/pyproject.toml +2 -2
  40. jupyverse-0.8.0/plugins/terminals/fps_terminals/__init__.py +6 -0
  41. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/pyproject.toml +2 -2
  42. jupyverse-0.8.0/plugins/webdav/fps_webdav/__init__.py +6 -0
  43. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/pyproject.toml +2 -2
  44. jupyverse-0.8.0/plugins/yjs/fps_yjs/__init__.py +6 -0
  45. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/pyproject.toml +2 -2
  46. {jupyverse-0.7.8 → jupyverse-0.8.0}/pyproject.toml +38 -40
  47. jupyverse-0.7.8/.github/workflows/check-release.yml +0 -64
  48. jupyverse-0.7.8/.github/workflows/prep-release.yml +0 -48
  49. jupyverse-0.7.8/.github/workflows/publish-release.yml +0 -58
  50. jupyverse-0.7.8/CONTRIBUTING.md +0 -16
  51. jupyverse-0.7.8/jupyverse/__init__.py +0 -1
  52. jupyverse-0.7.8/plugins/auth/fps_auth/__init__.py +0 -1
  53. jupyverse-0.7.8/plugins/auth_fief/fps_auth_fief/__init__.py +0 -1
  54. jupyverse-0.7.8/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +0 -3
  55. jupyverse-0.7.8/plugins/contents/fps_contents/__init__.py +0 -1
  56. jupyverse-0.7.8/plugins/frontend/fps_frontend/__init__.py +0 -1
  57. jupyverse-0.7.8/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -1
  58. jupyverse-0.7.8/plugins/kernels/fps_kernels/__init__.py +0 -1
  59. jupyverse-0.7.8/plugins/lab/fps_lab/__init__.py +0 -1
  60. jupyverse-0.7.8/plugins/login/fps_login/__init__.py +0 -1
  61. jupyverse-0.7.8/plugins/nbconvert/fps_nbconvert/__init__.py +0 -1
  62. jupyverse-0.7.8/plugins/noauth/fps_noauth/__init__.py +0 -1
  63. jupyverse-0.7.8/plugins/notebook/fps_notebook/__init__.py +0 -1
  64. jupyverse-0.7.8/plugins/resource_usage/fps_resource_usage/__init__.py +0 -1
  65. jupyverse-0.7.8/plugins/terminals/fps_terminals/__init__.py +0 -1
  66. jupyverse-0.7.8/plugins/webdav/fps_webdav/__init__.py +0 -1
  67. jupyverse-0.7.8/plugins/yjs/fps_yjs/__init__.py +0 -1
  68. {jupyverse-0.7.8 → jupyverse-0.8.0}/.devcontainer/devcontainer.json +0 -0
  69. {jupyverse-0.7.8 → jupyverse-0.8.0}/.devcontainer/requirements.txt +0 -0
  70. {jupyverse-0.7.8 → jupyverse-0.8.0}/.github/workflows/test.yml +0 -0
  71. {jupyverse-0.7.8 → jupyverse-0.8.0}/.gitignore +0 -0
  72. {jupyverse-0.7.8 → jupyverse-0.8.0}/COPYING.md +0 -0
  73. {jupyverse-0.7.8 → jupyverse-0.8.0}/README.md +0 -0
  74. {jupyverse-0.7.8 → jupyverse-0.8.0}/binder/environment.yml +0 -0
  75. {jupyverse-0.7.8 → jupyverse-0.8.0}/binder/jupyter_notebook_config.py +0 -0
  76. {jupyverse-0.7.8 → jupyverse-0.8.0}/binder/postBuild +0 -0
  77. {jupyverse-0.7.8 → jupyverse-0.8.0}/binder/start +0 -0
  78. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/index.md +0 -0
  79. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/install.md +0 -0
  80. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/jupyter.svg +0 -0
  81. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/auth.md +0 -0
  82. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/contents.md +0 -0
  83. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/frontend.md +0 -0
  84. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/jupyterlab.md +0 -0
  85. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/kernels.md +0 -0
  86. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/lab.md +0 -0
  87. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/login.md +0 -0
  88. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/nbconvert.md +0 -0
  89. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/notebook.md +0 -0
  90. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/resource_usage.md +0 -0
  91. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/terminals.md +0 -0
  92. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/plugins/yjs.md +0 -0
  93. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
  94. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
  95. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/usage/microservices.md +0 -0
  96. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/usage/multi_user.md +0 -0
  97. {jupyverse-0.7.8 → jupyverse-0.8.0}/docs/usage/single_user.md +0 -0
  98. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse/py.typed +0 -0
  99. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/COPYING.md +0 -0
  100. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/README.md +0 -0
  101. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
  102. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
  103. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
  104. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
  105. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
  106. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
  107. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
  108. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
  109. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
  110. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
  111. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
  112. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
  113. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
  114. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/py.typed +0 -0
  115. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
  116. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
  117. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
  118. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/yjs/__init__.py +0 -0
  119. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
  120. {jupyverse-0.7.8 → jupyverse-0.8.0}/jupyverse_api/tests/test_resource_lock.py +0 -0
  121. {jupyverse-0.7.8 → jupyverse-0.8.0}/mkdocs.yml +0 -0
  122. {jupyverse-0.7.8 → jupyverse-0.8.0}/notebooks/admin_users.ipynb +0 -0
  123. {jupyverse-0.7.8 → jupyverse-0.8.0}/notebooks/admin_users.py +0 -0
  124. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/COPYING.md +0 -0
  125. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/README.md +0 -0
  126. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/fps_auth/backends.py +0 -0
  127. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/fps_auth/config.py +0 -0
  128. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/fps_auth/db.py +0 -0
  129. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/fps_auth/main.py +0 -0
  130. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/fps_auth/models.py +0 -0
  131. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/fps_auth/py.typed +0 -0
  132. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth/fps_auth/routes.py +0 -0
  133. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/COPYING.md +0 -0
  134. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/README.md +0 -0
  135. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
  136. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
  137. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
  138. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/fps_auth_fief/py.typed +0 -0
  139. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
  140. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/COPYING.md +0 -0
  141. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/README.md +0 -0
  142. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
  143. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
  144. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
  145. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
  146. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
  147. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/fps_auth_jupyterhub/py.typed +0 -0
  148. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
  149. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/contents/COPYING.md +0 -0
  150. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/contents/README.md +0 -0
  151. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/contents/fps_contents/fileid.py +0 -0
  152. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/contents/fps_contents/py.typed +0 -0
  153. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/contents/fps_contents/routes.py +0 -0
  154. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/frontend/COPYING.md +0 -0
  155. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/frontend/README.md +0 -0
  156. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/frontend/fps_frontend/main.py +0 -0
  157. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/frontend/fps_frontend/py.typed +0 -0
  158. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/jupyterlab/COPYING.md +0 -0
  159. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/jupyterlab/README.md +0 -0
  160. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
  161. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
  162. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
  163. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/COPYING.md +0 -0
  164. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/README.md +0 -0
  165. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
  166. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_driver/connect.py +0 -0
  167. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_driver/driver.py +0 -0
  168. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
  169. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
  170. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
  171. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
  172. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
  173. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
  174. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/main.py +0 -0
  175. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/py.typed +0 -0
  176. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/kernels/fps_kernels/routes.py +0 -0
  177. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/lab/COPYING.md +0 -0
  178. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/lab/README.md +0 -0
  179. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/lab/fps_lab/main.py +0 -0
  180. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/lab/fps_lab/py.typed +0 -0
  181. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/lab/fps_lab/routes.py +0 -0
  182. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/lab/fps_lab/static/favicon.ico +0 -0
  183. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/COPYING.md +0 -0
  184. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/README.md +0 -0
  185. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/main.py +0 -0
  186. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/py.typed +0 -0
  187. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/routes.py +0 -0
  188. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
  189. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
  190. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
  191. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
  192. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
  193. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
  194. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
  195. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/index.html +0 -0
  196. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/logo/github.svg +0 -0
  197. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/logo/logo.png +0 -0
  198. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/login/fps_login/static/style/index.css +0 -0
  199. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/nbconvert/COPYING.md +0 -0
  200. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/nbconvert/README.md +0 -0
  201. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
  202. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/nbconvert/fps_nbconvert/py.typed +0 -0
  203. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
  204. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/noauth/COPYING.md +0 -0
  205. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/noauth/README.md +0 -0
  206. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/noauth/fps_noauth/backends.py +0 -0
  207. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/noauth/fps_noauth/main.py +0 -0
  208. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/noauth/fps_noauth/py.typed +0 -0
  209. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/notebook/COPYING.md +0 -0
  210. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/notebook/README.md +0 -0
  211. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/notebook/fps_notebook/main.py +0 -0
  212. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/notebook/fps_notebook/py.typed +0 -0
  213. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/resource_usage/COPYING.md +0 -0
  214. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/resource_usage/README.md +0 -0
  215. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
  216. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/resource_usage/fps_resource_usage/py.typed +0 -0
  217. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
  218. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/COPYING.md +0 -0
  219. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/README.md +0 -0
  220. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/fps_terminals/main.py +0 -0
  221. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/fps_terminals/py.typed +0 -0
  222. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/fps_terminals/routes.py +0 -0
  223. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/fps_terminals/server.py +0 -0
  224. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/terminals/fps_terminals/win_server.py +0 -0
  225. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/COPYING.md +0 -0
  226. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/README.md +0 -0
  227. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/fps_webdav/config.py +0 -0
  228. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/fps_webdav/main.py +0 -0
  229. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/fps_webdav/py.typed +0 -0
  230. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/fps_webdav/routes.py +0 -0
  231. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/tests/conftest.py +0 -0
  232. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/webdav/tests/test_webdav.py +0 -0
  233. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/COPYING.md +0 -0
  234. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/README.md +0 -0
  235. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/main.py +0 -0
  236. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/py.typed +0 -0
  237. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/routes.py +0 -0
  238. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
  239. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
  240. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
  241. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
  242. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
  243. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
  244. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
  245. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
  246. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
  247. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
  248. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
  249. {jupyverse-0.7.8 → jupyverse-0.8.0}/plugins/yjs/fps_yjs/ywidgets/widgets.py +0 -0
  250. {jupyverse-0.7.8 → jupyverse-0.8.0}/pytest.ini +0 -0
  251. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/conftest.py +0 -0
  252. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/data/notebook0.ipynb +0 -0
  253. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/data/notebook1.ipynb +0 -0
  254. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/test_app.py +0 -0
  255. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/test_auth.py +0 -0
  256. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/test_contents.py +0 -0
  257. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/test_execute.py +0 -0
  258. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/test_kernels.py +0 -0
  259. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/test_server.py +0 -0
  260. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/test_settings.py +0 -0
  261. {jupyverse-0.7.8 → jupyverse-0.8.0}/tests/utils.py +0 -0
@@ -0,0 +1,52 @@
1
+ name: Publish
2
+
3
+ on:
4
+ push:
5
+ tags:
6
+ - "[0-9]+.[0-9]+.[0-9]+"
7
+ - "[0-9]+.[0-9]+.[0-9]+.post[0-9]+"
8
+ - "[0-9]+.[0-9]+.[0-9]+[a-b][0-9]+"
9
+ - "[0-9]+.[0-9]+.[0-9]+rc[0-9]+"
10
+
11
+ jobs:
12
+ build:
13
+ runs-on: ubuntu-latest
14
+ steps:
15
+ - uses: actions/checkout@v4
16
+ - uses: astral-sh/setup-uv@v6
17
+ - run: |
18
+ uv build --all-packages
19
+ - uses: actions/upload-artifact@v4
20
+ with:
21
+ name: dist
22
+ path: dist
23
+
24
+ pypi-publish:
25
+ name: Upload release to PyPI
26
+ needs: build
27
+ runs-on: ubuntu-latest
28
+ environment: release
29
+ permissions:
30
+ id-token: write
31
+ steps:
32
+ - name: Retrieve packages
33
+ uses: actions/download-artifact@v4
34
+ - name: Upload packages
35
+ uses: pypa/gh-action-pypi-publish@release/v1
36
+
37
+ github-release:
38
+ name: Create GitHub release
39
+ needs: pypi-publish
40
+ runs-on: ubuntu-latest
41
+ permissions:
42
+ contents: write
43
+ steps:
44
+ - uses: actions/checkout@v4
45
+ - id: changelog
46
+ uses: agronholm/release-notes@v1
47
+ with:
48
+ path: CHANGELOG.md
49
+ version_pattern: ^\#\# ([0-9][^*]*)\n
50
+ - uses: ncipollo/release-action@v1
51
+ with:
52
+ body: ${{ steps.changelog.outputs.changelog }}
@@ -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.11.6
19
+ rev: v0.11.10
20
20
  hooks:
21
21
  - id: ruff
22
22
  args: ["--fix"]
@@ -1,6 +1,11 @@
1
- # Changes in Jupyverse {#changelog}
1
+ # Version history
2
2
 
3
- <!-- <START NEW CHANGELOG ENTRY> -->
3
+ ## 0.8.0
4
+
5
+ - Use `uv` for building and publishing.
6
+ - Update `fps` to v0.4.0.
7
+ - Depend on package `notebook-frontend` instead of `notebook`.
8
+ - Depend on package `jupyterlab-js` instead of `jupyterlab`.
4
9
 
5
10
  ## 0.7.8
6
11
 
@@ -18,8 +23,6 @@
18
23
 
19
24
  [@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2025-04-04..2025-04-23&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2025-04-04..2025-04-23&type=Issues)
20
25
 
21
- <!-- <END NEW CHANGELOG ENTRY> -->
22
-
23
26
  ## 0.7.7
24
27
 
25
28
  ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.7.6...69a1ecaa8f61a83c441d1c8e69a02835085fceb6))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jupyverse
3
- Version: 0.7.8
3
+ Version: 0.8.0
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>
@@ -9,30 +9,31 @@ License-File: COPYING.md
9
9
  Keywords: fastapi,jupyter,plugins,server
10
10
  Requires-Python: >=3.9
11
11
  Requires-Dist: eval-type-backport; python_version < '3.10'
12
- Requires-Dist: fps-contents<1,>=0.7.0
13
- Requires-Dist: fps-frontend<1,>=0.7.0
14
- Requires-Dist: fps-kernels<1,>=0.7.0
15
- Requires-Dist: fps-lab<1,>=0.7.0
16
- Requires-Dist: fps-nbconvert<1,>=0.7.0
17
- Requires-Dist: fps-terminals<1,>=0.7.0
18
- Requires-Dist: fps-yjs<1,>=0.7.0
19
- Requires-Dist: jupyverse-api<1,>=0.7.0
12
+ Requires-Dist: fps-contents<0.9.0,>=0.8.0
13
+ Requires-Dist: fps-frontend<0.9.0,>=0.8.0
14
+ Requires-Dist: fps-kernels<0.9.0,>=0.8.0
15
+ Requires-Dist: fps-lab<0.9.0,>=0.8.0
16
+ Requires-Dist: fps-nbconvert<0.9.0,>=0.8.0
17
+ Requires-Dist: fps-terminals<0.9.0,>=0.8.0
18
+ Requires-Dist: fps-yjs<0.9.0,>=0.8.0
19
+ Requires-Dist: fps[anycorn,click,fastapi]<0.5.0,>=0.4.0
20
+ Requires-Dist: jupyverse-api<0.9.0,>=0.8.0
20
21
  Provides-Extra: auth
21
- Requires-Dist: fps-auth<1,>=0.7.0; extra == 'auth'
22
- Requires-Dist: fps-login<1,>=0.7.0; extra == 'auth'
22
+ Requires-Dist: fps-auth<0.9.0,>=0.8.0; extra == 'auth'
23
+ Requires-Dist: fps-login<0.9.0,>=0.8.0; extra == 'auth'
23
24
  Provides-Extra: auth-fief
24
- Requires-Dist: fps-auth-fief<1,>=0.7.0; extra == 'auth-fief'
25
+ Requires-Dist: fps-auth-fief<0.9.0,>=0.8.0; extra == 'auth-fief'
25
26
  Provides-Extra: auth-jupyterhub
26
- Requires-Dist: fps-auth-jupyterhub<1,>=0.7.0; extra == 'auth-jupyterhub'
27
+ Requires-Dist: fps-auth-jupyterhub<0.9.0,>=0.8.0; extra == 'auth-jupyterhub'
27
28
  Provides-Extra: docs
28
29
  Requires-Dist: mkdocs; extra == 'docs'
29
30
  Requires-Dist: mkdocs-material; extra == 'docs'
30
31
  Provides-Extra: jupyterlab
31
- Requires-Dist: fps-jupyterlab<1,>=0.7.0; extra == 'jupyterlab'
32
+ Requires-Dist: fps-jupyterlab<0.9.0,>=0.8.0; extra == 'jupyterlab'
32
33
  Provides-Extra: noauth
33
- Requires-Dist: fps-noauth<1,>=0.7.0; extra == 'noauth'
34
+ Requires-Dist: fps-noauth<0.9.0,>=0.8.0; extra == 'noauth'
34
35
  Provides-Extra: notebook
35
- Requires-Dist: fps-notebook<1,>=0.7.0; extra == 'notebook'
36
+ Requires-Dist: fps-notebook<0.9.0,>=0.8.0; extra == 'notebook'
36
37
  Provides-Extra: test
37
38
  Requires-Dist: httpx; extra == 'test'
38
39
  Requires-Dist: httpx-ws>=0.4.1; extra == 'test'
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("jupyverse")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -1,3 +1,4 @@
1
+ import importlib.metadata
1
2
  from typing import Any
2
3
 
3
4
  from anyio import Event
@@ -5,7 +6,10 @@ from pydantic import BaseModel
5
6
 
6
7
  from .app import App
7
8
 
8
- __version__ = "0.7.8"
9
+ try:
10
+ __version__ = importlib.metadata.version("jupyverse_api")
11
+ except importlib.metadata.PackageNotFoundError:
12
+ __version__ = "unknown"
9
13
 
10
14
 
11
15
  class Singleton(type):
@@ -4,7 +4,7 @@ import sys
4
4
  from typing import Any
5
5
 
6
6
  import rich_click as click
7
- from fps import main as fps_main
7
+ from fps.cli._cli import main as fps_main
8
8
 
9
9
  if sys.version_info < (3, 10):
10
10
  from importlib_metadata import entry_points
@@ -29,13 +29,11 @@ class Lab(Router, ABC):
29
29
  self.federated_extensions, disabled_extensions = self.get_federated_extensions(
30
30
  self.extensions_dir
31
31
  )
32
- if jupyterlab_config is not None:
33
- import jupyterlab as jupyterlab_module # type: ignore
34
32
 
35
- jlab_dev_mode = jupyterlab_config.dev_mode
36
- else:
37
- jlab_dev_mode = False
33
+ jlab_dev_mode = False if jupyterlab_config is None else jupyterlab_config.dev_mode
38
34
  if jlab_dev_mode:
35
+ import jupyterlab as jupyterlab_module # type: ignore
36
+
39
37
  self.jlab_dir = Path(jupyterlab_module.__file__).parents[1] / "dev_mode"
40
38
  else:
41
39
  self.jlab_dir = self.prefix_dir / "share" / "jupyter" / "lab"
@@ -41,11 +41,16 @@ class JupyverseModule(FastAPIModule):
41
41
  structlog.stdlib.recreate_defaults(log_level=logging.DEBUG)
42
42
  super().__init__(
43
43
  name,
44
- host=self.jupyverse_config.host,
45
- port=self.jupyverse_config.port,
46
44
  debug=self.jupyverse_config.debug,
47
45
  )
48
46
  self.lifespan = Lifespan()
47
+ if self.jupyverse_config.start_server:
48
+ self.add_module(
49
+ "fps.web.server:ServerModule",
50
+ "server",
51
+ host=self.jupyverse_config.host,
52
+ port=self.jupyverse_config.port,
53
+ )
49
54
 
50
55
  async def prepare(self) -> None:
51
56
  await super().prepare()
@@ -71,7 +76,7 @@ class JupyverseModule(FastAPIModule):
71
76
  async def start(self) -> None:
72
77
  async with create_task_group() as tg:
73
78
  tg.start_soon(super().start)
74
- await self.started.wait()
79
+ await self.modules["server"].started.wait()
75
80
 
76
81
  # at this point, the server has started
77
82
  qp = self._query_params.d
@@ -101,6 +106,7 @@ class Lifespan:
101
106
 
102
107
 
103
108
  class JupyverseConfig(Config):
109
+ start_server: bool = True
104
110
  host: str = "127.0.0.1"
105
111
  port: int = 8000
106
112
  allow_origins: Json[list[str]] = []
@@ -29,9 +29,9 @@ dependencies = [
29
29
  "pydantic >=2,<3",
30
30
  "fastapi >=0.95.0,<1",
31
31
  "rich-click >=1.6.1,<2",
32
- "fps[web] >=0.3.0,<0.4.0",
32
+ "fps >=0.4.0,<0.5.0",
33
33
  ]
34
- dynamic = ["version"]
34
+ version = "0.8.0"
35
35
 
36
36
  [project.license]
37
37
  text = "BSD 3-Clause License"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_auth")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -6,12 +6,12 @@ build-backend = "hatchling.build"
6
6
  name = "fps_auth"
7
7
  description = "An FPS plugin for the authentication API"
8
8
  keywords = ["jupyter", "server", "fastapi", "plugins"]
9
- dynamic = ["version"]
9
+ version = "0.8.0"
10
10
  requires-python = ">=3.9"
11
11
  dependencies = [
12
12
  "aiosqlite",
13
13
  "fastapi-users[sqlalchemy,oauth] >=14.0.1,<15.0.0",
14
- "jupyverse-api >=0.7.0,<1",
14
+ "jupyverse-api >=0.8.0,<0.9.0",
15
15
  ]
16
16
 
17
17
  [[project.authors]]
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_auth_fief")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -6,11 +6,11 @@ build-backend = "hatchling.build"
6
6
  name = "fps_auth_fief"
7
7
  description = "An FPS plugin for the authentication API, using Fief"
8
8
  keywords = ["jupyter", "server", "fastapi", "plugins"]
9
- dynamic = ["version"]
9
+ version = "0.8.0"
10
10
  requires-python = ">=3.8"
11
11
  dependencies = [
12
12
  "fief-client[fastapi]",
13
- "jupyverse-api >=0.7.0,<1",
13
+ "jupyverse-api >=0.8.0,<0.9.0",
14
14
  ]
15
15
 
16
16
  [[project.authors]]
@@ -0,0 +1,8 @@
1
+ import importlib.metadata
2
+
3
+ from .launch import launch # noqa
4
+
5
+ try:
6
+ __version__ = importlib.metadata.version("fps_auth_jupyterhub")
7
+ except importlib.metadata.PackageNotFoundError:
8
+ __version__ = "unknown"
@@ -6,13 +6,13 @@ build-backend = "hatchling.build"
6
6
  name = "fps_auth_jupyterhub"
7
7
  description = "An FPS plugin for the authentication API, using JupyterHbu"
8
8
  keywords = ["jupyter", "server", "fastapi", "plugins"]
9
- dynamic = ["version"]
9
+ version = "0.8.0"
10
10
  requires-python = ">=3.9"
11
11
  dependencies = [
12
12
  "aiosqlite",
13
13
  "httpx >=0.24.1,<1",
14
14
  "jupyterhub >=4.0.1,<5",
15
- "jupyverse-api >=0.7.0,<1",
15
+ "jupyverse-api >=0.8.0,<0.9.0",
16
16
  "anyio",
17
17
  ]
18
18
 
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_contents")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -10,7 +10,7 @@ from .routes import _Contents
10
10
  class ContentsModule(Module):
11
11
  async def prepare(self) -> None:
12
12
  app = await self.get(App)
13
- auth = await self.get(Auth) # type: ignore
13
+ auth = await self.get(Auth) # type: ignore[type-abstract]
14
14
 
15
15
  contents = _Contents(app, auth)
16
16
  self.put(contents, Contents)
@@ -11,9 +11,9 @@ dependencies = [
11
11
  "watchfiles >=1.0.4,<2",
12
12
  "sqlite-anyio >=0.2.0,<0.3.0",
13
13
  "anyio>=3.6.2,<5",
14
- "jupyverse-api >=0.7.0,<1",
14
+ "jupyverse-api >=0.8.0,<0.9.0",
15
15
  ]
16
- dynamic = [ "version",]
16
+ version = "0.8.0"
17
17
  [[project.authors]]
18
18
  name = "Jupyter Development Team"
19
19
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_frontend")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -8,9 +8,9 @@ description = "An FPS plugin for the frontend related configuration"
8
8
  keywords = ["jupyter", "server", "fastapi", "plugins"]
9
9
  requires-python = ">=3.9"
10
10
  dependencies = [
11
- "jupyverse-api >=0.7.0,<1",
11
+ "jupyverse-api >=0.8.0,<0.9.0",
12
12
  ]
13
- dynamic = ["version"]
13
+ version = "0.8.0"
14
14
 
15
15
  [[project.authors]]
16
16
  name = "Jupyter Development Team"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_jupyterlab")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -2,7 +2,7 @@ import json
2
2
  from http import HTTPStatus
3
3
  from pathlib import Path
4
4
 
5
- import jupyterlab as jupyterlab_module # type: ignore
5
+ import jupyterlab_js
6
6
  from fastapi import Response
7
7
  from fastapi.responses import HTMLResponse
8
8
  from fastapi.staticfiles import StaticFiles
@@ -37,9 +37,10 @@ class _JupyterLab(JupyterLab):
37
37
  self.federated_extensions, self.disabled_extensions = lab.get_federated_extensions(
38
38
  extensions_dir
39
39
  )
40
- jupyterlab_dir = Path(jupyterlab_module.__file__).parents[1]
41
-
42
40
  if jupyterlab_config.dev_mode:
41
+ import jupyterlab as jupyterlab_module # type: ignore
42
+
43
+ jupyterlab_dir = Path(jupyterlab_module.__file__).parents[1]
43
44
  self.static_lab_dir = jupyterlab_dir / "dev_mode" / "static"
44
45
  else:
45
46
  self.static_lab_dir = lab.prefix_dir / "share" / "jupyter" / "lab" / "static"
@@ -120,7 +121,7 @@ class _JupyterLab(JupyterLab):
120
121
  "appName": "JupyterLab",
121
122
  "appNamespace": "lab",
122
123
  "appUrl": "/lab",
123
- "appVersion": jupyterlab_module.__version__,
124
+ "appVersion": jupyterlab_js.__version__,
124
125
  "baseUrl": base_url,
125
126
  "cacheFiles": False,
126
127
  "collaborative": collaborative,
@@ -8,10 +8,10 @@ description = "An FPS plugin for the JupyterLab API"
8
8
  keywords = [ "jupyter", "server", "fastapi", "plugins" ]
9
9
  requires-python = ">=3.9"
10
10
  dependencies = [
11
- "jupyterlab >=4.4.1,<5",
12
- "jupyverse-api >=0.7.0,<1",
11
+ "jupyterlab-js >=4.4.2,<5",
12
+ "jupyverse-api >=0.8.0,<0.9.0",
13
13
  ]
14
- dynamic = [ "version",]
14
+ version = "0.8.0"
15
15
  [[project.authors]]
16
16
  name = "Jupyter Development Team"
17
17
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_kernels")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -14,11 +14,11 @@ dependencies = [
14
14
  "python-dateutil",
15
15
  "types-python-dateutil",
16
16
  "watchfiles >=1.0.4,<2",
17
- "jupyverse-api >=0.7.0,<1",
17
+ "jupyverse-api >=0.8.0,<0.9.0",
18
18
  "pycrdt >=0.10.3,<0.13.0",
19
19
  "anyio",
20
20
  ]
21
- dynamic = [ "version",]
21
+ version = "0.8.0"
22
22
  [[project.authors]]
23
23
  name = "Jupyter Development Team"
24
24
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_lab")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -11,9 +11,9 @@ dependencies = [
11
11
  "importlib_metadata >=3.6; python_version<'3.10'",
12
12
  "babel",
13
13
  "json5",
14
- "jupyverse-api >=0.7.0,<1",
14
+ "jupyverse-api >=0.8.0,<0.9.0",
15
15
  ]
16
- dynamic = [ "version",]
16
+ version = "0.8.0"
17
17
  [[project.authors]]
18
18
  name = "Jupyter Development Team"
19
19
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_login")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -8,9 +8,9 @@ description = "An FPS plugin for the login API"
8
8
  keywords = ["jupyter", "server", "fastapi", "plugins"]
9
9
  requires-python = ">=3.9"
10
10
  dependencies = [
11
- "jupyverse-api >=0.7.0,<1",
11
+ "jupyverse-api >=0.8.0,<0.9.0",
12
12
  ]
13
- dynamic = [ "version",]
13
+ version = "0.8.0"
14
14
  [[project.authors]]
15
15
  name = "Jupyter Development Team"
16
16
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_nbconvert")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -9,9 +9,9 @@ keywords = ["jupyter", "server", "fastapi", "plugins"]
9
9
  requires-python = ">=3.9"
10
10
  dependencies = [
11
11
  "nbconvert",
12
- "jupyverse-api >=0.7.0,<1",
12
+ "jupyverse-api >=0.8.0,<0.9.0",
13
13
  ]
14
- dynamic = [ "version",]
14
+ version = "0.8.0"
15
15
  [[project.authors]]
16
16
  name = "Jupyter Development Team"
17
17
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_noauth")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -6,10 +6,10 @@ build-backend = "hatchling.build"
6
6
  name = "fps_noauth"
7
7
  description = "An FPS plugin for an unprotected API"
8
8
  keywords = ["jupyter", "server", "fastapi", "plugins"]
9
- dynamic = ["version"]
9
+ version = "0.8.0"
10
10
  requires-python = ">=3.9"
11
11
  dependencies = [
12
- "jupyverse-api >=0.7.0,<1",
12
+ "jupyverse-api >=0.8.0,<0.9.0",
13
13
  ]
14
14
 
15
15
  [[project.authors]]
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_notebook")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -1,7 +1,7 @@
1
1
  import json
2
2
  from pathlib import Path
3
3
 
4
- import notebook # type: ignore
4
+ import notebook_frontend
5
5
  from fastapi.staticfiles import StaticFiles
6
6
 
7
7
  from jupyverse_api.app import App
@@ -22,7 +22,7 @@ class _Notebook(Notebook):
22
22
  self.federated_extensions, self.disabled_extensions = lab.get_federated_extensions(
23
23
  extensions_dir
24
24
  )
25
- self.notebook_dir = Path(notebook.__file__).parent
25
+ self.notebook_dir = Path(notebook_frontend.__file__).parent
26
26
 
27
27
  self.mount(
28
28
  "/static/notebook",
@@ -160,7 +160,7 @@ def get_index(
160
160
  "appNamespace": "notebook",
161
161
  "appSettingsDir": (lab.prefix_dir / "share" / "jupyter" / "lab" / "settings").as_posix(),
162
162
  "appUrl": "/lab",
163
- "appVersion": notebook.__version__,
163
+ "appVersion": notebook_frontend.__version__,
164
164
  "baseUrl": base_url,
165
165
  "cacheFiles": True,
166
166
  "collaborative": collaborative,
@@ -8,10 +8,10 @@ description = "An FPS plugin for the Notebook API"
8
8
  keywords = ["jupyter", "server", "fastapi", "plugins"]
9
9
  requires-python = ">=3.9"
10
10
  dependencies = [
11
- "notebook >=7.1.2,<8.0.0",
12
- "jupyverse-api >=0.7.0,<1",
11
+ "notebook-frontend >=7.4.2,<8.0.0",
12
+ "jupyverse-api >=0.8.0,<0.9.0",
13
13
  ]
14
- dynamic = [ "version",]
14
+ version = "0.8.0"
15
15
  [[project.authors]]
16
16
  name = "Jupyter Development Team"
17
17
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_resource_usage")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -11,9 +11,9 @@ dependencies = [
11
11
  "psutil >=5.9.4",
12
12
  "types-psutil",
13
13
  "anyio >=3.6.2,<5",
14
- "jupyverse-api >=0.7.0,<1",
14
+ "jupyverse-api >=0.8.0,<0.9.0",
15
15
  ]
16
- dynamic = [ "version",]
16
+ version = "0.8.0"
17
17
  [[project.authors]]
18
18
  name = "Jupyter Development Team"
19
19
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_terminals")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"
@@ -10,10 +10,10 @@ requires-python = ">=3.9"
10
10
  dependencies = [
11
11
  "websockets",
12
12
  "pywinpty;platform_system=='Windows'",
13
- "jupyverse-api >=0.7.0,<1",
13
+ "jupyverse-api >=0.8.0,<0.9.0",
14
14
  "anyio >=4.8.0,<5.0.0",
15
15
  ]
16
- dynamic = ["version"]
16
+ version = "0.8.0"
17
17
  [[project.authors]]
18
18
  name = "Jupyter Development Team"
19
19
  email = "jupyter@googlegroups.com"
@@ -0,0 +1,6 @@
1
+ import importlib.metadata
2
+
3
+ try:
4
+ __version__ = importlib.metadata.version("fps_webdav")
5
+ except importlib.metadata.PackageNotFoundError:
6
+ __version__ = "unknown"