ssot-cli 0.1.17__tar.gz → 0.1.18.dev1__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.
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/PKG-INFO +10 -5
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/README.md +6 -1
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/pyproject.toml +4 -4
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/graph_cmd.py +33 -1
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli.egg-info/PKG-INFO +10 -5
- ssot_cli-0.1.18.dev1/src/ssot_cli.egg-info/requires.txt +7 -0
- ssot_cli-0.1.17/src/ssot_cli.egg-info/requires.txt +0 -7
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/setup.cfg +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/__init__.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/adr_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/boundary_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/campaign_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/claim_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/common.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/config_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/conformance_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/evidence_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/feature_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/init_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/issue_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/leases_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/main.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/maturity_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/pack_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/profile_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/registry_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/release_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/repo_watch_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/risk_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/spec_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/test_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/upgrade_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/validate_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli/worker_cmd.py +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli.egg-info/SOURCES.txt +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli.egg-info/dependency_links.txt +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli.egg-info/entry_points.txt +0 -0
- {ssot_cli-0.1.17 → ssot_cli-0.1.18.dev1}/src/ssot_cli.egg-info/top_level.txt +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssot-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.18.dev1
|
|
4
4
|
Summary: Primary CLI distribution for ssot-registry.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -25,9 +25,9 @@ Classifier: Topic :: Software Development :: Quality Assurance
|
|
|
25
25
|
Classifier: Topic :: Utilities
|
|
26
26
|
Requires-Python: <3.15,>=3.10
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
|
-
Requires-Dist: ssot-contracts<0.3.0,>=0.2.
|
|
29
|
-
Requires-Dist: ssot-core<0.3.0,>=0.2.
|
|
30
|
-
Requires-Dist: ssot-conformance<0.3.0,>=0.2.
|
|
28
|
+
Requires-Dist: ssot-contracts<0.3.0,>=0.2.24.dev1
|
|
29
|
+
Requires-Dist: ssot-core<0.3.0,>=0.2.24.dev1
|
|
30
|
+
Requires-Dist: ssot-conformance<0.3.0,>=0.2.24.dev1
|
|
31
31
|
Requires-Dist: ssot-pack-contracts<0.3.0,>=0.2.23
|
|
32
32
|
Requires-Dist: tomli>=2.0.1; python_version < "3.11"
|
|
33
33
|
|
|
@@ -258,6 +258,7 @@ Global flags: `--output-file`, `--output-format`, `--version`
|
|
|
258
258
|
| `ssot-registry feature update` | `--body`, `--body-file`, `--description`, `--id`, `--implementation-status`, `--origin`, `--title` |
|
|
259
259
|
| `ssot-registry graph` | none |
|
|
260
260
|
| `ssot-registry graph export` | `--format`, `--output` |
|
|
261
|
+
| `ssot-registry graph lineage` | `--open`, `--output` |
|
|
261
262
|
| `ssot-registry init` | `--force`, `--repo-id`, `--repo-name`, `--version` |
|
|
262
263
|
| `ssot-registry issue` | none |
|
|
263
264
|
| `ssot-registry issue close` | `--id` |
|
|
@@ -1087,12 +1088,16 @@ ssot-registry release revoke [path]
|
|
|
1087
1088
|
|
|
1088
1089
|
Subcommands:
|
|
1089
1090
|
|
|
1090
|
-
- `export`, `
|
|
1091
|
+
- `export`, `lineage`
|
|
1091
1092
|
|
|
1092
1093
|
```text
|
|
1093
1094
|
ssot-registry graph export [path]
|
|
1094
1095
|
--format {json,dot,png,svg} (required)
|
|
1095
1096
|
--output OUTPUT
|
|
1097
|
+
|
|
1098
|
+
ssot-registry graph lineage [path]
|
|
1099
|
+
--output OUTPUT
|
|
1100
|
+
--open
|
|
1096
1101
|
```
|
|
1097
1102
|
|
|
1098
1103
|
### `registry`
|
|
@@ -225,6 +225,7 @@ Global flags: `--output-file`, `--output-format`, `--version`
|
|
|
225
225
|
| `ssot-registry feature update` | `--body`, `--body-file`, `--description`, `--id`, `--implementation-status`, `--origin`, `--title` |
|
|
226
226
|
| `ssot-registry graph` | none |
|
|
227
227
|
| `ssot-registry graph export` | `--format`, `--output` |
|
|
228
|
+
| `ssot-registry graph lineage` | `--open`, `--output` |
|
|
228
229
|
| `ssot-registry init` | `--force`, `--repo-id`, `--repo-name`, `--version` |
|
|
229
230
|
| `ssot-registry issue` | none |
|
|
230
231
|
| `ssot-registry issue close` | `--id` |
|
|
@@ -1054,12 +1055,16 @@ ssot-registry release revoke [path]
|
|
|
1054
1055
|
|
|
1055
1056
|
Subcommands:
|
|
1056
1057
|
|
|
1057
|
-
- `export`, `
|
|
1058
|
+
- `export`, `lineage`
|
|
1058
1059
|
|
|
1059
1060
|
```text
|
|
1060
1061
|
ssot-registry graph export [path]
|
|
1061
1062
|
--format {json,dot,png,svg} (required)
|
|
1062
1063
|
--output OUTPUT
|
|
1064
|
+
|
|
1065
|
+
ssot-registry graph lineage [path]
|
|
1066
|
+
--output OUTPUT
|
|
1067
|
+
--open
|
|
1063
1068
|
```
|
|
1064
1069
|
|
|
1065
1070
|
### `registry`
|
|
@@ -4,16 +4,16 @@ build-backend = "setuptools.build_meta"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "ssot-cli"
|
|
7
|
-
version = "0.1.
|
|
7
|
+
version = "0.1.18.dev1"
|
|
8
8
|
description = "Primary CLI distribution for ssot-registry."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
requires-python = ">=3.10,<3.15"
|
|
11
11
|
license = "Apache-2.0"
|
|
12
12
|
authors = [{ name = "Jacob Stewart", email = "jacob@swarmauri.com" }]
|
|
13
13
|
dependencies = [
|
|
14
|
-
"ssot-contracts>=0.2.
|
|
15
|
-
"ssot-core>=0.2.
|
|
16
|
-
"ssot-conformance>=0.2.
|
|
14
|
+
"ssot-contracts>=0.2.24.dev1,<0.3.0",
|
|
15
|
+
"ssot-core>=0.2.24.dev1,<0.3.0",
|
|
16
|
+
"ssot-conformance>=0.2.24.dev1,<0.3.0",
|
|
17
17
|
"ssot-pack-contracts>=0.2.23,<0.3.0",
|
|
18
18
|
"tomli>=2.0.1; python_version < '3.11'",
|
|
19
19
|
]
|
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import argparse
|
|
4
|
+
import os
|
|
5
|
+
import subprocess
|
|
6
|
+
import sys
|
|
7
|
+
from pathlib import Path
|
|
4
8
|
|
|
5
9
|
from ssot_registry.api import export_graph, export_lineage_graph
|
|
6
10
|
|
|
@@ -30,6 +34,7 @@ def register_graph(subparsers: argparse._SubParsersAction) -> None:
|
|
|
30
34
|
)
|
|
31
35
|
lineage.add_argument("path", nargs="?", default=".", help="Repository root or registry file to render from.")
|
|
32
36
|
lineage.add_argument("--output", default=None, help="Destination HTML file. Defaults under `.ssot/graphs`.")
|
|
37
|
+
lineage.add_argument("--open", action="store_true", help="Open the generated HTML file with the local platform opener after export.")
|
|
33
38
|
lineage.set_defaults(func=run_lineage)
|
|
34
39
|
|
|
35
40
|
|
|
@@ -38,4 +43,31 @@ def run_export(args: argparse.Namespace) -> dict[str, object]:
|
|
|
38
43
|
|
|
39
44
|
|
|
40
45
|
def run_lineage(args: argparse.Namespace) -> dict[str, object]:
|
|
41
|
-
|
|
46
|
+
payload = export_lineage_graph(path=args.path, output=args.output)
|
|
47
|
+
if args.open:
|
|
48
|
+
output_path = payload.get("output_path")
|
|
49
|
+
if not isinstance(output_path, str) or not output_path:
|
|
50
|
+
raise ValueError("lineage graph export did not return an output_path to open")
|
|
51
|
+
_open_file(Path(output_path))
|
|
52
|
+
payload["opened"] = True
|
|
53
|
+
else:
|
|
54
|
+
payload["opened"] = False
|
|
55
|
+
return payload
|
|
56
|
+
|
|
57
|
+
|
|
58
|
+
def _open_file(path: Path) -> None:
|
|
59
|
+
target = path.resolve()
|
|
60
|
+
if not target.exists():
|
|
61
|
+
raise ValueError(f"Cannot open missing lineage graph artifact: {target}")
|
|
62
|
+
if target.is_dir():
|
|
63
|
+
raise ValueError(f"Cannot open lineage graph artifact because output path is a directory: {target}")
|
|
64
|
+
|
|
65
|
+
try:
|
|
66
|
+
if sys.platform.startswith("win"):
|
|
67
|
+
os.startfile(target) # type: ignore[attr-defined]
|
|
68
|
+
elif sys.platform == "darwin":
|
|
69
|
+
subprocess.Popen(["open", str(target)], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
|
70
|
+
else:
|
|
71
|
+
subprocess.Popen(["xdg-open", str(target)], stdout=subprocess.DEVNULL, stderr=subprocess.DEVNULL)
|
|
72
|
+
except OSError as exc:
|
|
73
|
+
raise ValueError(f"Failed to open lineage graph artifact {target}: {exc}") from exc
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: ssot-cli
|
|
3
|
-
Version: 0.1.
|
|
3
|
+
Version: 0.1.18.dev1
|
|
4
4
|
Summary: Primary CLI distribution for ssot-registry.
|
|
5
5
|
Author-email: Jacob Stewart <jacob@swarmauri.com>
|
|
6
6
|
License-Expression: Apache-2.0
|
|
@@ -25,9 +25,9 @@ Classifier: Topic :: Software Development :: Quality Assurance
|
|
|
25
25
|
Classifier: Topic :: Utilities
|
|
26
26
|
Requires-Python: <3.15,>=3.10
|
|
27
27
|
Description-Content-Type: text/markdown
|
|
28
|
-
Requires-Dist: ssot-contracts<0.3.0,>=0.2.
|
|
29
|
-
Requires-Dist: ssot-core<0.3.0,>=0.2.
|
|
30
|
-
Requires-Dist: ssot-conformance<0.3.0,>=0.2.
|
|
28
|
+
Requires-Dist: ssot-contracts<0.3.0,>=0.2.24.dev1
|
|
29
|
+
Requires-Dist: ssot-core<0.3.0,>=0.2.24.dev1
|
|
30
|
+
Requires-Dist: ssot-conformance<0.3.0,>=0.2.24.dev1
|
|
31
31
|
Requires-Dist: ssot-pack-contracts<0.3.0,>=0.2.23
|
|
32
32
|
Requires-Dist: tomli>=2.0.1; python_version < "3.11"
|
|
33
33
|
|
|
@@ -258,6 +258,7 @@ Global flags: `--output-file`, `--output-format`, `--version`
|
|
|
258
258
|
| `ssot-registry feature update` | `--body`, `--body-file`, `--description`, `--id`, `--implementation-status`, `--origin`, `--title` |
|
|
259
259
|
| `ssot-registry graph` | none |
|
|
260
260
|
| `ssot-registry graph export` | `--format`, `--output` |
|
|
261
|
+
| `ssot-registry graph lineage` | `--open`, `--output` |
|
|
261
262
|
| `ssot-registry init` | `--force`, `--repo-id`, `--repo-name`, `--version` |
|
|
262
263
|
| `ssot-registry issue` | none |
|
|
263
264
|
| `ssot-registry issue close` | `--id` |
|
|
@@ -1087,12 +1088,16 @@ ssot-registry release revoke [path]
|
|
|
1087
1088
|
|
|
1088
1089
|
Subcommands:
|
|
1089
1090
|
|
|
1090
|
-
- `export`, `
|
|
1091
|
+
- `export`, `lineage`
|
|
1091
1092
|
|
|
1092
1093
|
```text
|
|
1093
1094
|
ssot-registry graph export [path]
|
|
1094
1095
|
--format {json,dot,png,svg} (required)
|
|
1095
1096
|
--output OUTPUT
|
|
1097
|
+
|
|
1098
|
+
ssot-registry graph lineage [path]
|
|
1099
|
+
--output OUTPUT
|
|
1100
|
+
--open
|
|
1096
1101
|
```
|
|
1097
1102
|
|
|
1098
1103
|
### `registry`
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|