Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(core): notebook_session provider #2880

Merged
merged 27 commits into from Jun 7, 2022
Merged
Show file tree
Hide file tree
Changes from 2 commits
Commits
Show all changes
27 commits
Select commit Hold shift + click to select a range
67c8e48
feat(core): notebook_session provider
olevski May 3, 2022
75ace8b
Merge branch 'develop' into notebook-session-provider
olevski May 3, 2022
669e0f7
squashme: fix mypy errors
olevski May 3, 2022
0876b92
squashme: minor fixes
olevski May 3, 2022
9c2c2aa
squashme: address comments
olevski May 19, 2022
9c6af97
squashme: add method to Remote class
olevski May 20, 2022
b95cb50
squashme: add docs
olevski May 20, 2022
918ce8a
squashme: fix linting
olevski May 20, 2022
105fa67
Merge branch 'develop' into notebook-session-provider
olevski May 20, 2022
938b037
squashme: fix mypy errors
olevski May 20, 2022
2036c14
squashme: fix tests
olevski May 20, 2022
9a18afc
Merge branch 'develop' into notebook-session-provider
olevski May 20, 2022
9282fe2
squashme: use communication.busy
olevski May 20, 2022
8bd779b
squashme: make client dispatcher a method
olevski May 20, 2022
acc1225
Merge branch 'develop' into notebook-session-provider
olevski May 23, 2022
f3f99d7
Merge branch 'develop' into notebook-session-provider
Panaetius May 24, 2022
3b0c667
Merge branch 'develop' into notebook-session-provider
olevski May 24, 2022
c983e69
Merge branch 'develop' into notebook-session-provider
olevski May 24, 2022
ddacc03
squashme: commit code change suggestion
olevski Jun 2, 2022
15a5f5d
squashme: minor fixes
olevski Jun 2, 2022
d9c02d1
squashme: open session in iframe for registered users
olevski Jun 2, 2022
a12d67b
Merge branch 'develop' into notebook-session-provider
olevski Jun 2, 2022
3ecdb2e
squashme: fix linting errors
olevski Jun 2, 2022
1aaa5fd
squashme: fix remaining lstrip error
olevski Jun 2, 2022
5e2e5d7
Merge branch 'develop' into notebook-session-provider
olevski Jun 2, 2022
38d1870
squashme: minor fix
olevski Jun 2, 2022
2b5597d
squashme: fix docs linting errors
olevski Jun 2, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
20 changes: 20 additions & 0 deletions renku/core/errors.py
Expand Up @@ -595,3 +595,23 @@ class DockerError(RenkuException):
def __init__(self, reason: str):
"""Embed exception and build a custom message."""
super().__init__(f"Docker failed: {reason}")


class NotebookServiceSessionError(RenkuException):
"""Raised when an error occurs trying to start sessions with the notebook service."""


class RemoteCommitDoesNotExistError(RenkuException):
"""Raised when a commit does not exist on a specific remote."""


class NoUntrackedFilesAllowedError(RenkuException):
"""Raised when untracked changes are present but should not be."""


class NotebookSessionNotReadyError(RenkuException):
"""Raised when a user attempts to open a session that is not ready."""


class NotebookSessionImageNotExistError(RenkuException):
"""Raised when a user attempts to start a session with an image that does not exist."""
3 changes: 2 additions & 1 deletion renku/core/plugin/implementations/__init__.py
Expand Up @@ -20,6 +20,7 @@
from typing import TYPE_CHECKING, List, Type

from renku.core.session.docker import DockerSessionProvider
from renku.core.session.notebook_service import NotebookServiceSessionProvider
from renku.core.workflow.converters.cwl import CWLExporter
from renku.core.workflow.providers.cwltool import CWLToolProvider

Expand All @@ -30,7 +31,7 @@

__all__: List[str] = []

session_providers: "List[Type[ISessionProvider]]" = [DockerSessionProvider]
session_providers: "List[Type[ISessionProvider]]" = [DockerSessionProvider, NotebookServiceSessionProvider]
workflow_exporters: "List[Type[IWorkflowConverter]]" = [CWLExporter]
workflow_providers: "List[Type[IWorkflowProvider]]" = [CWLToolProvider]

Expand Down