jupyverse 0.6.1__tar.gz → 0.6.3__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {jupyverse-0.6.1 → jupyverse-0.6.3}/.pre-commit-config.yaml +1 -1
- {jupyverse-0.6.1 → jupyverse-0.6.3}/CHANGELOG.md +30 -2
- {jupyverse-0.6.1 → jupyverse-0.6.3}/PKG-INFO +3 -3
- jupyverse-0.6.3/jupyverse/__init__.py +1 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/__init__.py +1 -1
- {jupyverse-0.6.1 → 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.1 → 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.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/driver.py +8 -8
- 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.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/main.py +7 -2
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/routes.py +8 -6
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywidgets/widgets.py +8 -8
- {jupyverse-0.6.1 → jupyverse-0.6.3}/pyproject.toml +2 -2
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_server.py +4 -4
- jupyverse-0.6.1/jupyverse/__init__.py +0 -1
- jupyverse-0.6.1/plugins/auth/fps_auth/__init__.py +0 -1
- jupyverse-0.6.1/plugins/auth_fief/fps_auth_fief/__init__.py +0 -1
- jupyverse-0.6.1/plugins/contents/fps_contents/__init__.py +0 -1
- jupyverse-0.6.1/plugins/frontend/fps_frontend/__init__.py +0 -1
- jupyverse-0.6.1/plugins/jupyterlab/fps_jupyterlab/__init__.py +0 -1
- jupyverse-0.6.1/plugins/kernels/fps_kernels/__init__.py +0 -1
- jupyverse-0.6.1/plugins/lab/fps_lab/__init__.py +0 -1
- jupyverse-0.6.1/plugins/login/fps_login/__init__.py +0 -1
- jupyverse-0.6.1/plugins/nbconvert/fps_nbconvert/__init__.py +0 -1
- jupyverse-0.6.1/plugins/noauth/fps_noauth/__init__.py +0 -1
- jupyverse-0.6.1/plugins/notebook/fps_notebook/__init__.py +0 -1
- jupyverse-0.6.1/plugins/resource_usage/fps_resource_usage/__init__.py +0 -1
- jupyverse-0.6.1/plugins/terminals/fps_terminals/__init__.py +0 -1
- jupyverse-0.6.1/plugins/webdav/fps_webdav/__init__.py +0 -1
- jupyverse-0.6.1/plugins/yjs/fps_yjs/__init__.py +0 -1
- {jupyverse-0.6.1 → jupyverse-0.6.3}/.devcontainer/devcontainer.json +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/.devcontainer/requirements.txt +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/.github/workflows/check-release.yml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/.github/workflows/test.yml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/.gitignore +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/CONTRIBUTING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/environment.yml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/jupyter_notebook_config.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/postBuild +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/binder/start +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/config.yaml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/index.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/install.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/jupyter.svg +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/auth.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/contents.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/frontend.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/jupyterlab.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/kernels.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/lab.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/login.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/nbconvert.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/notebook.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/resource_usage.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/terminals.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/plugins/yjs.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/tutorials/jupyterhub_jupyverse_deployment.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/tutorials/standalone_jupyverse_deployment.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/usage/microservices.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/usage/multi_user.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/docs/usage/single_user.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/app/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/auth/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/auth/models.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/cli.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/contents/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/contents/models.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/exceptions.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/frontend/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/jupyterlab/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/kernels/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/kernels/models.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/lab/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/login/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/main/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/nbconvert/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/notebook/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/resource_usage/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/terminals/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/terminals/models.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/jupyverse_api/yjs/models.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/jupyverse_api/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/mkdocs.yml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/notebooks/admin_users.ipynb +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/notebooks/admin_users.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/backends.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/config.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/db.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/models.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/fps_auth/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/backend.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/config.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/fps_auth_fief/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_fief/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/config.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/db.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/launch.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/models.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/fps_auth_jupyterhub/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/auth_jupyterhub/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/fileid.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/fps_contents/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/contents/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/fps_frontend/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/fps_frontend/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/frontend/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/index.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/fps_jupyterlab/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/jupyterlab/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/connect.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/kernelspec.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/message.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_driver/paths.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/message.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/kernel_server/server.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/fps_kernels/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/kernels/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/fps_lab/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/fps_lab/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/fps_lab/static/favicon.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/lab/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-1.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-2.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-busy-3.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-file.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-notebook.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon-terminal.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/favicons/favicon.ico +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/index.html +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/logo/github.svg +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/logo/logo.png +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/fps_login/static/style/index.css +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/login/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/fps_nbconvert/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/fps_nbconvert/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/nbconvert/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/backends.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/fps_noauth/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/noauth/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/fps_notebook/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/fps_notebook/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/notebook/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/fps_resource_usage/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/fps_resource_usage/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/resource_usage/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/server.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/fps_terminals/win_server.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/terminals/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/config.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/main.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/fps_webdav/routes.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/webdav/tests/test_webdav.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/COPYING.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/MANIFEST.in +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/README.md +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/py.typed +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/utils.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/ybasedoc.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yblob.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yfile.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/ynotebook.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ydocs/yunicode.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/asgi_server.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/awareness.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/django_channels_consumer.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_provider.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/websocket_server.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/yroom.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/ystore.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywebsocket/yutils.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/fps_yjs/ywidgets/__init__.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/plugins/yjs/pyproject.toml +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/pytest.ini +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/conftest.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/data/notebook0.ipynb +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/data/notebook1.ipynb +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_app.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_auth.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_contents.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_execute.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_kernels.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/test_settings.py +0 -0
- {jupyverse-0.6.1 → jupyverse-0.6.3}/tests/utils.py +0 -0
@@ -2,6 +2,36 @@
|
|
2
2
|
|
3
3
|
<!-- <START NEW CHANGELOG ENTRY> -->
|
4
4
|
|
5
|
+
## 0.6.3
|
6
|
+
|
7
|
+
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.2...aa6854a51665d95216340d7fda1ba111af6aef74))
|
8
|
+
|
9
|
+
### Merged PRs
|
10
|
+
|
11
|
+
- Add Yjs plugin configuration [#442](https://github.com/jupyter-server/jupyverse/pull/442) ([@davidbrochart](https://github.com/davidbrochart))
|
12
|
+
|
13
|
+
### Contributors to this release
|
14
|
+
|
15
|
+
([GitHub contributors page for this release](https://github.com/jupyter-server/jupyverse/graphs/contributors?from=2024-09-13&to=2024-10-02&type=c))
|
16
|
+
|
17
|
+
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-09-13..2024-10-02&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-09-13..2024-10-02&type=Issues)
|
18
|
+
|
19
|
+
<!-- <END NEW CHANGELOG ENTRY> -->
|
20
|
+
|
21
|
+
## 0.6.2
|
22
|
+
|
23
|
+
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.1...b7823731e061936842a3d2bcc6044f5134b50857))
|
24
|
+
|
25
|
+
### Merged PRs
|
26
|
+
|
27
|
+
- Bump ypywidgets, fix display_output handling [#437](https://github.com/jupyter-server/jupyverse/pull/437) ([@davidbrochart](https://github.com/davidbrochart))
|
28
|
+
|
29
|
+
### Contributors to this release
|
30
|
+
|
31
|
+
([GitHub contributors page for this release](https://github.com/jupyter-server/jupyverse/graphs/contributors?from=2024-09-09&to=2024-09-13&type=c))
|
32
|
+
|
33
|
+
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-09-09..2024-09-13&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-09-09..2024-09-13&type=Issues)
|
34
|
+
|
5
35
|
## 0.6.1
|
6
36
|
|
7
37
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.6.0...74930336b6b60a75e07cb0d45b10e4cfcdb80d58))
|
@@ -16,8 +46,6 @@
|
|
16
46
|
|
17
47
|
[@davidbrochart](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Adavidbrochart+updated%3A2024-05-22..2024-09-09&type=Issues) | [@pre-commit-ci](https://github.com/search?q=repo%3Ajupyter-server%2Fjupyverse+involves%3Apre-commit-ci+updated%3A2024-05-22..2024-09-09&type=Issues)
|
18
48
|
|
19
|
-
<!-- <END NEW CHANGELOG ENTRY> -->
|
20
|
-
|
21
49
|
## 0.6.0
|
22
50
|
|
23
51
|
([Full Changelog](https://github.com/jupyter-server/jupyverse/compare/v0.5.4...74a20c5aba350ae2dac605ff303d4e75f72eff40))
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.3
|
2
2
|
Name: jupyverse
|
3
|
-
Version: 0.6.
|
3
|
+
Version: 0.6.3
|
4
4
|
Summary: A set of FPS plugins implementing a Jupyter server
|
5
5
|
Project-URL: Homepage, https://jupyter.org
|
6
6
|
Author-email: Jupyter Development Team <jupyter@googlegroups.com>
|
@@ -46,8 +46,8 @@ Requires-Dist: requests; extra == 'test'
|
|
46
46
|
Requires-Dist: ruff>=0.1.2; extra == 'test'
|
47
47
|
Requires-Dist: types-setuptools; extra == 'test'
|
48
48
|
Requires-Dist: websockets; extra == 'test'
|
49
|
-
Requires-Dist: ypywidgets-textual<0.
|
50
|
-
Requires-Dist: ypywidgets<0.
|
49
|
+
Requires-Dist: ypywidgets-textual<0.6.0,>=0.5.0; extra == 'test'
|
50
|
+
Requires-Dist: ypywidgets<0.10.0,>=0.9.3; extra == 'test'
|
51
51
|
Description-Content-Type: text/markdown
|
52
52
|
|
53
53
|
[](https://github.com/jupyter-server/jupyverse/actions)
|
@@ -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"
|
@@ -257,14 +257,14 @@ class KernelDriver:
|
|
257
257
|
await self.yjs.room_manager.websocket_server.get_room(path, ydoc=doc) # type: ignore
|
258
258
|
outputs.append(doc)
|
259
259
|
else:
|
260
|
-
|
261
|
-
|
262
|
-
|
263
|
-
|
264
|
-
|
265
|
-
|
266
|
-
|
267
|
-
)
|
260
|
+
output = {
|
261
|
+
"data": content["data"],
|
262
|
+
"metadata": {},
|
263
|
+
"output_type": msg_type,
|
264
|
+
}
|
265
|
+
if msg_type == "execute_result":
|
266
|
+
output["execution_count"] = content["execution_count"]
|
267
|
+
outputs.append(output)
|
268
268
|
elif msg_type == "error":
|
269
269
|
outputs.append(
|
270
270
|
{
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -0,0 +1 @@
|
|
1
|
+
__version__ = "0.6.3"
|
@@ -8,22 +8,27 @@ from asphalt.core import Component, Context, context_teardown
|
|
8
8
|
from jupyverse_api.app import App
|
9
9
|
from jupyverse_api.auth import Auth
|
10
10
|
from jupyverse_api.contents import Contents
|
11
|
-
from jupyverse_api.yjs import Yjs
|
11
|
+
from jupyverse_api.yjs import Yjs, YjsConfig
|
12
12
|
|
13
13
|
from .routes import _Yjs
|
14
14
|
|
15
15
|
|
16
16
|
class YjsComponent(Component):
|
17
|
+
def __init__(self, **kwargs):
|
18
|
+
self.yjs_config = YjsConfig(**kwargs)
|
19
|
+
|
17
20
|
@context_teardown
|
18
21
|
async def start(
|
19
22
|
self,
|
20
23
|
ctx: Context,
|
21
24
|
) -> AsyncGenerator[None, Optional[BaseException]]:
|
25
|
+
ctx.add_resource(self.yjs_config, types=YjsConfig)
|
26
|
+
|
22
27
|
app = await ctx.request_resource(App)
|
23
28
|
auth = await ctx.request_resource(Auth) # type: ignore
|
24
29
|
contents = await ctx.request_resource(Contents) # type: ignore
|
25
30
|
|
26
|
-
yjs = _Yjs(app, auth, contents)
|
31
|
+
yjs = _Yjs(app, self.yjs_config, auth, contents)
|
27
32
|
ctx.add_resource(yjs, types=Yjs)
|
28
33
|
|
29
34
|
# start indexing in the background
|
@@ -20,7 +20,7 @@ from websockets.exceptions import ConnectionClosedOK
|
|
20
20
|
from jupyverse_api.app import App
|
21
21
|
from jupyverse_api.auth import Auth, User
|
22
22
|
from jupyverse_api.contents import Contents
|
23
|
-
from jupyverse_api.yjs import Yjs
|
23
|
+
from jupyverse_api.yjs import Yjs, YjsConfig
|
24
24
|
from jupyverse_api.yjs.models import CreateDocumentSession
|
25
25
|
|
26
26
|
from .ydocs import ydocs as YDOCS
|
@@ -44,12 +44,13 @@ class _Yjs(Yjs):
|
|
44
44
|
def __init__(
|
45
45
|
self,
|
46
46
|
app: App,
|
47
|
+
yjs_config: YjsConfig,
|
47
48
|
auth: Auth,
|
48
49
|
contents: Contents,
|
49
50
|
) -> None:
|
50
51
|
super().__init__(app=app, auth=auth)
|
51
52
|
self.contents = contents
|
52
|
-
self.room_manager = RoomManager(contents)
|
53
|
+
self.room_manager = RoomManager(contents, yjs_config)
|
53
54
|
if Widgets is None:
|
54
55
|
self.widgets = None
|
55
56
|
else:
|
@@ -148,8 +149,9 @@ class RoomManager:
|
|
148
149
|
websocket_server: JupyterWebsocketServer
|
149
150
|
lock: asyncio.Lock
|
150
151
|
|
151
|
-
def __init__(self, contents: Contents):
|
152
|
+
def __init__(self, contents: Contents, yjs_config: YjsConfig):
|
152
153
|
self.contents = contents
|
154
|
+
self.yjs_config = yjs_config
|
153
155
|
self.documents = {} # a dictionary of room_name:document
|
154
156
|
self.watchers = {} # a dictionary of file_id:task
|
155
157
|
self.savers = {} # a dictionary of file_id:task
|
@@ -314,7 +316,7 @@ class RoomManager:
|
|
314
316
|
self, file_id: str, file_type: str, file_format: str, document: YBaseDoc
|
315
317
|
) -> None:
|
316
318
|
# save after 1 second of inactivity to prevent too frequent saving
|
317
|
-
await asyncio.sleep(
|
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,15 +1,15 @@
|
|
1
1
|
import sys
|
2
2
|
from typing import Any
|
3
3
|
|
4
|
-
from pycrdt import TransactionEvent
|
5
|
-
|
6
4
|
try:
|
7
|
-
|
5
|
+
import ypywidgets # noqa: F401
|
6
|
+
from pycrdt import (
|
7
|
+
TransactionEvent,
|
8
8
|
YMessageType,
|
9
9
|
YSyncMessageType,
|
10
|
+
create_sync_message,
|
10
11
|
create_update_message,
|
11
|
-
|
12
|
-
sync,
|
12
|
+
handle_sync_message,
|
13
13
|
)
|
14
14
|
ypywidgets_installed = True
|
15
15
|
except ImportError:
|
@@ -41,15 +41,15 @@ if ypywidgets_installed:
|
|
41
41
|
self.comm = comm
|
42
42
|
model = self.ydocs[f"{name}Model"]()
|
43
43
|
self.widgets[comm_id] = {"model": model, "comm": comm}
|
44
|
-
msg =
|
45
|
-
comm.send(
|
44
|
+
msg = create_sync_message(model.ydoc)
|
45
|
+
comm.send(buffers=[msg])
|
46
46
|
|
47
47
|
def comm_msg(self, msg) -> None:
|
48
48
|
comm_id = msg["content"]["comm_id"]
|
49
49
|
message = bytes(msg["buffers"][0])
|
50
50
|
if message[0] == YMessageType.SYNC:
|
51
51
|
ydoc = self.widgets[comm_id]["model"].ydoc
|
52
|
-
reply =
|
52
|
+
reply = handle_sync_message(
|
53
53
|
message[1:],
|
54
54
|
ydoc,
|
55
55
|
)
|
@@ -106,8 +106,8 @@ async def test_rest_api(start_jupyverse):
|
|
106
106
|
cells = json.loads(str(ycells))
|
107
107
|
assert cells[0]["outputs"] == [
|
108
108
|
{
|
109
|
-
"data": {"text/plain":
|
110
|
-
"execution_count": 1
|
109
|
+
"data": {"text/plain": "3"},
|
110
|
+
"execution_count": 1,
|
111
111
|
"metadata": {},
|
112
112
|
"output_type": "execute_result",
|
113
113
|
}
|
@@ -117,8 +117,8 @@ async def test_rest_api(start_jupyverse):
|
|
117
117
|
]
|
118
118
|
assert cells[2]["outputs"] == [
|
119
119
|
{
|
120
|
-
"data": {"text/plain":
|
121
|
-
"execution_count": 3
|
120
|
+
"data": {"text/plain": "7"},
|
121
|
+
"execution_count": 3,
|
122
122
|
"metadata": {},
|
123
123
|
"output_type": "execute_result",
|
124
124
|
}
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
@@ -1 +0,0 @@
|
|
1
|
-
__version__ = "0.6.1"
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|
File without changes
|