jupyverse 0.6.1__tar.gz → 0.6.3__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 (268) hide show
  1. {jupyverse-0.6.1 → jupyverse-0.6.3}/.pre-commit-config.yaml +1 -1
  2. {jupyverse-0.6.1 → jupyverse-0.6.3}/CHANGELOG.md +30 -2
  3. {jupyverse-0.6.1 → jupyverse-0.6.3}/PKG-INFO +3 -3
  4. jupyverse-0.6.3/jupyverse/__init__.py +1 -0
  5. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/__init__.py +1 -1
  6. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/yjs/__init__.py +6 -1
  7. jupyverse-0.6.3/plugins/auth/fps_auth/__init__.py +1 -0
  8. jupyverse-0.6.3/plugins/auth_fief/fps_auth_fief/__init__.py +1 -0
  9. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +1 -1
  10. jupyverse-0.6.3/plugins/contents/fps_contents/__init__.py +1 -0
  11. jupyverse-0.6.3/plugins/frontend/fps_frontend/__init__.py +1 -0
  12. jupyverse-0.6.3/plugins/jupyterlab/fps_jupyterlab/__init__.py +1 -0
  13. jupyverse-0.6.3/plugins/kernels/fps_kernels/__init__.py +1 -0
  14. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/driver.py +8 -8
  15. jupyverse-0.6.3/plugins/lab/fps_lab/__init__.py +1 -0
  16. jupyverse-0.6.3/plugins/login/fps_login/__init__.py +1 -0
  17. jupyverse-0.6.3/plugins/nbconvert/fps_nbconvert/__init__.py +1 -0
  18. jupyverse-0.6.3/plugins/noauth/fps_noauth/__init__.py +1 -0
  19. jupyverse-0.6.3/plugins/notebook/fps_notebook/__init__.py +1 -0
  20. jupyverse-0.6.3/plugins/resource_usage/fps_resource_usage/__init__.py +1 -0
  21. jupyverse-0.6.3/plugins/terminals/fps_terminals/__init__.py +1 -0
  22. jupyverse-0.6.3/plugins/webdav/fps_webdav/__init__.py +1 -0
  23. jupyverse-0.6.3/plugins/yjs/fps_yjs/__init__.py +1 -0
  24. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/main.py +7 -2
  25. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/routes.py +8 -6
  26. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywidgets/widgets.py +8 -8
  27. {jupyverse-0.6.1 → jupyverse-0.6.3}/pyproject.toml +2 -2
  28. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_server.py +4 -4
  29. jupyverse-0.6.1/jupyverse/__init__.py +0 -1
  30. jupyverse-0.6.1/plugins/auth/fps_auth/__init__.py +0 -1
  31. jupyverse-0.6.1/plugins/auth_fief/fps_auth_fief/__init__.py +0 -1
  32. jupyverse-0.6.1/plugins/contents/fps_contents/__init__.py +0 -1
  33. jupyverse-0.6.1/plugins/frontend/fps_frontend/__init__.py +0 -1
  34. jupyverse-0.6.1/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -1
  35. jupyverse-0.6.1/plugins/kernels/fps_kernels/__init__.py +0 -1
  36. jupyverse-0.6.1/plugins/lab/fps_lab/__init__.py +0 -1
  37. jupyverse-0.6.1/plugins/login/fps_login/__init__.py +0 -1
  38. jupyverse-0.6.1/plugins/nbconvert/fps_nbconvert/__init__.py +0 -1
  39. jupyverse-0.6.1/plugins/noauth/fps_noauth/__init__.py +0 -1
  40. jupyverse-0.6.1/plugins/notebook/fps_notebook/__init__.py +0 -1
  41. jupyverse-0.6.1/plugins/resource_usage/fps_resource_usage/__init__.py +0 -1
  42. jupyverse-0.6.1/plugins/terminals/fps_terminals/__init__.py +0 -1
  43. jupyverse-0.6.1/plugins/webdav/fps_webdav/__init__.py +0 -1
  44. jupyverse-0.6.1/plugins/yjs/fps_yjs/__init__.py +0 -1
  45. {jupyverse-0.6.1 → jupyverse-0.6.3}/.devcontainer/devcontainer.json +0 -0
  46. {jupyverse-0.6.1 → jupyverse-0.6.3}/.devcontainer/requirements.txt +0 -0
  47. {jupyverse-0.6.1 → jupyverse-0.6.3}/.github/workflows/check-release.yml +0 -0
  48. {jupyverse-0.6.1 → jupyverse-0.6.3}/.github/workflows/test.yml +0 -0
  49. {jupyverse-0.6.1 → jupyverse-0.6.3}/.gitignore +0 -0
  50. {jupyverse-0.6.1 → jupyverse-0.6.3}/CONTRIBUTING.md +0 -0
  51. {jupyverse-0.6.1 → jupyverse-0.6.3}/COPYING.md +0 -0
  52. {jupyverse-0.6.1 → jupyverse-0.6.3}/MANIFEST.in +0 -0
  53. {jupyverse-0.6.1 → jupyverse-0.6.3}/README.md +0 -0
  54. {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/environment.yml +0 -0
  55. {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/jupyter_notebook_config.py +0 -0
  56. {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/postBuild +0 -0
  57. {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/start +0 -0
  58. {jupyverse-0.6.1 → jupyverse-0.6.3}/config.yaml +0 -0
  59. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/index.md +0 -0
  60. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/install.md +0 -0
  61. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/jupyter.svg +0 -0
  62. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/auth.md +0 -0
  63. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/contents.md +0 -0
  64. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/frontend.md +0 -0
  65. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/jupyterlab.md +0 -0
  66. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/kernels.md +0 -0
  67. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/lab.md +0 -0
  68. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/login.md +0 -0
  69. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/nbconvert.md +0 -0
  70. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/notebook.md +0 -0
  71. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/resource_usage.md +0 -0
  72. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/terminals.md +0 -0
  73. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/yjs.md +0 -0
  74. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
  75. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
  76. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/usage/microservices.md +0 -0
  77. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/usage/multi_user.md +0 -0
  78. {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/usage/single_user.md +0 -0
  79. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse/py.typed +0 -0
  80. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/COPYING.md +0 -0
  81. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/README.md +0 -0
  82. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
  83. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
  84. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
  85. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/cli.py +0 -0
  86. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
  87. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
  88. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
  89. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
  90. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
  91. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
  92. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
  93. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
  94. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
  95. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
  96. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
  97. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
  98. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/py.typed +0 -0
  99. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
  100. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
  101. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
  102. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
  103. {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/pyproject.toml +0 -0
  104. {jupyverse-0.6.1 → jupyverse-0.6.3}/mkdocs.yml +0 -0
  105. {jupyverse-0.6.1 → jupyverse-0.6.3}/notebooks/admin_users.ipynb +0 -0
  106. {jupyverse-0.6.1 → jupyverse-0.6.3}/notebooks/admin_users.py +0 -0
  107. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/COPYING.md +0 -0
  108. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/MANIFEST.in +0 -0
  109. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/README.md +0 -0
  110. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/backends.py +0 -0
  111. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/config.py +0 -0
  112. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/db.py +0 -0
  113. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/main.py +0 -0
  114. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/models.py +0 -0
  115. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/py.typed +0 -0
  116. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/routes.py +0 -0
  117. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/pyproject.toml +0 -0
  118. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/COPYING.md +0 -0
  119. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/MANIFEST.in +0 -0
  120. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/README.md +0 -0
  121. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
  122. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
  123. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
  124. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
  125. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/pyproject.toml +0 -0
  126. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/COPYING.md +0 -0
  127. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/README.md +0 -0
  128. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
  129. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
  130. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
  131. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
  132. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
  133. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
  134. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/pyproject.toml +0 -0
  135. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/COPYING.md +0 -0
  136. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/MANIFEST.in +0 -0
  137. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/README.md +0 -0
  138. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/fileid.py +0 -0
  139. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/main.py +0 -0
  140. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/py.typed +0 -0
  141. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/routes.py +0 -0
  142. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/pyproject.toml +0 -0
  143. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/COPYING.md +0 -0
  144. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/MANIFEST.in +0 -0
  145. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/README.md +0 -0
  146. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/fps_frontend/main.py +0 -0
  147. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/fps_frontend/py.typed +0 -0
  148. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/pyproject.toml +0 -0
  149. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/COPYING.md +0 -0
  150. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/MANIFEST.in +0 -0
  151. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/README.md +0 -0
  152. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
  153. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
  154. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
  155. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
  156. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/pyproject.toml +0 -0
  157. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/COPYING.md +0 -0
  158. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/MANIFEST.in +0 -0
  159. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/README.md +0 -0
  160. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
  161. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/connect.py +0 -0
  162. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
  163. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
  164. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
  165. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
  166. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
  167. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
  168. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/main.py +0 -0
  169. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/routes.py +0 -0
  170. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/pyproject.toml +0 -0
  171. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/COPYING.md +0 -0
  172. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/MANIFEST.in +0 -0
  173. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/README.md +0 -0
  174. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/fps_lab/main.py +0 -0
  175. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/fps_lab/routes.py +0 -0
  176. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/fps_lab/static/favicon.ico +0 -0
  177. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/pyproject.toml +0 -0
  178. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/COPYING.md +0 -0
  179. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/MANIFEST.in +0 -0
  180. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/README.md +0 -0
  181. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/main.py +0 -0
  182. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/routes.py +0 -0
  183. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
  184. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
  185. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
  186. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
  187. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
  188. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
  189. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
  190. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/index.html +0 -0
  191. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/logo/github.svg +0 -0
  192. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/logo/logo.png +0 -0
  193. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/style/index.css +0 -0
  194. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/pyproject.toml +0 -0
  195. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/COPYING.md +0 -0
  196. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/MANIFEST.in +0 -0
  197. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/README.md +0 -0
  198. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
  199. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
  200. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/pyproject.toml +0 -0
  201. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/COPYING.md +0 -0
  202. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/MANIFEST.in +0 -0
  203. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/README.md +0 -0
  204. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/backends.py +0 -0
  205. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/main.py +0 -0
  206. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/py.typed +0 -0
  207. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/pyproject.toml +0 -0
  208. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/COPYING.md +0 -0
  209. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/MANIFEST.in +0 -0
  210. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/README.md +0 -0
  211. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/fps_notebook/main.py +0 -0
  212. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/fps_notebook/routes.py +0 -0
  213. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/pyproject.toml +0 -0
  214. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/COPYING.md +0 -0
  215. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/README.md +0 -0
  216. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
  217. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
  218. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/pyproject.toml +0 -0
  219. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/COPYING.md +0 -0
  220. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/MANIFEST.in +0 -0
  221. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/README.md +0 -0
  222. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/main.py +0 -0
  223. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/routes.py +0 -0
  224. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/server.py +0 -0
  225. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/win_server.py +0 -0
  226. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/pyproject.toml +0 -0
  227. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/COPYING.md +0 -0
  228. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/README.md +0 -0
  229. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/config.py +0 -0
  230. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/main.py +0 -0
  231. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/py.typed +0 -0
  232. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/routes.py +0 -0
  233. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/pyproject.toml +0 -0
  234. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/tests/test_webdav.py +0 -0
  235. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/COPYING.md +0 -0
  236. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/MANIFEST.in +0 -0
  237. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/README.md +0 -0
  238. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/py.typed +0 -0
  239. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/__init__.py +0 -0
  240. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/utils.py +0 -0
  241. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/ybasedoc.py +0 -0
  242. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yblob.py +0 -0
  243. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yfile.py +0 -0
  244. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/ynotebook.py +0 -0
  245. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yunicode.py +0 -0
  246. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
  247. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
  248. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
  249. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
  250. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
  251. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
  252. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
  253. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
  254. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
  255. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
  256. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
  257. {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/pyproject.toml +0 -0
  258. {jupyverse-0.6.1 → jupyverse-0.6.3}/pytest.ini +0 -0
  259. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/conftest.py +0 -0
  260. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/data/notebook0.ipynb +0 -0
  261. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/data/notebook1.ipynb +0 -0
  262. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_app.py +0 -0
  263. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_auth.py +0 -0
  264. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_contents.py +0 -0
  265. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_execute.py +0 -0
  266. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_kernels.py +0 -0
  267. {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_settings.py +0 -0
  268. {jupyverse-0.6.1 → jupyverse-0.6.3}/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.6.3
19
+ rev: v0.6.8
20
20
  hooks:
21
21
  - id: ruff
22
22
  args: ["--fix"]
@@ -2,6 +2,36 @@
2
2
 
3
3
  <!-- <START NEW CHANGELOG ENTRY> -->
4
4
 
5
+ ## 0.6.3
6
+
7
+ ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.2...aa6854a51665d95216340d7fda1ba111af6aef74))
8
+
9
+ ### Merged PRs
10
+
11
+ - Add Yjs plugin configuration [#442](https://github.com/jupyter-server/jupyverse/pull/442) ([@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=2024-09-13&to=2024-10-02&type=c))
16
+
17
+ [@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-09-13..2024-10-02&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-09-13..2024-10-02&type=Issues)
18
+
19
+ <!-- <END NEW CHANGELOG ENTRY> -->
20
+
21
+ ## 0.6.2
22
+
23
+ ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.1...b7823731e061936842a3d2bcc6044f5134b50857))
24
+
25
+ ### Merged PRs
26
+
27
+ - Bump ypywidgets, fix display_output handling [#437](https://github.com/jupyter-server/jupyverse/pull/437) ([@davidbrochart](https://github.com/davidbrochart))
28
+
29
+ ### Contributors to this release
30
+
31
+ ([GitHub contributors page for this release](https://github.com/jupyter-server/jupyverse/graphs/contributors?from=2024-09-09&to=2024-09-13&type=c))
32
+
33
+ [@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-09-09..2024-09-13&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-09-09..2024-09-13&type=Issues)
34
+
5
35
  ## 0.6.1
6
36
 
7
37
  ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.0...74930336b6b60a75e07cb0d45b10e4cfcdb80d58))
@@ -16,8 +46,6 @@
16
46
 
17
47
  [@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-05-22..2024-09-09&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-05-22..2024-09-09&type=Issues)
18
48
 
19
- <!-- <END NEW CHANGELOG ENTRY> -->
20
-
21
49
  ## 0.6.0
22
50
 
23
51
  ([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.5.4...74a20c5aba350ae2dac605ff303d4e75f72eff40))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: jupyverse
3
- Version: 0.6.1
3
+ Version: 0.6.3
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>
@@ -46,8 +46,8 @@ Requires-Dist: requests; extra == 'test'
46
46
  Requires-Dist: ruff>=0.1.2; extra == 'test'
47
47
  Requires-Dist: types-setuptools; extra == 'test'
48
48
  Requires-Dist: websockets; extra == 'test'
49
- Requires-Dist: ypywidgets-textual<0.5.0,>=0.4.0; extra == 'test'
50
- Requires-Dist: ypywidgets<0.8.0,>=0.7.0; extra == 'test'
49
+ Requires-Dist: ypywidgets-textual<0.6.0,>=0.5.0; extra == 'test'
50
+ Requires-Dist: ypywidgets<0.10.0,>=0.9.3; extra == 'test'
51
51
  Description-Content-Type: text/markdown
52
52
 
53
53
  [![Build Status](https://github.com/jupyter-server/jupyverse/workflows/test/badge.svg)](https://github.com/jupyter-server/jupyverse/actions)
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -4,7 +4,7 @@ from pydantic import BaseModel
4
4
 
5
5
  from .app import App
6
6
 
7
- __version__ = "0.6.1"
7
+ __version__ = "0.6.3"
8
8
 
9
9
 
10
10
  class Singleton(type):
@@ -3,7 +3,7 @@ from typing import Any
3
3
 
4
4
  from fastapi import APIRouter, Depends, Request, Response
5
5
 
6
- from jupyverse_api import Router
6
+ from jupyverse_api import Config, Router
7
7
 
8
8
  from ..app import App
9
9
  from ..auth import Auth, User
@@ -61,3 +61,8 @@ class Yjs(Router, ABC):
61
61
  document_id: str,
62
62
  ):
63
63
  ...
64
+
65
+
66
+ class YjsConfig(Config):
67
+ document_cleanup_delay: float = 60
68
+ document_save_delay: float = 1
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -1,3 +1,3 @@
1
- __version__ = "0.6.1"
1
+ __version__ = "0.6.3"
2
2
 
3
3
  from .launch import launch # noqa
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -257,14 +257,14 @@ class KernelDriver:
257
257
  await self.yjs.room_manager.websocket_server.get_room(path, ydoc=doc) # type: ignore
258
258
  outputs.append(doc)
259
259
  else:
260
- outputs.append(
261
- {
262
- "data": {"text/plain": [content["data"].get("text/plain", "")]},
263
- "execution_count": content["execution_count"],
264
- "metadata": {},
265
- "output_type": msg_type,
266
- }
267
- )
260
+ output = {
261
+ "data": content["data"],
262
+ "metadata": {},
263
+ "output_type": msg_type,
264
+ }
265
+ if msg_type == "execute_result":
266
+ output["execution_count"] = content["execution_count"]
267
+ outputs.append(output)
268
268
  elif msg_type == "error":
269
269
  outputs.append(
270
270
  {
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -0,0 +1 @@
1
+ __version__ = "0.6.3"
@@ -8,22 +8,27 @@ from asphalt.core import Component, Context, context_teardown
8
8
  from jupyverse_api.app import App
9
9
  from jupyverse_api.auth import Auth
10
10
  from jupyverse_api.contents import Contents
11
- from jupyverse_api.yjs import Yjs
11
+ from jupyverse_api.yjs import Yjs, YjsConfig
12
12
 
13
13
  from .routes import _Yjs
14
14
 
15
15
 
16
16
  class YjsComponent(Component):
17
+ def __init__(self, **kwargs):
18
+ self.yjs_config = YjsConfig(**kwargs)
19
+
17
20
  @context_teardown
18
21
  async def start(
19
22
  self,
20
23
  ctx: Context,
21
24
  ) -> AsyncGenerator[None, Optional[BaseException]]:
25
+ ctx.add_resource(self.yjs_config, types=YjsConfig)
26
+
22
27
  app = await ctx.request_resource(App)
23
28
  auth = await ctx.request_resource(Auth) # type: ignore
24
29
  contents = await ctx.request_resource(Contents) # type: ignore
25
30
 
26
- yjs = _Yjs(app, auth, contents)
31
+ yjs = _Yjs(app, self.yjs_config, auth, contents)
27
32
  ctx.add_resource(yjs, types=Yjs)
28
33
 
29
34
  # start indexing in the background
@@ -20,7 +20,7 @@ from websockets.exceptions import ConnectionClosedOK
20
20
  from jupyverse_api.app import App
21
21
  from jupyverse_api.auth import Auth, User
22
22
  from jupyverse_api.contents import Contents
23
- from jupyverse_api.yjs import Yjs
23
+ from jupyverse_api.yjs import Yjs, YjsConfig
24
24
  from jupyverse_api.yjs.models import CreateDocumentSession
25
25
 
26
26
  from .ydocs import ydocs as YDOCS
@@ -44,12 +44,13 @@ class _Yjs(Yjs):
44
44
  def __init__(
45
45
  self,
46
46
  app: App,
47
+ yjs_config: YjsConfig,
47
48
  auth: Auth,
48
49
  contents: Contents,
49
50
  ) -> None:
50
51
  super().__init__(app=app, auth=auth)
51
52
  self.contents = contents
52
- self.room_manager = RoomManager(contents)
53
+ self.room_manager = RoomManager(contents, yjs_config)
53
54
  if Widgets is None:
54
55
  self.widgets = None
55
56
  else:
@@ -148,8 +149,9 @@ class RoomManager:
148
149
  websocket_server: JupyterWebsocketServer
149
150
  lock: asyncio.Lock
150
151
 
151
- def __init__(self, contents: Contents):
152
+ def __init__(self, contents: Contents, yjs_config: YjsConfig):
152
153
  self.contents = contents
154
+ self.yjs_config = yjs_config
153
155
  self.documents = {} # a dictionary of room_name:document
154
156
  self.watchers = {} # a dictionary of file_id:task
155
157
  self.savers = {} # a dictionary of file_id:task
@@ -314,7 +316,7 @@ class RoomManager:
314
316
  self, file_id: str, file_type: str, file_format: str, document: YBaseDoc
315
317
  ) -> None:
316
318
  # save after 1 second of inactivity to prevent too frequent saving
317
- await asyncio.sleep(1) # FIXME: pass in config
319
+ await asyncio.sleep(self.yjs_config.document_save_delay)
318
320
  # if the room cannot be found, don't save
319
321
  try:
320
322
  file_path = await self.get_file_path(file_id, document)
@@ -349,12 +351,12 @@ class RoomManager:
349
351
  del self.savers[file_id]
350
352
 
351
353
  async def maybe_clean_room(self, room, ws_path: str) -> None:
352
- file_id = ws_path.split(":", 2)[2]
353
354
  # keep the document for a while in case someone reconnects
354
- await asyncio.sleep(60) # FIXME: pass in config
355
+ await asyncio.sleep(self.yjs_config.document_cleanup_delay)
355
356
  document = self.documents[ws_path]
356
357
  document.unobserve()
357
358
  del self.documents[ws_path]
359
+ file_id = ws_path.split(":", 2)[2]
358
360
  documents = [v for k, v in self.documents.items() if k.split(":", 2)[2] == file_id]
359
361
  if not documents:
360
362
  self.watchers[file_id].cancel()
@@ -1,15 +1,15 @@
1
1
  import sys
2
2
  from typing import Any
3
3
 
4
- from pycrdt import TransactionEvent
5
-
6
4
  try:
7
- from ypywidgets.utils import ( # type: ignore
5
+ import ypywidgets # noqa: F401
6
+ from pycrdt import (
7
+ TransactionEvent,
8
8
  YMessageType,
9
9
  YSyncMessageType,
10
+ create_sync_message,
10
11
  create_update_message,
11
- process_sync_message,
12
- sync,
12
+ handle_sync_message,
13
13
  )
14
14
  ypywidgets_installed = True
15
15
  except ImportError:
@@ -41,15 +41,15 @@ if ypywidgets_installed:
41
41
  self.comm = comm
42
42
  model = self.ydocs[f"{name}Model"]()
43
43
  self.widgets[comm_id] = {"model": model, "comm": comm}
44
- msg = sync(model.ydoc)
45
- comm.send(**msg)
44
+ msg = create_sync_message(model.ydoc)
45
+ comm.send(buffers=[msg])
46
46
 
47
47
  def comm_msg(self, msg) -> None:
48
48
  comm_id = msg["content"]["comm_id"]
49
49
  message = bytes(msg["buffers"][0])
50
50
  if message[0] == YMessageType.SYNC:
51
51
  ydoc = self.widgets[comm_id]["model"].ydoc
52
- reply = process_sync_message(
52
+ reply = handle_sync_message(
53
53
  message[1:],
54
54
  ydoc,
55
55
  )
@@ -54,8 +54,8 @@ test = [
54
54
  "requests",
55
55
  "websockets",
56
56
  "ipykernel",
57
- "ypywidgets >=0.7.0,<0.8.0",
58
- "ypywidgets-textual >=0.4.0,<0.5.0",
57
+ "ypywidgets >=0.9.3,<0.10.0",
58
+ "ypywidgets-textual >=0.5.0,<0.6.0",
59
59
  ]
60
60
  docs = [ "mkdocs", "mkdocs-material" ]
61
61
 
@@ -106,8 +106,8 @@ async def test_rest_api(start_jupyverse):
106
106
  cells = json.loads(str(ycells))
107
107
  assert cells[0]["outputs"] == [
108
108
  {
109
- "data": {"text/plain": ["3"]},
110
- "execution_count": 1.0,
109
+ "data": {"text/plain": "3"},
110
+ "execution_count": 1,
111
111
  "metadata": {},
112
112
  "output_type": "execute_result",
113
113
  }
@@ -117,8 +117,8 @@ async def test_rest_api(start_jupyverse):
117
117
  ]
118
118
  assert cells[2]["outputs"] == [
119
119
  {
120
- "data": {"text/plain": ["7"]},
121
- "execution_count": 3.0,
120
+ "data": {"text/plain": "7"},
121
+ "execution_count": 3,
122
122
  "metadata": {},
123
123
  "output_type": "execute_result",
124
124
  }
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
@@ -1 +0,0 @@
1
- __version__ = "0.6.1"
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
File without changes
File without changes