jupyverse 0.7.4__tar.gz → 0.7.5__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jupyverse-0.7.4 → jupyverse-0.7.5}/.pre-commit-config.yaml +1 -1
- {jupyverse-0.7.4 → jupyverse-0.7.5}/CHANGELOG.md +16 -2
- {jupyverse-0.7.4 → jupyverse-0.7.5}/PKG-INFO +1 -1
- jupyverse-0.7.5/jupyverse/__init__.py +1 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/__init__.py +1 -1
- jupyverse-0.7.5/plugins/auth/fps_auth/__init__.py +1 -0
- jupyverse-0.7.5/plugins/auth_fief/fps_auth_fief/__init__.py +1 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/__init__.py +1 -1
- jupyverse-0.7.5/plugins/contents/fps_contents/__init__.py +1 -0
- jupyverse-0.7.5/plugins/frontend/fps_frontend/__init__.py +1 -0
- jupyverse-0.7.5/plugins/jupyterlab/fps_jupyterlab/__init__.py +1 -0
- jupyverse-0.7.5/plugins/kernels/fps_kernels/__init__.py +1 -0
- jupyverse-0.7.5/plugins/lab/fps_lab/__init__.py +1 -0
- jupyverse-0.7.5/plugins/login/fps_login/__init__.py +1 -0
- jupyverse-0.7.5/plugins/nbconvert/fps_nbconvert/__init__.py +1 -0
- jupyverse-0.7.5/plugins/noauth/fps_noauth/__init__.py +1 -0
- jupyverse-0.7.5/plugins/notebook/fps_notebook/__init__.py +1 -0
- jupyverse-0.7.5/plugins/resource_usage/fps_resource_usage/__init__.py +1 -0
- jupyverse-0.7.5/plugins/terminals/fps_terminals/__init__.py +1 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/routes.py +3 -4
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/server.py +16 -29
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/pyproject.toml +1 -1
- jupyverse-0.7.5/plugins/webdav/fps_webdav/__init__.py +1 -0
- jupyverse-0.7.5/plugins/yjs/fps_yjs/__init__.py +1 -0
- jupyverse-0.7.4/jupyverse/__init__.py +0 -1
- jupyverse-0.7.4/plugins/auth/fps_auth/__init__.py +0 -1
- jupyverse-0.7.4/plugins/auth_fief/fps_auth_fief/__init__.py +0 -1
- jupyverse-0.7.4/plugins/contents/fps_contents/__init__.py +0 -1
- jupyverse-0.7.4/plugins/frontend/fps_frontend/__init__.py +0 -1
- jupyverse-0.7.4/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -1
- jupyverse-0.7.4/plugins/kernels/fps_kernels/__init__.py +0 -1
- jupyverse-0.7.4/plugins/lab/fps_lab/__init__.py +0 -1
- jupyverse-0.7.4/plugins/login/fps_login/__init__.py +0 -1
- jupyverse-0.7.4/plugins/nbconvert/fps_nbconvert/__init__.py +0 -1
- jupyverse-0.7.4/plugins/noauth/fps_noauth/__init__.py +0 -1
- jupyverse-0.7.4/plugins/notebook/fps_notebook/__init__.py +0 -1
- jupyverse-0.7.4/plugins/resource_usage/fps_resource_usage/__init__.py +0 -1
- jupyverse-0.7.4/plugins/terminals/fps_terminals/__init__.py +0 -1
- jupyverse-0.7.4/plugins/webdav/fps_webdav/__init__.py +0 -1
- jupyverse-0.7.4/plugins/yjs/fps_yjs/__init__.py +0 -1
- {jupyverse-0.7.4 → jupyverse-0.7.5}/.devcontainer/devcontainer.json +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/.devcontainer/requirements.txt +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/.github/workflows/check-release.yml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/.github/workflows/test.yml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/.gitignore +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/CONTRIBUTING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/environment.yml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/jupyter_notebook_config.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/postBuild +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/binder/start +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/index.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/install.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/jupyter.svg +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/auth.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/contents.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/frontend.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/jupyterlab.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/kernels.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/lab.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/login.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/nbconvert.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/notebook.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/resource_usage.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/terminals.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/plugins/yjs.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/usage/microservices.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/usage/multi_user.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/docs/usage/single_user.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/cli.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/yjs/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/jupyverse_api/tests/test_resource_lock.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/mkdocs.yml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/notebooks/admin_users.ipynb +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/notebooks/admin_users.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/backends.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/config.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/db.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/models.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/fps_auth/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_fief/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/auth_jupyterhub/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/fileid.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/fps_contents/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/contents/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/fps_frontend/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/fps_frontend/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/frontend/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/jupyterlab/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/connect.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/driver.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/fps_kernels/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/kernels/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/fps_lab/static/favicon.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/lab/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/index.html +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/logo/github.svg +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/logo/logo.png +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/fps_login/static/style/index.css +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/login/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/fps_nbconvert/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/nbconvert/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/fps_noauth/backends.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/fps_noauth/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/fps_noauth/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/noauth/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/fps_notebook/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/fps_notebook/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/fps_notebook/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/notebook/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/fps_resource_usage/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/resource_usage/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/terminals/fps_terminals/win_server.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/config.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/fps_webdav/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/tests/conftest.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/webdav/tests/test_webdav.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/COPYING.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/README.md +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/main.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/py.typed +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/routes.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/utils.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/ybasedoc.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/yblob.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/yfile.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/ynotebook.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ydocs/yunicode.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/fps_yjs/ywidgets/widgets.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/plugins/yjs/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/pyproject.toml +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/pytest.ini +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/conftest.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/data/notebook0.ipynb +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/data/notebook1.ipynb +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_app.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_auth.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_contents.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_execute.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_kernels.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_server.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/test_settings.py +0 -0
- {jupyverse-0.7.4 → jupyverse-0.7.5}/tests/utils.py +0 -0
@@ -2,6 +2,22 @@
|
|
2
2
|
|
3
3
|
<!-- <START NEW CHANGELOG ENTRY> -->
|
4
4
|
|
5
|
+
## 0.7.5
|
6
|
+
|
7
|
+
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.7.4...3c652e450d8ce5e46d7ea1bb00c402d611c4f54f))
|
8
|
+
|
9
|
+
### Merged PRs
|
10
|
+
|
11
|
+
- Use AnyIO's wait_readable for terminals [#461](https://github.com/jupyter-server/jupyverse/pull/461) ([@davidbrochart](https://github.com/davidbrochart))
|
12
|
+
|
13
|
+
### Contributors to this release
|
14
|
+
|
15
|
+
([GitHub contributors page for this release](https://github.com/jupyter-server/jupyverse/graphs/contributors?from=2025-02-17&to=2025-02-26&type=c))
|
16
|
+
|
17
|
+
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2025-02-17..2025-02-26&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2025-02-17..2025-02-26&type=Issues)
|
18
|
+
|
19
|
+
<!-- <END NEW CHANGELOG ENTRY> -->
|
20
|
+
|
5
21
|
## 0.7.4
|
6
22
|
|
7
23
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.7.3...3dee770cdcb8ae2529874a0a73592d2744eed63e))
|
@@ -16,8 +32,6 @@
|
|
16
32
|
|
17
33
|
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2025-02-17..2025-02-17&type=Issues)
|
18
34
|
|
19
|
-
<!-- <END NEW CHANGELOG ENTRY> -->
|
20
|
-
|
21
35
|
## 0.7.3
|
22
36
|
|
23
37
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.7.2...2c046e8db0203c7d90476bf11ab11b89c0b0af51))
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -3,7 +3,7 @@ from http import HTTPStatus
|
|
3
3
|
from typing import Any, Dict, Type
|
4
4
|
|
5
5
|
import structlog
|
6
|
-
from anyio import Event
|
6
|
+
from anyio import Event
|
7
7
|
from fastapi import Response
|
8
8
|
|
9
9
|
from jupyverse_api.app import App
|
@@ -25,9 +25,8 @@ class _Terminals(Terminals):
|
|
25
25
|
await self.stop_event.wait()
|
26
26
|
|
27
27
|
async def stop(self):
|
28
|
-
|
29
|
-
|
30
|
-
tg.start_soon(terminal["server"].stop)
|
28
|
+
for terminal in TERMINALS.values():
|
29
|
+
terminal["server"].quit()
|
31
30
|
self.stop_event.set()
|
32
31
|
|
33
32
|
async def get_terminals(
|
@@ -1,13 +1,17 @@
|
|
1
1
|
import fcntl
|
2
2
|
import os
|
3
3
|
import pty
|
4
|
-
import selectors
|
5
4
|
import shlex
|
6
5
|
import struct
|
7
6
|
import termios
|
8
7
|
from functools import partial
|
9
8
|
|
10
|
-
from anyio import
|
9
|
+
from anyio import (
|
10
|
+
Lock,
|
11
|
+
create_memory_object_stream,
|
12
|
+
create_task_group,
|
13
|
+
wait_readable,
|
14
|
+
)
|
11
15
|
from anyio.abc import ByteReceiveStream, ByteSendStream
|
12
16
|
from fastapi import WebSocketDisconnect
|
13
17
|
|
@@ -78,10 +82,6 @@ class _TerminalServer(TerminalServer):
|
|
78
82
|
self.task_group.cancel_scope.cancel()
|
79
83
|
|
80
84
|
def quit(self, websocket=None):
|
81
|
-
try:
|
82
|
-
self.recv_stream_from_backend.sel.unregister(self.p_out)
|
83
|
-
except Exception:
|
84
|
-
pass
|
85
85
|
if websocket is None:
|
86
86
|
self.websockets.clear()
|
87
87
|
elif websocket in self.websockets:
|
@@ -103,33 +103,20 @@ class ReceiveStream(ByteReceiveStream):
|
|
103
103
|
self.p_out = p_out
|
104
104
|
self.task_group = task_group
|
105
105
|
self.quit = quit
|
106
|
-
self.sel = selectors.DefaultSelector()
|
107
|
-
self.sel.register(self.p_out, selectors.EVENT_READ, self._read)
|
108
106
|
self.send_stream, self.recv_stream = create_memory_object_stream[bytes](
|
109
107
|
max_buffer_size=65536
|
110
108
|
)
|
109
|
+
task_group.start_soon(self.read)
|
111
110
|
|
112
|
-
|
113
|
-
|
114
|
-
|
115
|
-
|
116
|
-
|
117
|
-
|
118
|
-
|
119
|
-
|
120
|
-
|
121
|
-
|
122
|
-
task_group.start_soon(partial(to_thread.run_sync, reader, abandon_on_cancel=True))
|
123
|
-
|
124
|
-
def _read(self) -> bool:
|
125
|
-
try:
|
126
|
-
data = self.p_out.read(65536)
|
127
|
-
except OSError:
|
128
|
-
from_thread.run_sync(self.quit)
|
129
|
-
return True
|
130
|
-
else:
|
131
|
-
from_thread.run_sync(self.send_stream.send_nowait, data)
|
132
|
-
return False
|
111
|
+
async def read(self):
|
112
|
+
while True:
|
113
|
+
await wait_readable(self.p_out)
|
114
|
+
try:
|
115
|
+
data = self.p_out.read(65536)
|
116
|
+
except OSError:
|
117
|
+
self.quit()
|
118
|
+
return
|
119
|
+
await self.send_stream.send(data)
|
133
120
|
|
134
121
|
async def receive(self, max_bytes: int = 65536) -> bytes:
|
135
122
|
data = await self.recv_stream.receive()
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.7.5"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.7.4"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|