splight-cli 5.6.1__tar.gz → 5.6.4__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 (63) hide show
  1. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/code-style.yaml +3 -0
  2. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/developer.yaml +4 -1
  3. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/pre-release.yaml +3 -0
  4. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/release.yaml +6 -1
  5. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/scripts/requirements.txt +1 -1
  6. {splight_cli-5.6.1 → splight_cli-5.6.4}/PKG-INFO +7 -7
  7. {splight_cli-5.6.1 → splight_cli-5.6.4}/pyproject.toml +32 -8
  8. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/manager/manager.py +3 -2
  9. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/utils/input.py +21 -17
  10. {splight_cli-5.6.1 → splight_cli-5.6.4}/uv.lock +386 -220
  11. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/scripts/check_dev_version.py +0 -0
  12. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/scripts/check_master_version.py +0 -0
  13. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/scripts/check_pypi_version.py +0 -0
  14. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/scripts/check_release_version.py +0 -0
  15. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/scripts/check_version_uploaded.py +0 -0
  16. {splight_cli-5.6.1 → splight_cli-5.6.4}/.github/workflows/scripts/cleanup_pypi.py +0 -0
  17. {splight_cli-5.6.1 → splight_cli-5.6.4}/.gitignore +0 -0
  18. {splight_cli-5.6.1 → splight_cli-5.6.4}/.pre-commit-config.yaml +0 -0
  19. {splight_cli-5.6.1 → splight_cli-5.6.4}/Makefile +0 -0
  20. {splight_cli-5.6.1 → splight_cli-5.6.4}/README.md +0 -0
  21. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/__init__.py +0 -0
  22. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/cli.py +0 -0
  23. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/__init__.py +0 -0
  24. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/component.py +0 -0
  25. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/exceptions.py +0 -0
  26. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/loaders.py +0 -0
  27. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/templates/.splightignore +0 -0
  28. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/templates/Initialization +0 -0
  29. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/templates/README.md +0 -0
  30. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/templates/auto_readme.md +0 -0
  31. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/templates/main.py +0 -0
  32. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/templates/spec.json +0 -0
  33. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/templates/tests.py +0 -0
  34. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/tests/__init__.py +0 -0
  35. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/tests/test_component_manager.py +0 -0
  36. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/component/utils.py +0 -0
  37. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/config/__init__.py +0 -0
  38. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/constants.py +0 -0
  39. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/__init__.py +0 -0
  40. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/alert/__init__.py +0 -0
  41. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/asset/__init__.py +0 -0
  42. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/attribute/__init__.py +0 -0
  43. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/component/__init__.py +0 -0
  44. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/datalake/__init__.py +0 -0
  45. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/file/__init__.py +0 -0
  46. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/manager/__init__.py +0 -0
  47. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/manager/exceptions.py +0 -0
  48. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/manager/tests/test_datalake_manager.py +0 -0
  49. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/manager/tests/test_resource_manager.py +0 -0
  50. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/engine/secret/__init__.py +0 -0
  51. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/tests/test_component/Initialization +0 -0
  52. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/tests/test_component/README.md +0 -0
  53. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/tests/test_component/main.py +0 -0
  54. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/tests/test_component/spec.json +0 -0
  55. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/tests/test_component/tests.py +0 -0
  56. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/utils/__init__.py +0 -0
  57. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/utils/json.py +0 -0
  58. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/utils/loader.py +0 -0
  59. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/utils/pprint.py +0 -0
  60. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/utils/template.py +0 -0
  61. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/utils/yaml.py +0 -0
  62. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/version.py +0 -0
  63. {splight_cli-5.6.1 → splight_cli-5.6.4}/splight_cli/workspace/__init__.py +0 -0
@@ -5,6 +5,9 @@ on:
5
5
  branches:
6
6
  - master
7
7
 
8
+ permissions:
9
+ contents: read
10
+
8
11
  jobs:
9
12
  format:
10
13
  runs-on: ubuntu-latest
@@ -4,6 +4,9 @@
4
4
  name: Developer
5
5
  on: workflow_dispatch
6
6
 
7
+ permissions:
8
+ contents: read
9
+
7
10
  env:
8
11
  LIBRARY_NAME: "splight-cli"
9
12
 
