splight-cli 5.1.4.dev0__tar.gz → 5.1.6__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.
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/PKG-INFO +1 -1
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/pyproject.toml +1 -1
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/cli.py +2 -2
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/context/workspace.py +36 -8
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/settings.py +10 -4
- splight_cli-5.1.4.dev0/splight_cli/context/context.py +0 -9
- splight_cli-5.1.4.dev0/splight_cli/context/exceptions.py +0 -3
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/README.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/component.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/loaders.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/.splightignore +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/Initialization +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/README.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/auto_readme.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/main.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/spec.json +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/tests.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/tests/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/tests/test_component_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/utils.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/config/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/constants.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/context/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/alert/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/asset/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/attribute/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/component/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/datalake/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/file/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/tests/test_datalake_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/tests/test_resource_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/secret/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/component_builder.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/hub_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/resources/Dockerfile +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/resources/installer.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/tests/test_hub_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/server_builder.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/server_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/constants.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/solution_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/dict.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/parser.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/diff.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/logger.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/alert.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/asset.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/attribute.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/base.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/component.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/component_object.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/file.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/function.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/metadata.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/routine.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/secret.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/state.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/Initialization +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/README.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/main.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/spec.json +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/tests.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/input.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/json.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/loader.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/pprint.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/template.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/yaml.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/version.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/workspace/__init__.py +0 -0
|
@@ -7,7 +7,7 @@ from splight_cli.component import component_app
|
|
|
7
7
|
from splight_cli.config import config_app
|
|
8
8
|
from splight_cli.constants import error_style
|
|
9
9
|
from splight_cli.context import Context
|
|
10
|
-
from splight_cli.context.
|
|
10
|
+
from splight_cli.context.workspace import ConfigurationError
|
|
11
11
|
from splight_cli.engine import engine_app
|
|
12
12
|
from splight_cli.hub import hub_app
|
|
13
13
|
from splight_cli.solution import solution_app
|
|
@@ -50,7 +50,7 @@ def main(
|
|
|
50
50
|
True if ctx.invoked_subcommand == "configure" else False
|
|
51
51
|
)
|
|
52
52
|
)
|
|
53
|
-
except
|
|
53
|
+
except ConfigurationError as exc:
|
|
54
54
|
console.print(
|
|
55
55
|
(
|
|
56
56
|
f"Error running Splight: {str(exc)}. "
|
|
@@ -8,7 +8,6 @@ from splight_cli.constants import (
|
|
|
8
8
|
DEFAULT_WORKSPACE_NAME,
|
|
9
9
|
DEFAULT_WORKSPACES,
|
|
10
10
|
)
|
|
11
|
-
from splight_cli.context.exceptions import MissingConfigurationFile
|
|
12
11
|
from splight_cli.settings import SplightCLIConfig, SplightCLISettings
|
|
13
12
|
from splight_cli.utils.yaml import get_yaml_from_file, save_yaml_to_file
|
|
14
13
|
|
|
@@ -32,21 +31,39 @@ class NotExistingWorkspace(Exception):
|
|
|
32
31
|
return self._msg
|
|
33
32
|
|
|
34
33
|
|
|
34
|
+
class ConfigurationError(Exception):
|
|
35
|
+
pass
|
|
36
|
+
|
|
37
|
+
|
|
35
38
|
class WorkspaceManager:
|
|
36
39
|
def __init__(self, new_workspace: bool = False):
|
|
37
|
-
if not os.path.exists(CONFIG_FILE) and not new_workspace:
|
|
38
|
-
raise MissingConfigurationFile("Config file does not exist")
|
|
39
40
|
self.config_file = CONFIG_FILE
|
|
40
|
-
path = Path(self.config_file)
|
|
41
|
-
path.parent.mkdir(parents=True, exist_ok=True)
|
|
42
|
-
path.touch()
|
|
43
41
|
self._config = self.__load_config()
|
|
44
42
|
self._workspaces = self._config.workspaces
|
|
45
43
|
self._current_workspace = self._config.current_workspace
|
|
46
44
|
self._settings = self._workspaces[self._current_workspace]
|
|
45
|
+
if not self._settings.is_configured() and not new_workspace:
|
|
46
|
+
raise ConfigurationError(
|
|
47
|
+
(
|
|
48
|
+
"There is at least one variable missing. "
|
|
49
|
+
"Use command 'splight configure'"
|
|
50
|
+
)
|
|
51
|
+
)
|
|
47
52
|
|
|
48
53
|
def __load_config(self):
|
|
49
|
-
|
|
54
|
+
try:
|
|
55
|
+
if os.path.exists(self.config_file):
|
|
56
|
+
config = self._load_from_file(self.config_file)
|
|
57
|
+
else:
|
|
58
|
+
config = self._load_from_env()
|
|
59
|
+
except Exception as exc:
|
|
60
|
+
raise ConfigurationError(
|
|
61
|
+
"An error ocurred while loading configuration"
|
|
62
|
+
) from exc
|
|
63
|
+
return config
|
|
64
|
+
|
|
65
|
+
def _load_from_file(self, file_path: str) -> SplightCLIConfig:
|
|
66
|
+
config = get_yaml_from_file(file_path)
|
|
50
67
|
# Default values
|
|
51
68
|
config["workspaces"] = config.get("workspaces", DEFAULT_WORKSPACES)
|
|
52
69
|
workspace_name = config.get(
|
|
@@ -59,10 +76,21 @@ class WorkspaceManager:
|
|
|
59
76
|
else list(config["workspaces"].keys())[0]
|
|
60
77
|
)
|
|
61
78
|
config["current_workspace"] = workspace_name
|
|
62
|
-
save_yaml_to_file(config,
|
|
79
|
+
save_yaml_to_file(config, file_path)
|
|
63
80
|
config = SplightCLIConfig.model_validate(config)
|
|
64
81
|
return config
|
|
65
82
|
|
|
83
|
+
def _load_from_env(self) -> SplightCLIConfig:
|
|
84
|
+
config = SplightCLIConfig(
|
|
85
|
+
current_workspace=DEFAULT_WORKSPACE_NAME,
|
|
86
|
+
workspaces=DEFAULT_WORKSPACES,
|
|
87
|
+
)
|
|
88
|
+
path = Path(self.config_file)
|
|
89
|
+
path.parent.mkdir(parents=True, exist_ok=True)
|
|
90
|
+
path.touch()
|
|
91
|
+
save_yaml_to_file(config.model_dump(), self.config_file)
|
|
92
|
+
return config
|
|
93
|
+
|
|
66
94
|
@property
|
|
67
95
|
def settings(self) -> SplightCLISettings:
|
|
68
96
|
return self._settings
|
|
@@ -7,16 +7,22 @@ from splight_cli.version import __version__
|
|
|
7
7
|
|
|
8
8
|
|
|
9
9
|
class SplightCLISettings(BaseSettings):
|
|
10
|
-
SPLIGHT_ACCESS_ID: str =
|
|
11
|
-
SPLIGHT_SECRET_KEY: str =
|
|
10
|
+
SPLIGHT_ACCESS_ID: str | None = None
|
|
11
|
+
SPLIGHT_SECRET_KEY: str | None = None
|
|
12
12
|
SPLIGHT_PLATFORM_API_HOST: str = "https://api.splight-ai.com"
|
|
13
|
-
SPLIGHT_GRPC_HOST: str = "grpc.splight-ai.com:443"
|
|
14
13
|
|
|
15
14
|
model_config: ConfigDict = ConfigDict(extra="ignore")
|
|
16
15
|
|
|
16
|
+
def is_configured(self) -> bool:
|
|
17
|
+
return (
|
|
18
|
+
False
|
|
19
|
+
if not self.SPLIGHT_ACCESS_ID or not self.SPLIGHT_SECRET_KEY
|
|
20
|
+
else True
|
|
21
|
+
)
|
|
22
|
+
|
|
17
23
|
|
|
18
24
|
class SplightCLIConfig(BaseModel):
|
|
19
|
-
current_workspace: str
|
|
25
|
+
current_workspace: str = "default"
|
|
20
26
|
workspaces: Dict[str, SplightCLISettings]
|
|
21
27
|
|
|
22
28
|
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import typer
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
def local_environment_context(ctx: typer.Context, local_dev: bool):
|
|
5
|
-
if local_dev:
|
|
6
|
-
db_client_mod = "splight_lib.client.database.LocalDatabaseClient"
|
|
7
|
-
dl_client_mod = "splight_lib.client.datalake.LocalDatalakeClient"
|
|
8
|
-
ctx.obj.workspace.settings.DATABASE_CLIENT = db_client_mod
|
|
9
|
-
ctx.obj.workspace.settings.DATALAKE_CLIENT = dl_client_mod
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/tests/test_component_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/resources/installer.py
RENAMED
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/tests/test_hub_manager.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/component.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/function.py
RENAMED
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/metadata.py
RENAMED
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/routine.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/Initialization
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|