dockflow-cli 0.1.0__tar.gz → 0.2.0__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.
- {dockflow_cli-0.1.0 → dockflow_cli-0.2.0}/PKG-INFO +4 -3
- {dockflow_cli-0.1.0 → dockflow_cli-0.2.0}/README.md +2 -2
- {dockflow_cli-0.1.0 → dockflow_cli-0.2.0}/pyproject.toml +5 -2
- {dockflow_cli-0.1.0 → dockflow_cli-0.2.0}/src/dockflow_cli/main.py +6 -3
- {dockflow_cli-0.1.0 → dockflow_cli-0.2.0}/LICENSE +0 -0
- {dockflow_cli-0.1.0 → dockflow_cli-0.2.0}/src/dockflow_cli/__init__.py +0 -0
|
@@ -1,9 +1,10 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dockflow-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.2.0
|
|
4
4
|
Summary: Dockflow extensible command host
|
|
5
5
|
License-Expression: MIT
|
|
6
6
|
License-File: LICENSE
|
|
7
|
+
Requires-Dist: dockflow-core==0.2.0
|
|
7
8
|
Requires-Dist: typer>=0.27.3,<0.28.0
|
|
8
9
|
Requires-Python: >=3.12
|
|
9
10
|
Project-URL: Homepage, https://github.com/dockflow-project/dockflow
|
|
@@ -31,9 +32,9 @@ invalid or conflicting plugin registrations rather than silently omitting them.
|
|
|
31
32
|
Install the command host with Python 3.12 or newer:
|
|
32
33
|
|
|
33
34
|
```bash
|
|
34
|
-
pip install dockflow-cli==0.
|
|
35
|
+
pip install dockflow-cli==0.2.0
|
|
35
36
|
```
|
|
36
37
|
|
|
37
|
-
Installing `dockflow-pipelines==0.
|
|
38
|
+
Installing `dockflow-pipelines==0.2.0` also installs this matching host.
|
|
38
39
|
MIT licensed. See [installation](https://github.com/dockflow-project/dockflow/blob/main/docs/installation.md),
|
|
39
40
|
[CLI usage](https://github.com/dockflow-project/dockflow/blob/main/docs/cli.md) and the [contribution guide](https://github.com/dockflow-project/dockflow/blob/main/CONTRIBUTING.md).
|
|
@@ -17,9 +17,9 @@ invalid or conflicting plugin registrations rather than silently omitting them.
|
|
|
17
17
|
Install the command host with Python 3.12 or newer:
|
|
18
18
|
|
|
19
19
|
```bash
|
|
20
|
-
pip install dockflow-cli==0.
|
|
20
|
+
pip install dockflow-cli==0.2.0
|
|
21
21
|
```
|
|
22
22
|
|
|
23
|
-
Installing `dockflow-pipelines==0.
|
|
23
|
+
Installing `dockflow-pipelines==0.2.0` also installs this matching host.
|
|
24
24
|
MIT licensed. See [installation](https://github.com/dockflow-project/dockflow/blob/main/docs/installation.md),
|
|
25
25
|
[CLI usage](https://github.com/dockflow-project/dockflow/blob/main/docs/cli.md) and the [contribution guide](https://github.com/dockflow-project/dockflow/blob/main/CONTRIBUTING.md).
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dockflow-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.2.0"
|
|
4
4
|
description = "Dockflow extensible command host"
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
license = "MIT"
|
|
7
7
|
license-files = ["LICENSE"]
|
|
8
8
|
requires-python = ">=3.12"
|
|
9
|
-
dependencies = ["typer>=0.27.3,<0.28.0"]
|
|
9
|
+
dependencies = ["dockflow-core==0.2.0", "typer>=0.27.3,<0.28.0"]
|
|
10
10
|
|
|
11
11
|
[project.urls]
|
|
12
12
|
Homepage = "https://github.com/dockflow-project/dockflow"
|
|
@@ -20,3 +20,6 @@ dockflow = "dockflow_cli.main:main"
|
|
|
20
20
|
[build-system]
|
|
21
21
|
requires = ["uv_build>=0.11.2,<0.12"]
|
|
22
22
|
build-backend = "uv_build"
|
|
23
|
+
|
|
24
|
+
[tool.uv.sources]
|
|
25
|
+
dockflow-core = { workspace = true }
|
|
@@ -5,6 +5,7 @@ import sys
|
|
|
5
5
|
from importlib import metadata
|
|
6
6
|
|
|
7
7
|
import typer
|
|
8
|
+
from dockflow_core.errors import DockflowError
|
|
8
9
|
from typer.main import get_command
|
|
9
10
|
|
|
10
11
|
|
|
@@ -27,10 +28,12 @@ def create_app() -> typer.Typer:
|
|
|
27
28
|
seen = {}
|
|
28
29
|
for entry in entries:
|
|
29
30
|
if not re.fullmatch(r"[a-z][a-z0-9]*(?:-[a-z0-9]+)*", entry.name):
|
|
30
|
-
raise
|
|
31
|
+
raise DockflowError(
|
|
32
|
+
f"Invalid module {entry.name!r} from {_provider(entry)}"
|
|
33
|
+
)
|
|
31
34
|
if entry.name in {"help", "version"} or entry.name in seen:
|
|
32
35
|
other = _provider(seen[entry.name]) if entry.name in seen else "built-in"
|
|
33
|
-
raise
|
|
36
|
+
raise DockflowError(
|
|
34
37
|
f"Module {entry.name!r} conflicts: {_provider(entry)} and {other}"
|
|
35
38
|
)
|
|
36
39
|
seen[entry.name] = entry
|
|
@@ -42,7 +45,7 @@ def create_app() -> typer.Typer:
|
|
|
42
45
|
get_command(plugin)
|
|
43
46
|
app.add_typer(plugin, name=entry.name)
|
|
44
47
|
except Exception as exc:
|
|
45
|
-
raise
|
|
48
|
+
raise DockflowError(
|
|
46
49
|
f"Cannot load module {entry.name!r} from {_provider(entry)}: {exc}"
|
|
47
50
|
) from exc
|
|
48
51
|
|
|
File without changes
|
|
File without changes
|