dirigent-cli 0.28.0__tar.gz → 0.29.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.
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/PKG-INFO +9 -9
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/pyproject.toml +9 -9
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/pyproject.toml.orig +9 -9
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/commands.py +21 -5
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/messages.py +6 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/source_commands.py +2 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/LICENSE +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/README.md +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/__init__.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/aliases.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/context.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/explain.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/formatters.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/graph.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/health.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/init_form.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/local.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/main.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/output.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/params.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/profiles.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/project.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/py.typed +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/reaper.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/scaffold.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/schemas.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/seeding.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/sources.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/starters.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/stream.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/summaries.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/README.md.tmpl +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/__init__.py.tmpl +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/operator.py.tmpl +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/pyproject.toml.tmpl +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/test_plugin.py.tmpl +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/timing.py +0 -0
- {dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/triggers.py +0 -0
|
@@ -1,19 +1,19 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: dirigent-cli
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.29.0
|
|
4
4
|
Summary: The dirigent command line interface (dirigent / dg).
|
|
5
5
|
License-Expression: LicenseRef-Proprietary
|
|
6
6
|
License-File: LICENSE
|
|
7
7
|
Classifier: Programming Language :: Python :: 3
|
|
8
8
|
Classifier: Programming Language :: Python :: 3.13
|
|
9
|
-
Requires-Dist: dirigent-block-execute==0.
|
|
10
|
-
Requires-Dist: dirigent-blocks==0.
|
|
11
|
-
Requires-Dist: dirigent-client==0.
|
|
12
|
-
Requires-Dist: dirigent-common==0.
|
|
13
|
-
Requires-Dist: dirigent-core==0.
|
|
14
|
-
Requires-Dist: dirigent-examples==0.
|
|
15
|
-
Requires-Dist: dirigent-plugin==0.
|
|
16
|
-
Requires-Dist: dirigent-server==0.
|
|
9
|
+
Requires-Dist: dirigent-block-execute==0.29.0
|
|
10
|
+
Requires-Dist: dirigent-blocks==0.29.0
|
|
11
|
+
Requires-Dist: dirigent-client==0.29.0
|
|
12
|
+
Requires-Dist: dirigent-common==0.29.0
|
|
13
|
+
Requires-Dist: dirigent-core==0.29.0
|
|
14
|
+
Requires-Dist: dirigent-examples==0.29.0
|
|
15
|
+
Requires-Dist: dirigent-plugin==0.29.0
|
|
16
|
+
Requires-Dist: dirigent-server==0.29.0
|
|
17
17
|
Requires-Dist: httpx2>=2.12.0
|
|
18
18
|
Requires-Dist: python-dotenv>=1.1.0
|
|
19
19
|
Requires-Dist: pyyaml>=6.0.3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dirigent-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.29.0"
|
|
4
4
|
description = "The dirigent command line interface (dirigent / dg)."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.13"
|
|
@@ -11,14 +11,14 @@ classifiers = [
|
|
|
11
11
|
"Programming Language :: Python :: 3.13",
|
|
12
12
|
]
|
|
13
13
|
dependencies = [
|
|
14
|
-
"dirigent-block-execute==0.
|
|
15
|
-
"dirigent-blocks==0.
|
|
16
|
-
"dirigent-client==0.
|
|
17
|
-
"dirigent-common==0.
|
|
18
|
-
"dirigent-core==0.
|
|
19
|
-
"dirigent-examples==0.
|
|
20
|
-
"dirigent-plugin==0.
|
|
21
|
-
"dirigent-server==0.
|
|
14
|
+
"dirigent-block-execute==0.29.0",
|
|
15
|
+
"dirigent-blocks==0.29.0",
|
|
16
|
+
"dirigent-client==0.29.0",
|
|
17
|
+
"dirigent-common==0.29.0",
|
|
18
|
+
"dirigent-core==0.29.0",
|
|
19
|
+
"dirigent-examples==0.29.0",
|
|
20
|
+
"dirigent-plugin==0.29.0",
|
|
21
|
+
"dirigent-server==0.29.0",
|
|
22
22
|
"httpx2>=2.12.0",
|
|
23
23
|
"python-dotenv>=1.1.0",
|
|
24
24
|
"pyyaml>=6.0.3",
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
[project]
|
|
2
2
|
name = "dirigent-cli"
|
|
3
|
-
version = "0.
|
|
3
|
+
version = "0.29.0"
|
|
4
4
|
description = "The dirigent command line interface (dirigent / dg)."
|
|
5
5
|
readme = "README.md"
|
|
6
6
|
requires-python = ">=3.13"
|
|
@@ -11,14 +11,14 @@ classifiers = [
|
|
|
11
11
|
"Programming Language :: Python :: 3.13",
|
|
12
12
|
]
|
|
13
13
|
dependencies = [
|
|
14
|
-
"dirigent-block-execute==0.
|
|
15
|
-
"dirigent-blocks==0.
|
|
16
|
-
"dirigent-client==0.
|
|
17
|
-
"dirigent-common==0.
|
|
18
|
-
"dirigent-core==0.
|
|
19
|
-
"dirigent-examples==0.
|
|
20
|
-
"dirigent-plugin==0.
|
|
21
|
-
"dirigent-server==0.
|
|
14
|
+
"dirigent-block-execute==0.29.0",
|
|
15
|
+
"dirigent-blocks==0.29.0",
|
|
16
|
+
"dirigent-client==0.29.0",
|
|
17
|
+
"dirigent-common==0.29.0",
|
|
18
|
+
"dirigent-core==0.29.0",
|
|
19
|
+
"dirigent-examples==0.29.0",
|
|
20
|
+
"dirigent-plugin==0.29.0",
|
|
21
|
+
"dirigent-server==0.29.0",
|
|
22
22
|
"httpx2>=2.12.0",
|
|
23
23
|
"python-dotenv>=1.1.0",
|
|
24
24
|
"pyyaml>=6.0.3",
|
|
@@ -64,6 +64,7 @@ from dirigent_cli.messages import (
|
|
|
64
64
|
NO_SUCH_BLOCK,
|
|
65
65
|
NO_SUCH_EXAMPLE,
|
|
66
66
|
NOT_A_BLOCK_KIND,
|
|
67
|
+
NOT_A_PIPELINE_CODE,
|
|
67
68
|
NOT_A_PRIORITY,
|
|
68
69
|
NOT_A_RUN_STATUS,
|
|
69
70
|
NOT_A_STARTER,
|
|
@@ -179,7 +180,7 @@ from dirigent_client import (
|
|
|
179
180
|
declared_label,
|
|
180
181
|
)
|
|
181
182
|
from dirigent_client.schemas import TokenLifetime
|
|
182
|
-
from dirigent_common import Issue, JsonMap, Message, bounded_load
|
|
183
|
+
from dirigent_common import Issue, JsonMap, Message, bounded_load, is_entity_name
|
|
183
184
|
from dirigent_core import migrations
|
|
184
185
|
from dirigent_core.config import STATE_DIR, Settings
|
|
185
186
|
from dirigent_core.connections import said
|
|
@@ -3320,15 +3321,30 @@ def pipeline_new(
|
|
|
3320
3321
|
code=repr(entry.code),
|
|
3321
3322
|
)
|
|
3322
3323
|
raise typer.Exit(code=1)
|
|
3323
|
-
new_code = code
|
|
3324
|
+
new_code = code if code is not None else entry.code
|
|
3324
3325
|
path = directory / f"{new_code}.yaml"
|
|
3325
|
-
|
|
3326
|
+
named = is_entity_name(new_code)
|
|
3327
|
+
if named and (path.is_symlink() or path.exists()):
|
|
3326
3328
|
refuse(ALREADY_THERE, title="Already there", problems=[Issue.of(NAME_ANOTHER_CODE)], path=path)
|
|
3327
3329
|
raise typer.Exit(code=1)
|
|
3330
|
+
if not named or path.resolve().parent != directory.resolve():
|
|
3331
|
+
refuse(
|
|
3332
|
+
NOT_A_PIPELINE_CODE,
|
|
3333
|
+
title="Not a pipeline code",
|
|
3334
|
+
problems=[Issue.of(NAME_ANOTHER_CODE)],
|
|
3335
|
+
code=repr(new_code),
|
|
3336
|
+
directory=directory,
|
|
3337
|
+
)
|
|
3338
|
+
raise typer.Exit(code=1)
|
|
3328
3339
|
text = starters.instantiate(entry.source, new_code)
|
|
3329
|
-
directory.mkdir(parents=True, exist_ok=True)
|
|
3330
|
-
path.write_text(text)
|
|
3331
3340
|
copied = load_pipeline_text(text).requires
|
|
3341
|
+
directory.mkdir(parents=True, exist_ok=True)
|
|
3342
|
+
try:
|
|
3343
|
+
with path.open("x", encoding="utf-8") as created:
|
|
3344
|
+
created.write(text)
|
|
3345
|
+
except FileExistsError:
|
|
3346
|
+
refuse(ALREADY_THERE, title="Already there", problems=[Issue.of(NAME_ANOTHER_CODE)], path=path)
|
|
3347
|
+
raise typer.Exit(code=1) from None
|
|
3332
3348
|
emit_fact(
|
|
3333
3349
|
"pipeline.created",
|
|
3334
3350
|
message="created",
|
|
@@ -251,6 +251,12 @@ STARTER_TAG_NEEDED = CLI.define(
|
|
|
251
251
|
|
|
252
252
|
ALREADY_THERE = CLI.define("already_there", "{path} is already there")
|
|
253
253
|
|
|
254
|
+
NOT_A_PIPELINE_CODE = CLI.define(
|
|
255
|
+
"not_a_pipeline_code",
|
|
256
|
+
"{code} is not a pipeline code, so it names no file in {directory}: a code is lowercase letters, "
|
|
257
|
+
"digits and single hyphens, and starts with a letter",
|
|
258
|
+
)
|
|
259
|
+
|
|
254
260
|
NAME_ANOTHER_CODE = CLI.define("name_another_code", "name another code with --code")
|
|
255
261
|
|
|
256
262
|
ONE_CLOCK = CLI.define("one_clock", "a schedule takes exactly one of --cron, --interval, or --at ({named} given)")
|
|
@@ -159,6 +159,8 @@ def source_call(
|
|
|
159
159
|
"""
|
|
160
160
|
if sum(value is not None for value in (data, text, form)) > 1:
|
|
161
161
|
fail(ONE_INPUT_BODY)
|
|
162
|
+
if token or signing_secret:
|
|
163
|
+
refuse_a_server_a_project_named(state_of(ctx))
|
|
162
164
|
with client_for(state_of(ctx)) as dg:
|
|
163
165
|
row = dg.call(dg.sources.get(pipeline, code))
|
|
164
166
|
base = dg.url
|
|
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
|
{dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/__init__.py.tmpl
RENAMED
|
File without changes
|
{dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/operator.py.tmpl
RENAMED
|
File without changes
|
{dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/pyproject.toml.tmpl
RENAMED
|
File without changes
|
{dirigent_cli-0.28.0 → dirigent_cli-0.29.0}/src/dirigent_cli/templates/pack/test_plugin.py.tmpl
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|