@@ -91,7 +94,7 @@ jobs:
91
94
  fi
92
95
 
93
96
  - name: Publish package
94
- uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
97
+ uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086
95
98
  if: ${{ env.PUBLISH_PACKAGE == 'true' }}
96
99
  with:
97
100
  user: __token__
@@ -9,6 +9,9 @@ on:
9
9
  branches:
10
10
  - master
11
11
 
12
+ permissions:
13
+ contents: read
14
+
12
15
  env:
13
16
  LIBRARY_NAME: "splight-cli"
14
17
 
@@ -7,11 +7,16 @@ on:
7
7
  branches:
8
8
  - master
9
9
 
10
+ permissions:
11
+ contents: read
12
+
10
13
  env:
11
14
  LIBRARY_NAME: "splight-cli"
12
15
 
13
16
  jobs:
14
17
  tag_version:
18
+ permissions:
19
+ contents: write
15
20
  runs-on: ubuntu-latest
16
21
  name: Create tag version on github repository
17
22
  steps:
@@ -48,7 +53,7 @@ jobs:
48
53
  run: uv build
49
54
 
50
55
  - name: Publish package
51
- uses: pypa/gh-action-pypi-publish@27b31702a0e7fc50959f5ad993c78deac1bdfc29
56
+ uses: pypa/gh-action-pypi-publish@7245906fb61fa33a13554f9d5fb856fe61758086
52
57
  with:
53
58
  user: __token__
54
59
  password: ${{ secrets.PYPI_API_TOKEN }}
@@ -1,2 +1,2 @@
1
- requests==2.32.2
1
+ requests==2.33.0
2
2
  pypi-cleanup==0.1.4
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.4
1
+ Metadata-Version: 2.5
2
2
  Name: splight-cli
3
- Version: 5.6.1
3
+ Version: 5.6.4
4
4
  Summary: Splight Command Line Interface
5
5
  Author-email: Splight Dev <dev@splight-ae.com>
6
6
  Requires-Python: <4.0.0,>=3.11
@@ -8,13 +8,13 @@ Requires-Dist: case-converter==1.1.0
8
8
  Requires-Dist: click-default-group==1.2.2
9
9
  Requires-Dist: click==8.0.4
10
10
  Requires-Dist: colorama==0.4.4
11
- Requires-Dist: packaging==23.0
12
- Requires-Dist: pathspec==0.11.1
13
- Requires-Dist: py7zr==0.20.8
11
+ Requires-Dist: packaging>=23.0
12
+ Requires-Dist: pathspec>=0.11.1
13
+ Requires-Dist: py7zr>=0.20.8
14
14
  Requires-Dist: pyyaml==6.0.1
15
- Requires-Dist: requests==2.32.2
15
+ Requires-Dist: requests==2.33.0
16
16
  Requires-Dist: rich==13.0.1
17
- Requires-Dist: setuptools==80.7.1
17
+ Requires-Dist: setuptools>=84.1.0
18
18
  Requires-Dist: splight-lib>=5.21.0
19
19
  Requires-Dist: toposort<2.0,>=1.10
20
20
  Requires-Dist: typer==0.15.1
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "splight-cli"
3
- version = "5.6.1"
3
+ version = "5.6.4"
4
4
  description = "Splight Command Line Interface"
5
5
  readme = "README.md"
6
6
  authors = [
@@ -12,21 +12,45 @@ dependencies = [
12
12
  "click==8.0.4",
13
13
  "click-default-group==1.2.2",
14
14
  "colorama==0.4.4",
15
- "packaging==23.0",
16
- "pathspec==0.11.1",
17
- "py7zr==0.20.8",
15
+ "packaging>=23.0",
16
+ "pathspec>=0.11.1",
17
+ "py7zr>=0.20.8",
18
18
  "pyyaml==6.0.1",
19
- "requests==2.32.2",
19
+ "requests==2.33.0",
20
20
  "rich==13.0.1",
21
- "setuptools==80.7.1",
21
+ "setuptools>=84.1.0",
22
22
  "splight-lib>=5.21.0",
23
23
  "toposort>=1.10,<2.0",
24
24
  "typer==0.15.1",
25
25
  ]
26
26
 
27
+ [tool.uv]
28
+ constraint-dependencies = [
29
+ # https://splight.atlassian.net/browse/SECUR-794
30
+ "certifi>=v2026.10.19",
31
+ # https://splight.atlassian.net/browse/SECUR-793
32
+ "urllib3>=2.8.0",
33
+ # https://github.com/splightplatform/splight-cli/security/dependabot/72
34
+ "anyio>=4.14.2",
35
+ # https://github.com/splightplatform/splight-cli/security/dependabot/92
36
+ "brotlicffi>=1.2.1.0",
37
+ # https://github.com/splightplatform/splight-cli/security/dependabot/91
38
+ "brotli>=1.2.1",
39
+ # https://github.com/splightplatform/splight-cli/security/dependabot/73
40
+ "cryptography>=50.0.0",
41
+ # https://github.com/splightplatform/splight-cli/security/dependabot/82
42
+ "virtualenv>=21.14.8",
43
+ # https://github.com/splightplatform/splight-cli/security/dependabot/102
44
+ "dnspython>=2.9.0",
45
+ # https://github.com/splightplatform/splight-cli/security/dependabot/62
46
+ "idna>=3.15",
47
+ # https://github.com/splightplatform/splight-cli/security/dependabot/58
48
+ "Pygments>=2.20.0",
49
+ ]
50
+
27
51
  [dependency-groups]
28
52
  dev = [
29
- "black==24.3.0",
53
+ "black>=26.3.1",
30
54
  "coverage>=7.3.2",
31
55
  "flake8>=6.1.0",
32
56
  "ipdb>=0.13.13",
@@ -101,7 +125,7 @@ indent-width = 4
101
125
 
102
126
  target-version = "py311"
103
127
 
104
- extend-select = ["F", "I"]
128
+ lint.extend-select = ["F", "I"]
105
129
 
106
130
  [tool.ruff.format]
107
131
  # Like Black, use double quotes for strings.
@@ -338,7 +338,9 @@ class ComponentUpgradeManager:
338
338
  self._console.print(
339
339
  f"Insert values for {source} '{name[0]}' of routine '{routine_name}' ({routine_type}):"
340
340
  )
341
- new_value = prompt_data_address_value()
341
+ new_value = prompt_data_address_value(
342
+ hub_data_address["required"]
343
+ )
342
344
  hub_data_address["value"] = new_value
343
345
  result.append(InputDataAddress(**hub_data_address))
344
346
  except Exception as e:
@@ -562,7 +564,6 @@ class ComponentUpgradeManager:
562
564
  f"Creating routines for component '{new_component.name}'"
563
565
  )
564
566
  routines = RoutineObject.list(component_id=self.component_id)
565
-
566
567
  for routine in routines:
567
568
  try:
568
569
  matching_routine = next(
@@ -8,27 +8,31 @@ import click
8
8
  Primitive = Union[int, str, float, bool]
9
9
 
10
10
 
11
- def prompt_data_address_value():
12
- while True:
13
- asset_id = click.prompt(
14
- text="Asset ID",
15
- type=str,
16
- default=None,
11
+ def prompt_data_address_value(required: bool = False):
12
+ if not required:
13
+ fill_value = click.prompt(
14
+ text="Do you want to set a value? [y/n]",
15
+ default="n",
16
+ type=bool,
17
+ show_default=False,
17
18
  )
18
- if asset_id:
19
- break
20
- else:
21
- click.echo("Asset ID cannot be empty. Please try again.")
19
+ if not fill_value:
20
+ return
22
21
 
23
22
  while True:
24
- attribute_id = click.prompt(
25
- text="Attribute ID",
26
- type=str,
27
- default=None,
28
- )
29
- if attribute_id:
23
+ asset_id = click.prompt(text="Asset ID", type=str, default=None)
24
+ if asset_id:
30
25
  break
31
- else:
26
+ click.echo("Asset ID cannot be empty. Please try again.")
27
+
28
+ attribute_id = None
29
+ if asset_id:
30
+ while True:
31
+ attribute_id = click.prompt(
32
+ text="Attribute ID", type=str, default=None
33
+ )
34
+ if attribute_id:
35
+ break
32
36
  click.echo("Attribute ID cannot be empty. Please try again.")
33
37
 
34
38
  return {"asset": asset_id, "attribute": attribute_id}