jupyverse 0.6.2__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.
- {jupyverse-0.6.2 → jupyverse-0.6.3}/.pre-commit-config.yaml +1 -1
- {jupyverse-0.6.2 → jupyverse-0.6.3}/CHANGELOG.md +16 -2
- {jupyverse-0.6.2 → jupyverse-0.6.3}/PKG-INFO +1 -1
- jupyverse-0.6.3/jupyverse/__init__.py +1 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/__init__.py +1 -1
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/yjs/__init__.py +6 -1
- jupyverse-0.6.3/plugins/auth/fps_auth/__init__.py +1 -0
- jupyverse-0.6.3/plugins/auth_fief/fps_auth_fief/__init__.py +1 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +1 -1
- jupyverse-0.6.3/plugins/contents/fps_contents/__init__.py +1 -0
- jupyverse-0.6.3/plugins/frontend/fps_frontend/__init__.py +1 -0
- jupyverse-0.6.3/plugins/jupyterlab/fps_jupyterlab/__init__.py +1 -0
- jupyverse-0.6.3/plugins/kernels/fps_kernels/__init__.py +1 -0
- jupyverse-0.6.3/plugins/lab/fps_lab/__init__.py +1 -0
- jupyverse-0.6.3/plugins/login/fps_login/__init__.py +1 -0
- jupyverse-0.6.3/plugins/nbconvert/fps_nbconvert/__init__.py +1 -0
- jupyverse-0.6.3/plugins/noauth/fps_noauth/__init__.py +1 -0
- jupyverse-0.6.3/plugins/notebook/fps_notebook/__init__.py +1 -0
- jupyverse-0.6.3/plugins/resource_usage/fps_resource_usage/__init__.py +1 -0
- jupyverse-0.6.3/plugins/terminals/fps_terminals/__init__.py +1 -0
- jupyverse-0.6.3/plugins/webdav/fps_webdav/__init__.py +1 -0
- jupyverse-0.6.3/plugins/yjs/fps_yjs/__init__.py +1 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/main.py +7 -2
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/routes.py +8 -6
- jupyverse-0.6.2/jupyverse/__init__.py +0 -1
- jupyverse-0.6.2/plugins/auth/fps_auth/__init__.py +0 -1
- jupyverse-0.6.2/plugins/auth_fief/fps_auth_fief/__init__.py +0 -1
- jupyverse-0.6.2/plugins/contents/fps_contents/__init__.py +0 -1
- jupyverse-0.6.2/plugins/frontend/fps_frontend/__init__.py +0 -1
- jupyverse-0.6.2/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -1
- jupyverse-0.6.2/plugins/kernels/fps_kernels/__init__.py +0 -1
- jupyverse-0.6.2/plugins/lab/fps_lab/__init__.py +0 -1
- jupyverse-0.6.2/plugins/login/fps_login/__init__.py +0 -1
- jupyverse-0.6.2/plugins/nbconvert/fps_nbconvert/__init__.py +0 -1
- jupyverse-0.6.2/plugins/noauth/fps_noauth/__init__.py +0 -1
- jupyverse-0.6.2/plugins/notebook/fps_notebook/__init__.py +0 -1
- jupyverse-0.6.2/plugins/resource_usage/fps_resource_usage/__init__.py +0 -1
- jupyverse-0.6.2/plugins/terminals/fps_terminals/__init__.py +0 -1
- jupyverse-0.6.2/plugins/webdav/fps_webdav/__init__.py +0 -1
- jupyverse-0.6.2/plugins/yjs/fps_yjs/__init__.py +0 -1
- {jupyverse-0.6.2 → jupyverse-0.6.3}/.devcontainer/devcontainer.json +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/.devcontainer/requirements.txt +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/.github/workflows/check-release.yml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/.github/workflows/test.yml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/.gitignore +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/CONTRIBUTING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/binder/environment.yml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/binder/jupyter_notebook_config.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/binder/postBuild +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/binder/start +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/config.yaml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/index.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/install.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/jupyter.svg +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/auth.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/contents.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/frontend.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/jupyterlab.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/kernels.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/lab.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/login.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/nbconvert.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/notebook.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/resource_usage.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/terminals.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/plugins/yjs.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/usage/microservices.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/usage/multi_user.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/docs/usage/single_user.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/cli.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/jupyverse_api/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/mkdocs.yml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/notebooks/admin_users.ipynb +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/notebooks/admin_users.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/fps_auth/backends.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/fps_auth/config.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/fps_auth/db.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/fps_auth/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/fps_auth/models.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/fps_auth/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/fps_auth/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_fief/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/auth_jupyterhub/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/fps_contents/fileid.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/fps_contents/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/fps_contents/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/fps_contents/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/contents/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/frontend/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/frontend/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/frontend/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/frontend/fps_frontend/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/frontend/fps_frontend/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/frontend/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/jupyterlab/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/connect.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/driver.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/kernels/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/lab/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/lab/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/lab/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/lab/fps_lab/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/lab/fps_lab/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/lab/fps_lab/static/favicon.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/lab/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/index.html +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/logo/github.svg +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/logo/logo.png +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/fps_login/static/style/index.css +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/login/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/nbconvert/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/nbconvert/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/nbconvert/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/nbconvert/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/noauth/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/noauth/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/noauth/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/backends.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/noauth/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/notebook/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/notebook/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/notebook/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/notebook/fps_notebook/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/notebook/fps_notebook/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/notebook/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/resource_usage/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/resource_usage/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/resource_usage/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/server.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/win_server.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/terminals/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/config.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/main.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/routes.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/webdav/tests/test_webdav.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/COPYING.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/MANIFEST.in +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/README.md +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/py.typed +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/utils.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/ybasedoc.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yblob.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yfile.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/ynotebook.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yunicode.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywidgets/widgets.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/plugins/yjs/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/pyproject.toml +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/pytest.ini +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/conftest.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/data/notebook0.ipynb +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/data/notebook1.ipynb +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/test_app.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/test_auth.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/test_contents.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/test_execute.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/test_kernels.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/test_server.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/test_settings.py +0 -0
- {jupyverse-0.6.2 → jupyverse-0.6.3}/tests/utils.py +0 -0
@@ -2,6 +2,22 @@
|
|
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
|
+
|
5
21
|
## 0.6.2
|
6
22
|
|
7
23
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.1...b7823731e061936842a3d2bcc6044f5134b50857))
|
@@ -16,8 +32,6 @@
|
|
16
32
|
|
17
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)
|
18
34
|
|
19
|
-
<!-- <END NEW CHANGELOG ENTRY> -->
|
20
|
-
|
21
35
|
## 0.6.1
|
22
36
|
|
23
37
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.0...74930336b6b60a75e07cb0d45b10e4cfcdb80d58))
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -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"
|
@@ -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"
|
@@ -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(
|
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(
|
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 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.2"
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
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
|
File without changes
|
File without changes
|
File without changes
|