jupyverse 0.7.4__tar.gz → 0.7.5__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 (264) hide show
  1. {jupyverse-0.7.4 → jupyverse-0.7.5}/.pre-commit-config.yaml +1 -1
  2. {jupyverse-0.7.4 → jupyverse-0.7.5}/CHANGELOG.md +16 -2
  3. {jupyverse-0.7.4 → jupyverse-0.7.5}/PKG-INFO +1 -1
  4. jupyverse-0.7.5/jupyverse/__init__.py +1 -0
  5. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/__init__.py +1 -1
  6. jupyverse-0.7.5/plugins/auth/fps_auth/__init__.py +1 -0
  7. jupyverse-0.7.5/plugins/auth_fief/fps_auth_fief/__init__.py +1 -0
  8. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +1 -1
  9. jupyverse-0.7.5/plugins/contents/fps_contents/__init__.py +1 -0
  10. jupyverse-0.7.5/plugins/frontend/fps_frontend/__init__.py +1 -0
  11. jupyverse-0.7.5/plugins/jupyterlab/fps_jupyterlab/__init__.py +1 -0
  12. jupyverse-0.7.5/plugins/kernels/fps_kernels/__init__.py +1 -0
  13. jupyverse-0.7.5/plugins/lab/fps_lab/__init__.py +1 -0
  14. jupyverse-0.7.5/plugins/login/fps_login/__init__.py +1 -0
  15. jupyverse-0.7.5/plugins/nbconvert/fps_nbconvert/__init__.py +1 -0
  16. jupyverse-0.7.5/plugins/noauth/fps_noauth/__init__.py +1 -0
  17. jupyverse-0.7.5/plugins/notebook/fps_notebook/__init__.py +1 -0
  18. jupyverse-0.7.5/plugins/resource_usage/fps_resource_usage/__init__.py +1 -0
  19. jupyverse-0.7.5/plugins/terminals/fps_terminals/__init__.py +1 -0
  20. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/routes.py +3 -4
  21. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/server.py +16 -29
  22. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/pyproject.toml +1 -1
  23. jupyverse-0.7.5/plugins/webdav/fps_webdav/__init__.py +1 -0
  24. jupyverse-0.7.5/plugins/yjs/fps_yjs/__init__.py +1 -0
  25. jupyverse-0.7.4/jupyverse/__init__.py +0 -1
  26. jupyverse-0.7.4/plugins/auth/fps_auth/__init__.py +0 -1
  27. jupyverse-0.7.4/plugins/auth_fief/fps_auth_fief/__init__.py +0 -1
  28. jupyverse-0.7.4/plugins/contents/fps_contents/__init__.py +0 -1
  29. jupyverse-0.7.4/plugins/frontend/fps_frontend/__init__.py +0 -1
  30. jupyverse-0.7.4/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -1
  31. jupyverse-0.7.4/plugins/kernels/fps_kernels/__init__.py +0 -1
  32. jupyverse-0.7.4/plugins/lab/fps_lab/__init__.py +0 -1
  33. jupyverse-0.7.4/plugins/login/fps_login/__init__.py +0 -1
  34. jupyverse-0.7.4/plugins/nbconvert/fps_nbconvert/__init__.py +0 -1
  35. jupyverse-0.7.4/plugins/noauth/fps_noauth/__init__.py +0 -1
  36. jupyverse-0.7.4/plugins/notebook/fps_notebook/__init__.py +0 -1
  37. jupyverse-0.7.4/plugins/resource_usage/fps_resource_usage/__init__.py +0 -1
  38. jupyverse-0.7.4/plugins/terminals/fps_terminals/__init__.py +0 -1
  39. jupyverse-0.7.4/plugins/webdav/fps_webdav/__init__.py +0 -1
  40. jupyverse-0.7.4/plugins/yjs/fps_yjs/__init__.py +0 -1
  41. {jupyverse-0.7.4 → jupyverse-0.7.5}/.devcontainer/devcontainer.json +0 -0
  42. {jupyverse-0.7.4 → jupyverse-0.7.5}/.devcontainer/requirements.txt +0 -0
  43. {jupyverse-0.7.4 → jupyverse-0.7.5}/.github/workflows/check-release.yml +0 -0
  44. {jupyverse-0.7.4 → jupyverse-0.7.5}/.github/workflows/test.yml +0 -0
  45. {jupyverse-0.7.4 → jupyverse-0.7.5}/.gitignore +0 -0
  46. {jupyverse-0.7.4 → jupyverse-0.7.5}/CONTRIBUTING.md +0 -0
  47. {jupyverse-0.7.4 → jupyverse-0.7.5}/COPYING.md +0 -0
  48. {jupyverse-0.7.4 → jupyverse-0.7.5}/README.md +0 -0
  49. {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/environment.yml +0 -0
  50. {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/jupyter_notebook_config.py +0 -0
  51. {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/postBuild +0 -0
  52. {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/start +0 -0
  53. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/index.md +0 -0
  54. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/install.md +0 -0
  55. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/jupyter.svg +0 -0
  56. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/auth.md +0 -0
  57. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/contents.md +0 -0
  58. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/frontend.md +0 -0
  59. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/jupyterlab.md +0 -0
  60. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/kernels.md +0 -0
  61. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/lab.md +0 -0
  62. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/login.md +0 -0
  63. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/nbconvert.md +0 -0
  64. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/notebook.md +0 -0
  65. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/resource_usage.md +0 -0
  66. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/terminals.md +0 -0
  67. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/yjs.md +0 -0
  68. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
  69. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
  70. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/usage/microservices.md +0 -0
  71. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/usage/multi_user.md +0 -0
  72. {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/usage/single_user.md +0 -0
  73. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse/py.typed +0 -0
  74. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/COPYING.md +0 -0
  75. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/README.md +0 -0
  76. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
  77. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
  78. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
  79. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/cli.py +0 -0
  80. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
  81. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
  82. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
  83. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
  84. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
  85. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
  86. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
  87. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
  88. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
  89. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
  90. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
  91. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
  92. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/py.typed +0 -0
  93. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
  94. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
  95. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
  96. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/yjs/__init__.py +0 -0
  97. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
  98. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/pyproject.toml +0 -0
  99. {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/tests/test_resource_lock.py +0 -0
  100. {jupyverse-0.7.4 → jupyverse-0.7.5}/mkdocs.yml +0 -0
  101. {jupyverse-0.7.4 → jupyverse-0.7.5}/notebooks/admin_users.ipynb +0 -0
  102. {jupyverse-0.7.4 → jupyverse-0.7.5}/notebooks/admin_users.py +0 -0
  103. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/COPYING.md +0 -0
  104. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/README.md +0 -0
  105. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/backends.py +0 -0
  106. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/config.py +0 -0
  107. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/db.py +0 -0
  108. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/main.py +0 -0
  109. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/models.py +0 -0
  110. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/py.typed +0 -0
  111. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/routes.py +0 -0
  112. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/pyproject.toml +0 -0
  113. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/COPYING.md +0 -0
  114. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/README.md +0 -0
  115. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
  116. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
  117. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
  118. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/py.typed +0 -0
  119. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
  120. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/pyproject.toml +0 -0
  121. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/COPYING.md +0 -0
  122. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/README.md +0 -0
  123. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
  124. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
  125. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
  126. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
  127. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
  128. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/py.typed +0 -0
  129. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
  130. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/pyproject.toml +0 -0
  131. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/COPYING.md +0 -0
  132. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/README.md +0 -0
  133. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/fileid.py +0 -0
  134. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/main.py +0 -0
  135. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/py.typed +0 -0
  136. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/routes.py +0 -0
  137. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/pyproject.toml +0 -0
  138. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/COPYING.md +0 -0
  139. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/README.md +0 -0
  140. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/fps_frontend/main.py +0 -0
  141. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/fps_frontend/py.typed +0 -0
  142. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/pyproject.toml +0 -0
  143. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/COPYING.md +0 -0
  144. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/README.md +0 -0
  145. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
  146. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
  147. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
  148. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
  149. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/pyproject.toml +0 -0
  150. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/COPYING.md +0 -0
  151. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/README.md +0 -0
  152. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
  153. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/connect.py +0 -0
  154. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/driver.py +0 -0
  155. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
  156. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
  157. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
  158. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
  159. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
  160. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
  161. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/main.py +0 -0
  162. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/py.typed +0 -0
  163. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/routes.py +0 -0
  164. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/pyproject.toml +0 -0
  165. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/COPYING.md +0 -0
  166. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/README.md +0 -0
  167. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/main.py +0 -0
  168. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/py.typed +0 -0
  169. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/routes.py +0 -0
  170. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/static/favicon.ico +0 -0
  171. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/pyproject.toml +0 -0
  172. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/COPYING.md +0 -0
  173. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/README.md +0 -0
  174. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/main.py +0 -0
  175. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/py.typed +0 -0
  176. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/routes.py +0 -0
  177. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
  178. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
  179. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
  180. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
  181. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
  182. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
  183. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
  184. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/index.html +0 -0
  185. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/logo/github.svg +0 -0
  186. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/logo/logo.png +0 -0
  187. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/style/index.css +0 -0
  188. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/pyproject.toml +0 -0
  189. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/COPYING.md +0 -0
  190. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/README.md +0 -0
  191. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
  192. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/fps_nbconvert/py.typed +0 -0
  193. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
  194. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/pyproject.toml +0 -0
  195. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/COPYING.md +0 -0
  196. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/README.md +0 -0
  197. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/fps_noauth/backends.py +0 -0
  198. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/fps_noauth/main.py +0 -0
  199. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/fps_noauth/py.typed +0 -0
  200. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/pyproject.toml +0 -0
  201. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/COPYING.md +0 -0
  202. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/README.md +0 -0
  203. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/fps_notebook/main.py +0 -0
  204. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/fps_notebook/py.typed +0 -0
  205. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/fps_notebook/routes.py +0 -0
  206. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/pyproject.toml +0 -0
  207. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/COPYING.md +0 -0
  208. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/README.md +0 -0
  209. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
  210. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/fps_resource_usage/py.typed +0 -0
  211. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
  212. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/pyproject.toml +0 -0
  213. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/COPYING.md +0 -0
  214. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/README.md +0 -0
  215. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/main.py +0 -0
  216. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/py.typed +0 -0
  217. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/win_server.py +0 -0
  218. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/COPYING.md +0 -0
  219. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/README.md +0 -0
  220. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/config.py +0 -0
  221. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/main.py +0 -0
  222. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/py.typed +0 -0
  223. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/routes.py +0 -0
  224. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/pyproject.toml +0 -0
  225. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/tests/conftest.py +0 -0
  226. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/tests/test_webdav.py +0 -0
  227. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/COPYING.md +0 -0
  228. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/README.md +0 -0
  229. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/main.py +0 -0
  230. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/py.typed +0 -0
  231. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/routes.py +0 -0
  232. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/__init__.py +0 -0
  233. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/utils.py +0 -0
  234. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/ybasedoc.py +0 -0
  235. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/yblob.py +0 -0
  236. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/yfile.py +0 -0
  237. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/ynotebook.py +0 -0
  238. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/yunicode.py +0 -0
  239. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
  240. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
  241. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
  242. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
  243. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
  244. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
  245. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
  246. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
  247. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
  248. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
  249. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
  250. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywidgets/widgets.py +0 -0
  251. {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/pyproject.toml +0 -0
  252. {jupyverse-0.7.4 → jupyverse-0.7.5}/pyproject.toml +0 -0
  253. {jupyverse-0.7.4 → jupyverse-0.7.5}/pytest.ini +0 -0
  254. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/conftest.py +0 -0
  255. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/data/notebook0.ipynb +0 -0
  256. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/data/notebook1.ipynb +0 -0
  257. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_app.py +0 -0
  258. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_auth.py +0 -0
  259. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_contents.py +0 -0
  260. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_execute.py +0 -0
  261. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_kernels.py +0 -0
  262. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_server.py +0 -0
  263. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_settings.py +0 -0
  264. {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/utils.py +0 -0
@@ -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.7.1
19
+ rev: v0.9.7
20
20
  hooks:
21
21
  - id: ruff
22
22
  args: ["--fix"]
@@ -2,6 +2,22 @@
2
2
 
3
3
  <!-- <START NEW CHANGELOG ENTRY> -->
4
4
 
5
+ ## 0.7.5
6
+
7
+ ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.7.4...3c652e450d8ce5e46d7ea1bb00c402d611c4f54f))
8
+
9
+ ### Merged PRs
10
+
11
+ - Use AnyIO's wait_readable for terminals [#461](https://github.com/jupyter-server/jupyverse/pull/461) ([@davidbrochart](https://github.com/davidbrochart))
12
+
13
+ ### Contributors to this release
14
+
15
+ ([GitHub contributors page for this release](https://github.com/jupyter-server/jupyverse/graphs/contributors?from=2025-02-17&to=2025-02-26&type=c))
16
+
17
+ [@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2025-02-17..2025-02-26&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2025-02-17..2025-02-26&type=Issues)
18
+
19
+ <!-- <END NEW CHANGELOG ENTRY> -->
20
+
5
21
  ## 0.7.4
6
22
 
7
23
  ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.7.3...3dee770cdcb8ae2529874a0a73592d2744eed63e))
@@ -16,8 +32,6 @@
16
32
 
17
33
  [@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2025-02-17..2025-02-17&type=Issues)
18
34
 
19
- <!-- <END NEW CHANGELOG ENTRY> -->
20
-
21
35
  ## 0.7.3
22
36
 
23
37
  ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.7.2...2c046e8db0203c7d90476bf11ab11b89c0b0af51))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: jupyverse
3
- Version: 0.7.4
3
+ Version: 0.7.5
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>
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -5,7 +5,7 @@ from pydantic import BaseModel
5
5
 
6
6
  from .app import App
7
7
 
8
- __version__ = "0.7.4"
8
+ __version__ = "0.7.5"
9
9
 
10
10
 
11
11
  class Singleton(type):
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -1,3 +1,3 @@
1
- __version__ = "0.7.4"
1
+ __version__ = "0.7.5"
2
2
 
3
3
  from .launch import launch # noqa
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -3,7 +3,7 @@ from http import HTTPStatus
3
3
  from typing import Any, Dict, Type
4
4
 
5
5
  import structlog
6
- from anyio import Event, create_task_group
6
+ from anyio import Event
7
7
  from fastapi import Response
8
8
 
9
9
  from jupyverse_api.app import App
@@ -25,9 +25,8 @@ class _Terminals(Terminals):
25
25
  await self.stop_event.wait()
26
26
 
27
27
  async def stop(self):
28
- async with create_task_group() as tg:
29
- for terminal in TERMINALS.values():
30
- tg.start_soon(terminal["server"].stop)
28
+ for terminal in TERMINALS.values():
29
+ terminal["server"].quit()
31
30
  self.stop_event.set()
32
31
 
33
32
  async def get_terminals(
@@ -1,13 +1,17 @@
1
1
  import fcntl
2
2
  import os
3
3
  import pty
4
- import selectors
5
4
  import shlex
6
5
  import struct
7
6
  import termios
8
7
  from functools import partial
9
8
 
10
- from anyio import Lock, create_memory_object_stream, create_task_group, from_thread, to_thread
9
+ from anyio import (
10
+ Lock,
11
+ create_memory_object_stream,
12
+ create_task_group,
13
+ wait_readable,
14
+ )
11
15
  from anyio.abc import ByteReceiveStream, ByteSendStream
12
16
  from fastapi import WebSocketDisconnect
13
17
 
@@ -78,10 +82,6 @@ class _TerminalServer(TerminalServer):
78
82
  self.task_group.cancel_scope.cancel()
79
83
 
80
84
  def quit(self, websocket=None):
81
- try:
82
- self.recv_stream_from_backend.sel.unregister(self.p_out)
83
- except Exception:
84
- pass
85
85
  if websocket is None:
86
86
  self.websockets.clear()
87
87
  elif websocket in self.websockets:
@@ -103,33 +103,20 @@ class ReceiveStream(ByteReceiveStream):
103
103
  self.p_out = p_out
104
104
  self.task_group = task_group
105
105
  self.quit = quit
106
- self.sel = selectors.DefaultSelector()
107
- self.sel.register(self.p_out, selectors.EVENT_READ, self._read)
108
106
  self.send_stream, self.recv_stream = create_memory_object_stream[bytes](
109
107
  max_buffer_size=65536
110
108
  )
109
+ task_group.start_soon(self.read)
111
110
 
112
- def reader():
113
- # this runs in a thread
114
- # the callback is self._read, which returns True when the terminal was exited
115
- while True:
116
- events = self.sel.select()
117
- for key, mask in events:
118
- callback = key.data
119
- if callback():
120
- return
121
-
122
- task_group.start_soon(partial(to_thread.run_sync, reader, abandon_on_cancel=True))
123
-
124
- def _read(self) -> bool:
125
- try:
126
- data = self.p_out.read(65536)
127
- except OSError:
128
- from_thread.run_sync(self.quit)
129
- return True
130
- else:
131
- from_thread.run_sync(self.send_stream.send_nowait, data)
132
- return False
111
+ async def read(self):
112
+ while True:
113
+ await wait_readable(self.p_out)
114
+ try:
115
+ data = self.p_out.read(65536)
116
+ except OSError:
117
+ self.quit()
118
+ return
119
+ await self.send_stream.send(data)
133
120
 
134
121
  async def receive(self, max_bytes: int = 65536) -> bytes:
135
122
  data = await self.recv_stream.receive()
@@ -11,7 +11,7 @@ dependencies = [
11
11
  "websockets",
12
12
  "pywinpty;platform_system=='Windows'",
13
13
  "jupyverse-api >=0.7.0,<1",
14
- "anyio >=4,<5",
14
+ "anyio >=4.8.0,<5.0.0",
15
15
  ]
16
16
  dynamic = ["version"]
17
17
  [[project.authors]]
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -0,0 +1 @@
1
+ __version__ = "0.7.5"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
@@ -1 +0,0 @@
1
- __version__ = "0.7.4"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes