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.
Files changed (90) hide show
  1. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/PKG-INFO +1 -1
  2. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/pyproject.toml +1 -1
  3. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/cli.py +2 -2
  4. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/context/workspace.py +36 -8
  5. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/settings.py +10 -4
  6. splight_cli-5.1.4.dev0/splight_cli/context/context.py +0 -9
  7. splight_cli-5.1.4.dev0/splight_cli/context/exceptions.py +0 -3
  8. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/README.md +0 -0
  9. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/__init__.py +0 -0
  10. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/__init__.py +0 -0
  11. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/component.py +0 -0
  12. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/exceptions.py +0 -0
  13. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/loaders.py +0 -0
  14. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/.splightignore +0 -0
  15. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/Initialization +0 -0
  16. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/README.md +0 -0
  17. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/auto_readme.md +0 -0
  18. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/main.py +0 -0
  19. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/spec.json +0 -0
  20. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/templates/tests.py +0 -0
  21. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/tests/__init__.py +0 -0
  22. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/tests/test_component_manager.py +0 -0
  23. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/component/utils.py +0 -0
  24. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/config/__init__.py +0 -0
  25. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/constants.py +0 -0
  26. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/context/__init__.py +0 -0
  27. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/__init__.py +0 -0
  28. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/alert/__init__.py +0 -0
  29. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/asset/__init__.py +0 -0
  30. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/attribute/__init__.py +0 -0
  31. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/component/__init__.py +0 -0
  32. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/datalake/__init__.py +0 -0
  33. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/file/__init__.py +0 -0
  34. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/__init__.py +0 -0
  35. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/exceptions.py +0 -0
  36. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/manager.py +0 -0
  37. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/tests/test_datalake_manager.py +0 -0
  38. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/manager/tests/test_resource_manager.py +0 -0
  39. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/engine/secret/__init__.py +0 -0
  40. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/__init__.py +0 -0
  41. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/__init__.py +0 -0
  42. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/component_builder.py +0 -0
  43. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/exceptions.py +0 -0
  44. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/hub_manager.py +0 -0
  45. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/resources/Dockerfile +0 -0
  46. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/resources/installer.py +0 -0
  47. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/component/tests/test_hub_manager.py +0 -0
  48. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/exceptions.py +0 -0
  49. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/__init__.py +0 -0
  50. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/exceptions.py +0 -0
  51. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/server_builder.py +0 -0
  52. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/server/server_manager.py +0 -0
  53. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/__init__.py +0 -0
  54. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/constants.py +0 -0
  55. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/exceptions.py +0 -0
  56. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/hub/solution/solution_manager.py +0 -0
  57. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/__init__.py +0 -0
  58. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/dict.py +0 -0
  59. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/parser.py +0 -0
  60. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/__init__.py +0 -0
  61. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/diff.py +0 -0
  62. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/logger.py +0 -0
  63. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/manager.py +0 -0
  64. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/__init__.py +0 -0
  65. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/alert.py +0 -0
  66. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/asset.py +0 -0
  67. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/attribute.py +0 -0
  68. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/base.py +0 -0
  69. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/component.py +0 -0
  70. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/component_object.py +0 -0
  71. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/file.py +0 -0
  72. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/function.py +0 -0
  73. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/metadata.py +0 -0
  74. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/routine.py +0 -0
  75. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/resource/models/secret.py +0 -0
  76. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/solution/state.py +0 -0
  77. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/Initialization +0 -0
  78. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/README.md +0 -0
  79. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/main.py +0 -0
  80. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/spec.json +0 -0
  81. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/tests/test_component/tests.py +0 -0
  82. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/__init__.py +0 -0
  83. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/input.py +0 -0
  84. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/json.py +0 -0
  85. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/loader.py +0 -0
  86. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/pprint.py +0 -0
  87. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/template.py +0 -0
  88. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/utils/yaml.py +0 -0
  89. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/version.py +0 -0
  90. {splight_cli-5.1.4.dev0 → splight_cli-5.1.6}/splight_cli/workspace/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: splight-cli
3
- Version: 5.1.4.dev0
3
+ Version: 5.1.6
4
4
  Summary: Splight Command Line Interface
5
5
  Author: Splight Dev
6
6
  Author-email: dev@splight-ae.com
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "splight-cli"
3
- version = "5.1.4dev0"
3
+ version = "5.1.6"
4
4
  description = "Splight Command Line Interface"
5
5
  authors = ["Splight Dev <dev@splight-ae.com>"]
6
6
  readme = "README.md"
@@ -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.exceptions import MissingConfigurationFile
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 MissingConfigurationFile as exc:
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
- config = get_yaml_from_file(self.config_file)
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, self.config_file)
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
@@ -1,3 +0,0 @@
1
- class MissingConfigurationFile(Exception):
2
- def __init__(self, message):
3
- super().__init__(message)
File without changes