jupyverse 0.10.2__tar.gz → 0.10.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.10.2 → jupyverse-0.10.3}/.pre-commit-config.yaml +1 -1
- {jupyverse-0.10.2 → jupyverse-0.10.3}/CHANGELOG.md +4 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/PKG-INFO +2 -2
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/main.py +1 -1
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/routes.py +9 -6
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/pyproject.toml +1 -1
- {jupyverse-0.10.2 → jupyverse-0.10.3}/pyproject.toml +2 -2
- {jupyverse-0.10.2 → jupyverse-0.10.3}/.devcontainer/devcontainer.json +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/.devcontainer/requirements.txt +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/.github/workflows/publish-release.yml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/.github/workflows/test.yml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/.gitignore +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/binder/environment.yml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/binder/jupyter_notebook_config.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/binder/postBuild +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/binder/start +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/index.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/install.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/jupyter.svg +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/auth.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/contents.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/frontend.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/jupyterlab.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/kernels.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/lab.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/login.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/nbconvert.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/notebook.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/resource_usage.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/terminals.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/plugins/yjs.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/usage/microservices.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/usage/multi_user.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/docs/usage/single_user.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/cli.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/file_id/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/kernel/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/yjs/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/tests/test_resource_lock.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/mkdocs.yml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/notebooks/admin_users.ipynb +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/notebooks/admin_users.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/backends.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/config.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/db.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/models.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/fps_auth/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/fps_auth_fief/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/fps_auth_fief/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_fief/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/contents/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/contents/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/contents/fps_contents/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/contents/fps_contents/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/contents/fps_contents/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/contents/fps_contents/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/contents/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/file_id/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/file_id/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/file_id/fps_file_id/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/file_id/fps_file_id/file_id.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/file_id/fps_file_id/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/file_id/fps_file_id/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/file_id/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/frontend/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/frontend/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/frontend/fps_frontend/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/frontend/fps_frontend/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/frontend/fps_frontend/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/frontend/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/jupyterlab/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/connect.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/kernel_subprocess.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_driver/driver.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/tests/test_kernel_launcher.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/fps_lab/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/fps_lab/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/fps_lab/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/fps_lab/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/fps_lab/static/favicon.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/lab/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/index.html +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/logo/github.svg +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/logo/logo.png +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/style/index.css +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/nbconvert/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/nbconvert/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/nbconvert/fps_nbconvert/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/nbconvert/fps_nbconvert/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/nbconvert/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/noauth/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/noauth/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/noauth/fps_noauth/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/noauth/fps_noauth/backends.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/noauth/fps_noauth/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/noauth/fps_noauth/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/noauth/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/notebook/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/notebook/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/notebook/fps_notebook/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/notebook/fps_notebook/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/notebook/fps_notebook/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/notebook/fps_notebook/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/notebook/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/resource_usage/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/resource_usage/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/resource_usage/fps_resource_usage/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/resource_usage/fps_resource_usage/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/resource_usage/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/fps_terminals/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/fps_terminals/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/fps_terminals/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/fps_terminals/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/fps_terminals/server.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/fps_terminals/win_server.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/terminals/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/fps_webdav/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/fps_webdav/config.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/fps_webdav/main.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/fps_webdav/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/fps_webdav/routes.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/pyproject.toml +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/tests/conftest.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/webdav/tests/test_webdav.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/COPYING.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/README.md +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/py.typed +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/yjs/fps_yjs/ywidgets/widgets.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/pytest.ini +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/conftest.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/data/notebook0.ipynb +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/data/notebook1.ipynb +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/test_app.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/test_auth.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/test_contents.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/test_execute.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/test_kernels.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/test_server.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/test_settings.py +0 -0
- {jupyverse-0.10.2 → jupyverse-0.10.3}/tests/utils.py +0 -0
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: jupyverse
|
3
|
-
Version: 0.10.
|
3
|
+
Version: 0.10.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>
|
@@ -17,7 +17,7 @@ Requires-Dist: fps-kernels<0.10.0,>=0.9.1
|
|
17
17
|
Requires-Dist: fps-lab<0.10.0,>=0.9.0
|
18
18
|
Requires-Dist: fps-nbconvert<0.10.0,>=0.9.0
|
19
19
|
Requires-Dist: fps-terminals<0.10.0,>=0.9.0
|
20
|
-
Requires-Dist: fps-yjs<0.11.0,>=0.10.
|
20
|
+
Requires-Dist: fps-yjs<0.11.0,>=0.10.1
|
21
21
|
Requires-Dist: fps[anycorn,click,fastapi]<0.5.0,>=0.4.0
|
22
22
|
Requires-Dist: jupyverse-api<0.11.0,>=0.10.0
|
23
23
|
Requires-Dist: rich-click<2,>=1.6.1
|
@@ -27,7 +27,7 @@ class YjsModule(Module):
|
|
27
27
|
file_id = await self.get(FileId) # type: ignore[type-abstract]
|
28
28
|
lifespan = await self.get(Lifespan)
|
29
29
|
|
30
|
-
self.yjs = _Yjs(app, auth, contents, file_id, lifespan)
|
30
|
+
self.yjs = _Yjs(app, auth, contents, file_id, lifespan, self.config)
|
31
31
|
|
32
32
|
async with create_task_group() as tg:
|
33
33
|
await tg.start(self.yjs.start)
|
@@ -25,7 +25,7 @@ from jupyverse_api.auth import Auth, User
|
|
25
25
|
from jupyverse_api.contents import Contents
|
26
26
|
from jupyverse_api.file_id import FileId
|
27
27
|
from jupyverse_api.main import Lifespan
|
28
|
-
from jupyverse_api.yjs import Yjs
|
28
|
+
from jupyverse_api.yjs import Yjs, YjsConfig
|
29
29
|
from jupyverse_api.yjs.models import CreateDocumentSession
|
30
30
|
|
31
31
|
from .ywebsocket.websocket import Websocket
|
@@ -51,11 +51,13 @@ class _Yjs(Yjs):
|
|
51
51
|
contents: Contents,
|
52
52
|
file_id: FileId,
|
53
53
|
lifespan: Lifespan,
|
54
|
+
config: YjsConfig,
|
54
55
|
) -> None:
|
55
56
|
super().__init__(app=app, auth=auth)
|
56
57
|
self.contents = contents
|
57
58
|
self.file_id = file_id
|
58
59
|
self.lifespan = lifespan
|
60
|
+
self.config = config
|
59
61
|
if Widgets is None:
|
60
62
|
self.widgets = None
|
61
63
|
else:
|
@@ -63,7 +65,7 @@ class _Yjs(Yjs):
|
|
63
65
|
|
64
66
|
async def start(self, *, task_status: TaskStatus[None] = TASK_STATUS_IGNORED) -> None:
|
65
67
|
async with create_task_group() as tg:
|
66
|
-
self.room_manager = RoomManager(self.contents, self.file_id, self.lifespan)
|
68
|
+
self.room_manager = RoomManager(self.contents, self.file_id, self.lifespan, self.config)
|
67
69
|
tg.start_soon(self.room_manager.start)
|
68
70
|
task_status.started()
|
69
71
|
|
@@ -166,7 +168,7 @@ class RoomManager:
|
|
166
168
|
room_write_permissions: dict[str, set[YWebsocket]]
|
167
169
|
room_lock: ResourceLock
|
168
170
|
|
169
|
-
def __init__(self, contents: Contents, file_id: FileId, lifespan: Lifespan):
|
171
|
+
def __init__(self, contents: Contents, file_id: FileId, lifespan: Lifespan, config: YjsConfig):
|
170
172
|
self.contents = contents
|
171
173
|
self.file_id = file_id
|
172
174
|
self.lifespan = lifespan
|
@@ -178,6 +180,7 @@ class RoomManager:
|
|
178
180
|
self.room_write_permissions = {} # a dictionary of room_name:websockets that can write
|
179
181
|
self.websocket_server = JupyterWebsocketServer(rooms_ready=False, auto_clean_rooms=False)
|
180
182
|
self.room_lock = ResourceLock()
|
183
|
+
self.config = config
|
181
184
|
|
182
185
|
async def start(self):
|
183
186
|
async with create_task_group() as self.task_group:
|
@@ -364,8 +367,8 @@ class RoomManager:
|
|
364
367
|
async def maybe_save_document(
|
365
368
|
self, file_id: str, file_type: str, file_format: str, document: YBaseDoc
|
366
369
|
) -> None:
|
367
|
-
# save after
|
368
|
-
await sleep(
|
370
|
+
# save after configured delay to prevent too frequent saving
|
371
|
+
await sleep(self.config.document_save_delay)
|
369
372
|
# if the room cannot be found, don't save
|
370
373
|
try:
|
371
374
|
file_path = await self.get_file_path(file_id, document)
|
@@ -401,7 +404,7 @@ class RoomManager:
|
|
401
404
|
async def maybe_clean_room(self, room, ws_path: str) -> None:
|
402
405
|
file_id = ws_path.split(":", 2)[2]
|
403
406
|
# keep the document for a while in case someone reconnects
|
404
|
-
await sleep(
|
407
|
+
await sleep(self.config.document_cleanup_delay)
|
405
408
|
document = self.documents[ws_path]
|
406
409
|
document.unobserve()
|
407
410
|
del self.documents[ws_path]
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
4
4
|
|
5
5
|
[project]
|
6
6
|
name = "jupyverse"
|
7
|
-
version = "0.10.
|
7
|
+
version = "0.10.3"
|
8
8
|
description = "A set of FPS plugins implementing a Jupyter server"
|
9
9
|
keywords = ["jupyter", "server", "fastapi", "plugins"]
|
10
10
|
requires-python = ">=3.9"
|
@@ -16,7 +16,7 @@ dependencies = [
|
|
16
16
|
"fps-kernels >=0.9.1,<0.10.0",
|
17
17
|
"fps-terminals >=0.9.0,<0.10.0",
|
18
18
|
"fps-nbconvert >=0.9.0,<0.10.0",
|
19
|
-
"fps-yjs >=0.10.
|
19
|
+
"fps-yjs >=0.10.1,<0.11.0",
|
20
20
|
"fps-lab >=0.9.0,<0.10.0",
|
21
21
|
"fps-frontend >=0.9.0,<0.10.0",
|
22
22
|
"jupyverse-api >=0.10.0,<0.11.0",
|
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
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/jupyverse_api/jupyverse_api/resource_usage/__init__.py
RENAMED
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
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py
RENAMED
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
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/__init__.py
RENAMED
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/connect.py
RENAMED
File without changes
|
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/main.py
RENAMED
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernel_subprocess/fps_kernel_subprocess/py.typed
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py
RENAMED
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
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico
RENAMED
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico
RENAMED
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico
RENAMED
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-file.ico
RENAMED
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-notebook.ico
RENAMED
File without changes
|
{jupyverse-0.10.2 → jupyverse-0.10.3}/plugins/login/fps_login/static/favicons/favicon-terminal.ico
RENAMED
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|