jupyverse 0.5.3__tar.gz → 0.5.4__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.5.3 → jupyverse-0.5.4}/.pre-commit-config.yaml +1 -1
- {jupyverse-0.5.3 → jupyverse-0.5.4}/CHANGELOG.md +16 -2
- {jupyverse-0.5.3 → jupyverse-0.5.4}/PKG-INFO +1 -1
- jupyverse-0.5.4/jupyverse/__init__.py +1 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/__init__.py +1 -1
- jupyverse-0.5.4/plugins/auth/fps_auth/__init__.py +1 -0
- jupyverse-0.5.4/plugins/auth_fief/fps_auth_fief/__init__.py +1 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +1 -1
- jupyverse-0.5.4/plugins/contents/fps_contents/__init__.py +1 -0
- jupyverse-0.5.4/plugins/frontend/fps_frontend/__init__.py +1 -0
- jupyverse-0.5.4/plugins/jupyterlab/fps_jupyterlab/__init__.py +1 -0
- jupyverse-0.5.4/plugins/kernels/fps_kernels/__init__.py +1 -0
- jupyverse-0.5.4/plugins/lab/fps_lab/__init__.py +1 -0
- jupyverse-0.5.4/plugins/login/fps_login/__init__.py +1 -0
- jupyverse-0.5.4/plugins/nbconvert/fps_nbconvert/__init__.py +1 -0
- jupyverse-0.5.4/plugins/noauth/fps_noauth/__init__.py +1 -0
- jupyverse-0.5.4/plugins/notebook/fps_notebook/__init__.py +1 -0
- jupyverse-0.5.4/plugins/resource_usage/fps_resource_usage/__init__.py +1 -0
- jupyverse-0.5.4/plugins/terminals/fps_terminals/__init__.py +1 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/fps_terminals/routes.py +6 -1
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/fps_terminals/server.py +38 -20
- jupyverse-0.5.4/plugins/webdav/fps_webdav/__init__.py +1 -0
- jupyverse-0.5.4/plugins/yjs/fps_yjs/__init__.py +1 -0
- jupyverse-0.5.3/jupyverse/__init__.py +0 -1
- jupyverse-0.5.3/plugins/auth/fps_auth/__init__.py +0 -1
- jupyverse-0.5.3/plugins/auth_fief/fps_auth_fief/__init__.py +0 -1
- jupyverse-0.5.3/plugins/contents/fps_contents/__init__.py +0 -1
- jupyverse-0.5.3/plugins/frontend/fps_frontend/__init__.py +0 -1
- jupyverse-0.5.3/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -1
- jupyverse-0.5.3/plugins/kernels/fps_kernels/__init__.py +0 -1
- jupyverse-0.5.3/plugins/lab/fps_lab/__init__.py +0 -1
- jupyverse-0.5.3/plugins/login/fps_login/__init__.py +0 -1
- jupyverse-0.5.3/plugins/nbconvert/fps_nbconvert/__init__.py +0 -1
- jupyverse-0.5.3/plugins/noauth/fps_noauth/__init__.py +0 -1
- jupyverse-0.5.3/plugins/notebook/fps_notebook/__init__.py +0 -1
- jupyverse-0.5.3/plugins/resource_usage/fps_resource_usage/__init__.py +0 -1
- jupyverse-0.5.3/plugins/terminals/fps_terminals/__init__.py +0 -1
- jupyverse-0.5.3/plugins/webdav/fps_webdav/__init__.py +0 -1
- jupyverse-0.5.3/plugins/yjs/fps_yjs/__init__.py +0 -1
- {jupyverse-0.5.3 → jupyverse-0.5.4}/.devcontainer/devcontainer.json +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/.devcontainer/requirements.txt +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/.github/workflows/check-release.yml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/.github/workflows/test.yml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/.gitignore +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/CONTRIBUTING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/binder/environment.yml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/binder/jupyter_notebook_config.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/binder/postBuild +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/binder/start +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/config.yaml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/index.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/install.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/jupyter.svg +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/auth.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/contents.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/frontend.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/jupyterlab.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/kernels.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/lab.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/login.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/nbconvert.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/notebook.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/resource_usage.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/terminals.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/plugins/yjs.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/usage/microservices.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/usage/multi_user.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/docs/usage/single_user.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/cli.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/yjs/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/jupyverse_api/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/mkdocs.yml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/notebooks/admin_users.ipynb +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/notebooks/admin_users.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/fps_auth/backends.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/fps_auth/config.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/fps_auth/db.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/fps_auth/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/fps_auth/models.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/fps_auth/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/fps_auth/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_fief/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/auth_jupyterhub/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/fps_contents/fileid.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/fps_contents/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/fps_contents/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/fps_contents/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/contents/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/frontend/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/frontend/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/frontend/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/frontend/fps_frontend/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/frontend/fps_frontend/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/frontend/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/jupyterlab/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_driver/connect.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_driver/driver.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/fps_kernels/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/kernels/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/lab/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/lab/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/lab/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/lab/fps_lab/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/lab/fps_lab/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/lab/fps_lab/static/favicon.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/lab/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/index.html +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/logo/github.svg +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/logo/logo.png +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/fps_login/static/style/index.css +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/login/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/nbconvert/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/nbconvert/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/nbconvert/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/nbconvert/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/noauth/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/noauth/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/noauth/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/noauth/fps_noauth/backends.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/noauth/fps_noauth/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/noauth/fps_noauth/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/noauth/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/notebook/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/notebook/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/notebook/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/notebook/fps_notebook/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/notebook/fps_notebook/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/notebook/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/resource_usage/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/resource_usage/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/resource_usage/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/fps_terminals/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/fps_terminals/win_server.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/terminals/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/fps_webdav/config.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/fps_webdav/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/fps_webdav/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/fps_webdav/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/webdav/tests/test_webdav.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/COPYING.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/MANIFEST.in +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/README.md +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/main.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/py.typed +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/routes.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ydocs/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ydocs/utils.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ydocs/ybasedoc.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ydocs/yblob.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ydocs/yfile.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ydocs/ynotebook.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ydocs/yunicode.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/fps_yjs/ywidgets/widgets.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/plugins/yjs/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/pyproject.toml +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/pytest.ini +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/conftest.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/data/notebook0.ipynb +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/data/notebook1.ipynb +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/test_app.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/test_auth.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/test_contents.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/test_execute.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/test_kernels.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/test_server.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/test_settings.py +0 -0
- {jupyverse-0.5.3 → jupyverse-0.5.4}/tests/utils.py +0 -0
@@ -2,6 +2,22 @@
|
|
2
2
|
|
3
3
|
<!-- <START NEW CHANGELOG ENTRY> -->
|
4
4
|
|
5
|
+
## 0.5.4
|
6
|
+
|
7
|
+
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.5.3...9f208a6e2e13396f6723a80e23bef688285611e5))
|
8
|
+
|
9
|
+
### Merged PRs
|
10
|
+
|
11
|
+
- Improve terminals [#413](https://github.com/jupyter-server/jupyverse/pull/413) ([@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-05-13&to=2024-05-14&type=c))
|
16
|
+
|
17
|
+
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-05-13..2024-05-14&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-05-13..2024-05-14&type=Issues)
|
18
|
+
|
19
|
+
<!-- <END NEW CHANGELOG ENTRY> -->
|
20
|
+
|
5
21
|
## 0.5.3
|
6
22
|
|
7
23
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.5.2...d5a5b178b93172a9bb8b90459d45ed20a1b734c5))
|
@@ -16,8 +32,6 @@
|
|
16
32
|
|
17
33
|
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-05-02..2024-05-13&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-05-02..2024-05-13&type=Issues)
|
18
34
|
|
19
|
-
<!-- <END NEW CHANGELOG ENTRY> -->
|
20
|
-
|
21
35
|
## 0.5.2
|
22
36
|
|
23
37
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.5.1...0bd54d15a6ad7fbfe7c54f5a06ed4546de4ad90d))
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -26,7 +26,12 @@ class _Terminals(Terminals):
|
|
26
26
|
self,
|
27
27
|
user: User,
|
28
28
|
):
|
29
|
-
|
29
|
+
name_int = 1
|
30
|
+
while True:
|
31
|
+
if str(name_int) not in TERMINALS:
|
32
|
+
break
|
33
|
+
name_int += 1
|
34
|
+
name = str(name_int)
|
30
35
|
terminal = Terminal(
|
31
36
|
name=name,
|
32
37
|
last_activity=datetime.utcnow().isoformat() + "Z",
|
@@ -30,20 +30,28 @@ class _TerminalServer(TerminalServer):
|
|
30
30
|
async def serve(self, websocket, permissions):
|
31
31
|
self.websocket = websocket
|
32
32
|
self.websockets.append(websocket)
|
33
|
-
self.
|
33
|
+
self.data_from_terminal = asyncio.Queue()
|
34
34
|
self.loop = asyncio.get_event_loop()
|
35
35
|
|
36
|
-
task = asyncio.create_task(self.send_data())
|
36
|
+
task = asyncio.create_task(self.send_data()) # noqa: F841
|
37
37
|
|
38
38
|
def on_output():
|
39
39
|
try:
|
40
|
-
|
41
|
-
|
42
|
-
|
43
|
-
|
44
|
-
|
45
|
-
|
46
|
-
|
40
|
+
data = self.p_out.read(65536).decode()
|
41
|
+
except OSError:
|
42
|
+
try:
|
43
|
+
self.loop.remove_reader(self.p_out)
|
44
|
+
except Exception:
|
45
|
+
pass
|
46
|
+
try:
|
47
|
+
os.close(self.fd)
|
48
|
+
except OSError:
|
49
|
+
pass
|
50
|
+
self.data_from_terminal.put_nowait(None)
|
51
|
+
self.websockets.clear()
|
52
|
+
self.quit()
|
53
|
+
else:
|
54
|
+
self.data_from_terminal.put_nowait(data)
|
47
55
|
|
48
56
|
self.loop.add_reader(self.p_out, on_output)
|
49
57
|
await websocket.send_json(["setup", {}])
|
@@ -58,21 +66,31 @@ class _TerminalServer(TerminalServer):
|
|
58
66
|
winsize = struct.pack("HH", msg[1], msg[2])
|
59
67
|
fcntl.ioctl(self.fd, termios.TIOCSWINSZ, winsize)
|
60
68
|
except WebSocketDisconnect:
|
61
|
-
|
69
|
+
self.quit(websocket)
|
62
70
|
|
63
71
|
async def send_data(self):
|
64
72
|
while True:
|
65
|
-
await self.
|
66
|
-
|
67
|
-
|
68
|
-
|
69
|
-
|
70
|
-
|
71
|
-
|
73
|
+
data = await self.data_from_terminal.get()
|
74
|
+
if data is None:
|
75
|
+
try:
|
76
|
+
await self.websocket.send_json(["disconnect", 1])
|
77
|
+
except Exception:
|
78
|
+
pass
|
79
|
+
return
|
80
|
+
|
81
|
+
for websocket in self.websockets:
|
82
|
+
await websocket.send_json(["stdout", data])
|
72
83
|
|
73
|
-
def quit(self, websocket):
|
84
|
+
def quit(self, websocket=None):
|
74
85
|
if websocket in self.websockets:
|
75
86
|
self.websockets.remove(websocket)
|
76
87
|
if not self.websockets:
|
77
|
-
|
78
|
-
|
88
|
+
try:
|
89
|
+
self.loop.remove_reader(self.p_out)
|
90
|
+
except Exception:
|
91
|
+
pass
|
92
|
+
try:
|
93
|
+
os.close(self.fd)
|
94
|
+
except OSError:
|
95
|
+
pass
|
96
|
+
self.data_from_terminal.put_nowait(None)
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.5.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.5.3"
|
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
|
File without changes
|
File without changes
|
File without changes
|