dirigent-client 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.
Files changed (40) hide show
  1. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/PKG-INFO +2 -2
  2. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/pyproject.toml +2 -2
  3. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/pyproject.toml.orig +2 -2
  4. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/__init__.py +2 -0
  5. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/pipelines.py +33 -1
  6. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/LICENSE +0 -0
  7. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/README.md +0 -0
  8. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/__init__.py +0 -0
  9. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/client.py +0 -0
  10. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/enums.py +0 -0
  11. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/errors.py +0 -0
  12. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/messages.py +0 -0
  13. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/py.typed +0 -0
  14. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/__init__.py +0 -0
  15. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/alerts.py +0 -0
  16. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/auth.py +0 -0
  17. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/base.py +0 -0
  18. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/blocks.py +0 -0
  19. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/connections.py +0 -0
  20. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/examples.py +0 -0
  21. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/pipelines.py +0 -0
  22. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/runs.py +0 -0
  23. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/schedules.py +0 -0
  24. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/schemas.py +0 -0
  25. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/sources.py +0 -0
  26. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/system.py +0 -0
  27. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/resources/trigger_documents.py +0 -0
  28. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/alerts.py +0 -0
  29. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/auth.py +0 -0
  30. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/catalog.py +0 -0
  31. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/common.py +0 -0
  32. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/connections.py +0 -0
  33. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/examples.py +0 -0
  34. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/labels.py +0 -0
  35. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/runs.py +0 -0
  36. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/schemas.py +0 -0
  37. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/sources.py +0 -0
  38. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/system.py +0 -0
  39. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/schemas/triggers.py +0 -0
  40. {dirigent_client-0.28.0 → dirigent_client-0.29.0}/src/dirigent_client/transport.py +0 -0
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: dirigent-client
3
- Version: 0.28.0
3
+ Version: 0.29.0
4
4
  Summary: The dirigent API contract: typed wire schemas and an async Python client.
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-common==0.28.0
9
+ Requires-Dist: dirigent-common==0.29.0
10
10
  Requires-Dist: httpx2>=2.12.0
11
11
  Requires-Dist: pydantic>=2.13.5
12
12
  Requires-Dist: pyyaml>=6.0.3
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dirigent-client"
3
- version = "0.28.0"
3
+ version = "0.29.0"
4
4
  description = "The dirigent API contract: typed wire schemas and an async Python client."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -11,7 +11,7 @@ classifiers = [
11
11
  "Programming Language :: Python :: 3.13",
12
12
  ]
13
13
  dependencies = [
14
- "dirigent-common==0.28.0",
14
+ "dirigent-common==0.29.0",
15
15
  "httpx2>=2.12.0",
16
16
  "pydantic>=2.13.5",
17
17
  "pyyaml>=6.0.3",
@@ -1,6 +1,6 @@
1
1
  [project]
2
2
  name = "dirigent-client"
3
- version = "0.28.0"
3
+ version = "0.29.0"
4
4
  description = "The dirigent API contract: typed wire schemas and an async Python client."
5
5
  readme = "README.md"
6
6
  requires-python = ">=3.13"
@@ -11,7 +11,7 @@ classifiers = [
11
11
  "Programming Language :: Python :: 3.13",
12
12
  ]
13
13
  dependencies = [
14
- "dirigent-common==0.28.0",
14
+ "dirigent-common==0.29.0",
15
15
  "httpx2>=2.12.0",
16
16
  "pydantic>=2.13.5",
17
17
  "pyyaml>=6.0.3",
@@ -55,6 +55,7 @@ from dirigent_client.schemas.pipelines import (
55
55
  Requirements,
56
56
  RunAccepted,
57
57
  RunRequest,
58
+ StepShape,
58
59
  ValidationIssue,
59
60
  )
60
61
  from dirigent_client.schemas.runs import (
@@ -173,6 +174,7 @@ __all__ = [
173
174
  "SourceChanges",
174
175
  "SourceInputOut",
175
176
  "SourceOut",
177
+ "StepShape",
176
178
  "SetSecretRequest",
177
179
  "SourceTokenOut",
178
180
  "Requirements",
@@ -7,7 +7,15 @@ from uuid import UUID
7
7
 
8
8
  from pydantic import AliasChoices, BaseModel, ConfigDict, Field, JsonValue, field_validator, model_validator
9
9
 
10
- from dirigent_client.enums import DocumentKind, Importance, LogLevel, ProvenanceSource, RunPriority, RunStatus
10
+ from dirigent_client.enums import (
11
+ DocumentKind,
12
+ Importance,
13
+ LogLevel,
14
+ ProvenanceSource,
15
+ RunPriority,
16
+ RunStatus,
17
+ StepKind,
18
+ )
11
19
  from dirigent_client.messages import (
12
20
  BACKFILL_RUNS_FORWARDS,
13
21
  EMPTY_LOG_LEVEL_PATTERN,
@@ -57,6 +65,24 @@ class LastRun(WireModel):
57
65
  """The step whose first failed attempt this run holds, when it did not end well."""
58
66
 
59
67
 
68
+ class StepShape(WireModel):
69
+ """One step of a pipeline's current version, reduced to what its miniature graph draws."""
70
+
71
+ code: str
72
+ """The step's key in the document, which is what every edge references."""
73
+
74
+ name: str | None = None
75
+ """The step's human title, when the document gave it one."""
76
+
77
+ kind: StepKind = StepKind.BLOCK
78
+ block: str
79
+ """The block a block step runs, the kind of a source, or ``reply``."""
80
+
81
+ depends_on: list[str] = Field(default_factory=list[str])
82
+ fan_out: bool = False
83
+ """Whether the step runs once per element of a list."""
84
+
85
+
60
86
  class PipelineOut(WireModel):
61
87
  """A pipeline as a listing shows it."""
62
88
 
@@ -79,6 +105,12 @@ class PipelineOut(WireModel):
79
105
  last_run: LastRun | None = None
80
106
  """How the newest run of this pipeline went, or nothing when it has never run."""
81
107
 
108
+ shape: list[StepShape] = Field(default_factory=list[StepShape])
109
+ """The current version's steps in the order they were written, or nothing before the first."""
110
+
111
+ example: bool = False
112
+ """Whether this pipeline's code is one the installed example corpus ships."""
113
+
82
114
  created_at: datetime
83
115
  updated_at: datetime
84
116