splight-cli 5.1.4.dev0__tar.gz → 5.1.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.
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/PKG-INFO +1 -1
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/pyproject.toml +1 -1
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/context/workspace.py +36 -8
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/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-5.1.5}/README.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/cli.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/component.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/loaders.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/templates/.splightignore +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/templates/Initialization +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/templates/README.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/templates/auto_readme.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/templates/main.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/templates/spec.json +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/templates/tests.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/tests/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/tests/test_component_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/component/utils.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/config/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/constants.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/context/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/context/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/alert/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/asset/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/attribute/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/component/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/datalake/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/file/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/manager/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/manager/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/manager/manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/manager/tests/test_datalake_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/manager/tests/test_resource_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/engine/secret/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/component_builder.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/hub_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/resources/Dockerfile +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/resources/installer.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/tests/test_hub_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/server/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/server/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/server/server_builder.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/server/server_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/solution/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/solution/constants.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/solution/exceptions.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/solution/solution_manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/dict.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/parser.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/diff.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/logger.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/manager.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/alert.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/asset.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/attribute.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/base.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/component.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/component_object.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/file.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/function.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/metadata.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/routine.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/secret.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/state.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/tests/test_component/Initialization +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/tests/test_component/README.md +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/tests/test_component/main.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/tests/test_component/spec.json +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/tests/test_component/tests.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/utils/__init__.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/utils/input.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/utils/json.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/utils/loader.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/utils/pprint.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/utils/template.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/utils/yaml.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/version.py +0 -0
- {splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/workspace/__init__.py +0 -0
|
@@ -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():
|
|
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
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/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
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/hub/component/resources/installer.py
RENAMED
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/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.5}/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.5}/splight_cli/solution/resource/models/attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/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.5}/splight_cli/solution/resource/models/function.py
RENAMED
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/splight_cli/solution/resource/models/metadata.py
RENAMED
|
File without changes
|
{splight_cli-5.1.4.dev0 → splight_cli-5.1.5}/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.5}/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
|