Skip to content

Commit ca6504a

Browse files
authored
Merge pull request #131 from oslokommune/pipeline-instance-query
Support pipeline instance dataset/version filter
2 parents 2616f6a + e249913 commit ca6504a

File tree

3 files changed

+15
-6
lines changed

3 files changed

+15
-6
lines changed

CHANGELOG.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
* Added support for Python 3.13.
44
* Dropped support for Python 3.8 which has reached end of life. Python 3.9+ is
55
now required.
6+
* `PipelineApiClient.get_pipeline_instances` now supports querying pipeline
7+
instances by dataset ID and version.
68

79
## 3.2.0 - 2024-10-03
810

okdata/sdk/pipelines/client.py

Lines changed: 11 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -19,14 +19,21 @@ def exists(self, base: Type[PipelineBase], id):
1919
def fetch(self, base: Type[PipelineBase], id):
2020
return base.from_id(self, id)
2121

22-
def list(self, base: Type[PipelineBase]):
23-
return base.list(self)
22+
def list(self, base: Type[PipelineBase], params={}):
23+
return base.list(self, params)
2424

2525
def get_pipelines(self) -> List[Pipeline]:
2626
return self.list(Pipeline)
2727

28-
def get_pipeline_instances(self) -> List[PipelineInstance]:
29-
return self.list(PipelineInstance)
28+
def get_pipeline_instances(self, dataset_id=None, version=None):
29+
return self.list(
30+
PipelineInstance,
31+
(
32+
{"dataset-id": dataset_id, "version": version}
33+
if dataset_id and version
34+
else {}
35+
),
36+
)
3037

3138
def get_schemas(self) -> List[Schema]:
3239
return self.list(Schema)

okdata/sdk/pipelines/resources/pipeline_base.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -140,7 +140,7 @@ def delete(self):
140140
raise NotImplementedError
141141

142142
@classmethod
143-
def list(cls, sdk: SDK):
143+
def list(cls, sdk: SDK, params={}):
144144
"""List instances of this pipeline resource
145145
146146
Args:
@@ -150,7 +150,7 @@ def list(cls, sdk: SDK):
150150
"""
151151
base_url = sdk.config.get("pipelineUrl")
152152
url = f"{base_url}/{cls.__resource_name__}"
153-
return sdk.get(url=url).json()
153+
return sdk.get(url=url, params=params).json()
154154

155155
def update(self):
156156
"""Update the pipeline resource

0 commit comments

Comments
 (0)