pinexq-client 0.10.4rc1__py3-none-any.whl → 0.10.6rc1__py3-none-any.whl

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.
@@ -60,5 +60,11 @@ class ActionHco(ClientContainer, HypermediaAvailability):
60
60
  raise_exception_on_error(f"Error while executing action, unexpected response", response)
61
61
  return response
62
62
 
63
+ def _execute_returns_url(self) -> URL:
64
+ result = self._execute_internal()
65
+ if result is None:
66
+ raise ClientException("Action did not respond with URL")
67
+ return result
68
+
63
69
  def __repr__(self):
64
70
  return f"<{self.__class__.__name__}: '{self._action.name}'>"
@@ -22,4 +22,4 @@ from .model import JobSortPropertiesSortParameter, ProcessingView
22
22
  from .tool import Job, JobGroup, ProcessingStep, WorkData
23
23
 
24
24
  # Protocol version the JMA is using
25
- __jma_version__ = [8, 8, 0]
25
+ __jma_version__ = [9, 0, 0]
@@ -11,13 +11,11 @@ from pinexq_client.core.hco.download_link_hco import DownloadLinkHco
11
11
  from pinexq_client.core.hco.hco_base import Hco, Property
12
12
  from pinexq_client.core.hco.link_hco import LinkHco
13
13
  from pinexq_client.core.hco.unavailable import UnavailableAction
14
- from pinexq_client.core.hco.upload_action_hco import UploadAction, UploadParameters
15
14
  from pinexq_client.job_management.known_relations import Relations
16
- from pinexq_client.job_management.model import CopyPsFromUserToOrgActionParameters, CopyPsFromOrgToUserActionParameters, \
17
- DeprecatePsActionParameters, AssignCodeHashParameters
15
+ from pinexq_client.job_management.model import CopyPsFromUserToOrgActionParameters, \
16
+ DeprecatePsActionParameters, AssignCodeHashParameters, SetProcessingStepTitleParameters
18
17
  from pinexq_client.job_management.model.open_api_generated import (DataSpecificationHto,
19
18
  SetProcessingStepTagsParameters,
20
- EditProcessingStepParameters,
21
19
  ConfigureDeploymentParameters, DeploymentStates, ProcessingStepDeploymentHto)
22
20
  from pinexq_client.job_management.model.sirenentities import ProcessingStepEntity
23
21
 
@@ -46,15 +44,6 @@ class ProcessingStepUnHideAction(ActionHco):
46
44
  self._execute_internal()
47
45
 
48
46
 
49
- class ProcessingStepEditPropertiesAction(ActionWithParametersHco[EditProcessingStepParameters]):
50
- def execute(self, parameters: EditProcessingStepParameters):
51
- self._execute(parameters)
52
-
53
- def default_parameters(self) -> EditProcessingStepParameters:
54
- return self._get_default_parameters(EditProcessingStepParameters,
55
- EditProcessingStepParameters())
56
-
57
-
58
47
  class GenericProcessingConfigureParameters(BaseModel):
59
48
  """Generic parameter model, that can be set with any dictionary"""
60
49
  model_config = ConfigDict(extra='allow')
@@ -109,11 +98,6 @@ class ClearCodeHashAction(ActionHco):
109
98
  self._execute_internal()
110
99
 
111
100
 
112
- class UploadConfigurationAction(UploadAction):
113
- def execute(self, parameters: UploadParameters):
114
- upload_json(self._client, self._action, parameters.json_, parameters.filename)
115
-
116
-
117
101
  class ProcessingStepCopyFromUserToOrgAction(ActionWithParametersHco[CopyPsFromUserToOrgActionParameters]):
118
102
  def execute(self, parameters: CopyPsFromUserToOrgActionParameters) -> ProcessingStepLink:
119
103
  url = self._execute_returns_url(parameters)
@@ -125,16 +109,12 @@ class ProcessingStepCopyFromUserToOrgAction(ActionWithParametersHco[CopyPsFromUs
125
109
  CopyPsFromUserToOrgActionParameters())
126
110
 
127
111
 
128
- class ProcessingStepCopyFromOrgToUserAction(ActionWithParametersHco[CopyPsFromOrgToUserActionParameters]):
129
- def execute(self, parameters: CopyPsFromOrgToUserActionParameters) -> ProcessingStepLink:
130
- url = self._execute_returns_url(parameters)
112
+ class ProcessingStepCopyFromOrgToUserAction(ActionHco):
113
+ def execute(self) -> ProcessingStepLink:
114
+ url = self._execute_returns_url()
131
115
  link = Link.from_url(url, [str(Relations.CREATED_RESSOURCE)], "Copied Processing Step", MediaTypes.SIREN)
132
116
  return ProcessingStepLink.from_link(self._client, link)
133
117
 
134
- def default_parameters(self) -> CopyPsFromOrgToUserActionParameters:
135
- return self._get_default_parameters(CopyPsFromOrgToUserActionParameters,
136
- CopyPsFromOrgToUserActionParameters())
137
-
138
118
 
139
119
  class ProcessingStepDeprecateAction(ActionWithParametersHco[DeprecatePsActionParameters]):
140
120
  def execute(self, parameters: DeprecatePsActionParameters):
@@ -163,39 +143,64 @@ class AssignCodeHashAction(ActionWithParametersHco[AssignCodeHashParameters]):
163
143
  AssignCodeHashParameters())
164
144
 
165
145
 
146
+ class MakePublicAction(ActionHco):
147
+ def execute(self):
148
+ self._execute_internal()
149
+
150
+
151
+ class MakePrivateAction(ActionHco):
152
+ def execute(self):
153
+ self._execute_internal()
154
+
155
+
156
+ class SetTitleAction(ActionWithParametersHco[SetProcessingStepTitleParameters]):
157
+ def execute(self, parameters: SetProcessingStepTitleParameters):
158
+ self._execute(parameters)
159
+
160
+ def default_parameters(self) -> SetProcessingStepTitleParameters:
161
+ return self._get_default_parameters(SetProcessingStepTitleParameters,
162
+ SetProcessingStepTitleParameters())
163
+
164
+
166
165
  class ProcessingStepHco(Hco[ProcessingStepEntity]):
167
166
  title: str = Property()
168
167
  version: str | None = Property()
169
168
  function_name: str | None = Property()
170
169
  short_description: str | None = Property()
171
170
  long_description: str | None = Property()
171
+
172
+ created_by: str | None = Property()
173
+ owner_id: str | None= Property()
174
+
172
175
  tags: list[str] | None = Property()
173
176
  has_parameters: bool | None = Property()
174
177
  is_public: bool | None = Property()
175
- is_configured: bool | None = Property()
176
178
  created_at: datetime | None = Property()
177
179
  last_modified_at: datetime | None = Property()
178
180
  parameter_schema: str | None = Property()
179
181
  default_parameters: str | None = Property()
180
182
  return_schema: str | None = Property()
181
- error_schema: str | None = Property()
182
183
  hidden: bool | None = Property()
183
184
 
185
+ code_hash: str | None= Property()
186
+ pro_con_version: str | None = Property()
187
+
184
188
  deprecated_at: datetime | None = Property()
185
189
  reason_for_deprecation: str | None = Property()
186
190
  is_deprecated: bool | None = Property()
191
+
187
192
  deployment_state: DeploymentStates = Property()
188
193
  deployment: ProcessingStepDeploymentHto = Property()
189
194
 
190
195
  input_data_slot_specification: List[DataSpecificationHto] | None = Property()
191
196
  output_data_slot_specification: List[DataSpecificationHto] | None = Property()
192
197
  edit_tags_action: ProcessingStepEditTagsAction | UnavailableAction
193
- edit_properties_action: ProcessingStepEditPropertiesAction | UnavailableAction
194
198
  configure_default_parameters_action: ConfigureDefaultParametersAction | UnavailableAction
195
199
  clear_default_parameters_action: ClearDefaultParametersAction | UnavailableAction
196
- upload_configuration_action: UploadConfigurationAction | None
197
200
  hide_action: ProcessingStepHideAction | UnavailableAction
198
201
  unhide_action: ProcessingStepUnHideAction | UnavailableAction
202
+ make_public_action: MakePublicAction | UnavailableAction
203
+ make_private_action: MakePrivateAction | UnavailableAction
199
204
  copy_from_user_to_org_action: ProcessingStepCopyFromUserToOrgAction | UnavailableAction
200
205
  copy_from_org_to_user_action: ProcessingStepCopyFromOrgToUserAction | UnavailableAction
201
206
  delete_action: DeleteAction | UnavailableAction
@@ -208,6 +213,7 @@ class ProcessingStepHco(Hco[ProcessingStepEntity]):
208
213
  suspend_deployment_action: SuspendDeploymentAction | UnavailableAction
209
214
  resume_deployment_action: ResumeDeploymentAction | UnavailableAction
210
215
  clear_code_hash_action: ClearCodeHashAction | UnavailableAction
216
+ set_title_action: SetTitleAction | UnavailableAction
211
217
 
212
218
  self_link: ProcessingStepLink
213
219
  download_link: DownloadLinkHco
@@ -224,18 +230,18 @@ class ProcessingStepHco(Hco[ProcessingStepEntity]):
224
230
 
225
231
  instance.edit_tags_action = ProcessingStepEditTagsAction.from_entity_optional(
226
232
  client, instance._entity, "EditTags")
227
- instance.edit_properties_action = ProcessingStepEditPropertiesAction.from_entity_optional(
228
- client, instance._entity, "EditProperties")
229
233
  instance.configure_default_parameters_action = ConfigureDefaultParametersAction.from_entity_optional(
230
234
  client, instance._entity, "ConfigureDefaultParameters")
231
235
  instance.clear_default_parameters_action = ClearDefaultParametersAction.from_entity_optional(
232
236
  client, instance._entity, "ClearDefaultParameters")
233
- instance.upload_configuration_action = UploadConfigurationAction.from_entity_optional(
234
- client, instance._entity, "Upload")
235
237
  instance.hide_action = ProcessingStepHideAction.from_entity_optional(
236
238
  client, instance._entity, "Hide")
237
239
  instance.unhide_action = ProcessingStepUnHideAction.from_entity_optional(
238
240
  client, instance._entity, "UnHide")
241
+ instance.make_public_action = MakePublicAction.from_entity_optional(
242
+ client, instance._entity, "MakePublic")
243
+ instance.make_private_action = MakePrivateAction.from_entity_optional(
244
+ client, instance._entity, "MakePrivate")
239
245
  instance.copy_from_user_to_org_action = ProcessingStepCopyFromUserToOrgAction.from_entity_optional(
240
246
  client, instance._entity, "CopyToOrg")
241
247
  instance.copy_from_org_to_user_action = ProcessingStepCopyFromOrgToUserAction.from_entity_optional(
@@ -260,5 +266,7 @@ class ProcessingStepHco(Hco[ProcessingStepEntity]):
260
266
  client, instance._entity, "ResumeDeployment")
261
267
  instance.clear_code_hash_action = ClearCodeHashAction.from_entity_optional(
262
268
  client, instance._entity, "ClearCodeHash")
269
+ instance.set_title_action = SetTitleAction.from_entity_optional(
270
+ client, instance._entity, "EditTitle")
263
271
 
264
272
  return instance
@@ -1,12 +1,14 @@
1
1
  from typing import Self
2
2
 
3
3
  import httpx
4
+ from httpx import URL
4
5
 
5
- from pinexq_client.core import MediaTypes, Link
6
+ from pinexq_client.core import MediaTypes, Link, upload_json, ClientException, raise_exception_on_error
6
7
  from pinexq_client.core.hco.action_with_parameters_hco import ActionWithParametersHco
7
8
  from pinexq_client.core.hco.hco_base import Hco
8
9
  from pinexq_client.core.hco.link_hco import LinkHco
9
10
  from pinexq_client.core.hco.unavailable import UnavailableAction, UnavailableLink
11
+ from pinexq_client.core.hco.upload_action_hco import UploadParameters, UploadAction
10
12
  from pinexq_client.job_management.hcos.processing_step_hco import ProcessingStepLink, ProcessingStepHco
11
13
  from pinexq_client.job_management.hcos.processing_step_used_tags_hco import ProcessingStepUsedTagsLink, \
12
14
  ProcessingStepUsedTagsAdminLink
@@ -16,7 +18,7 @@ from pinexq_client.job_management.hcos.processingstep_query_result_hco import (
16
18
  ProcessingStepQueryResultPaginationLink
17
19
  )
18
20
  from pinexq_client.job_management.known_relations import Relations
19
- from pinexq_client.job_management.model import ProcessingStepQueryParameters, CreateProcessingStepParameters
21
+ from pinexq_client.job_management.model import ProcessingStepQueryParameters
20
22
  from pinexq_client.job_management.model.sirenentities import ProcessingStepsRootEntity
21
23
 
22
24
 
@@ -31,15 +33,17 @@ class ProcessingStepQueryAction(ActionWithParametersHco[ProcessingStepQueryParam
31
33
  return self._get_default_parameters(ProcessingStepQueryParameters, ProcessingStepQueryParameters())
32
34
 
33
35
 
34
- class ProcessingStepRegisterNewAction(ActionWithParametersHco[CreateProcessingStepParameters]):
35
- def execute(self, parameters: CreateProcessingStepParameters) -> ProcessingStepHco:
36
- url = self._execute_returns_url(parameters)
36
+ class ProcessingStepRegisterNewAction(UploadAction):
37
+ def execute(self, parameters: UploadParameters) -> ProcessingStepLink:
38
+ url = upload_json(self._client, self._action, parameters.json_, parameters.filename) # todo handle errors
39
+ raise_exception_on_error(f"Error while uploading", url)
40
+
41
+ if not isinstance(url, URL):
42
+ raise ClientException("Upload did not respond with location")
43
+
37
44
  link = Link.from_url(url, [str(Relations.CREATED_RESSOURCE)], "Created processing-step", MediaTypes.SIREN)
38
45
  # resolve link immediately
39
- return ProcessingStepLink.from_link(self._client, link).navigate()
40
-
41
- def default_parameters(self) -> CreateProcessingStepParameters:
42
- return self._get_default_parameters(CreateProcessingStepParameters, CreateProcessingStepParameters())
46
+ return ProcessingStepLink.from_link(self._client, link)
43
47
 
44
48
 
45
49
  class ProcessingStepsRootLink(LinkHco):
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: openapi.json
3
- # timestamp: 2025-12-05T11:42:17+00:00
3
+ # timestamp: 2026-01-14T08:37:46+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -63,25 +63,12 @@ class AssignCodeHashParameters(BaseModel):
63
63
  )
64
64
 
65
65
 
66
- class CopyPsFromOrgToUserActionParameters(BaseModel):
67
- model_config = ConfigDict(
68
- extra='allow',
69
- populate_by_name=True,
70
- )
71
- title: str = Field(..., alias='Title')
72
- function_name: str = Field(..., alias='FunctionName')
73
- version: str = Field(..., alias='Version')
74
-
75
-
76
66
  class CopyPsFromUserToOrgActionParameters(BaseModel):
77
67
  model_config = ConfigDict(
78
68
  extra='allow',
79
69
  populate_by_name=True,
80
70
  )
81
71
  org_id: str = Field(..., alias='OrgId')
82
- title: str = Field(..., alias='Title')
83
- function_name: str = Field(..., alias='FunctionName')
84
- version: str = Field(..., alias='Version')
85
72
 
86
73
 
87
74
  class CopyWorkDataFromUserToOrgActionParameters(BaseModel):
@@ -100,16 +87,6 @@ class CreateJobParameters(BaseModel):
100
87
  name: str = Field(..., alias='Name')
101
88
 
102
89
 
103
- class CreateProcessingStepParameters(BaseModel):
104
- model_config = ConfigDict(
105
- extra='allow',
106
- populate_by_name=True,
107
- )
108
- title: str = Field(..., alias='Title')
109
- function_name: str = Field(..., alias='FunctionName')
110
- version: str = Field(..., alias='Version')
111
-
112
-
113
90
  class CreateSubJobParameters(BaseModel):
114
91
  model_config = ConfigDict(
115
92
  extra='allow',
@@ -167,17 +144,6 @@ class DeprecatePsActionParameters(BaseModel):
167
144
  reason: str | None = Field(None, alias='Reason')
168
145
 
169
146
 
170
- class EditProcessingStepParameters(BaseModel):
171
- model_config = ConfigDict(
172
- extra='allow',
173
- populate_by_name=True,
174
- )
175
- title: str = Field(..., alias='Title')
176
- is_public: bool = Field(..., alias='IsPublic')
177
- function_name: str = Field(..., alias='FunctionName')
178
- version: str = Field(..., alias='Version')
179
-
180
-
181
147
  class EntryPointHtoOpenApiProperties(BaseModel):
182
148
  pass
183
149
  model_config = ConfigDict(
@@ -329,8 +295,9 @@ class ProcessingStepFilterParameter(BaseModel):
329
295
  is_public: bool | None = Field(None, alias='IsPublic')
330
296
  show_hidden: bool | None = Field(None, alias='ShowHidden')
331
297
  show_deprecated: bool | None = Field(None, alias='ShowDeprecated')
332
- is_configured: bool | None = Field(None, alias='IsConfigured')
333
298
  deployment_state: DeploymentStates | None = Field(None, alias='DeploymentState')
299
+ show_prerelease: bool | None = Field(None, alias='ShowPrerelease')
300
+ pro_con_version: str | None = Field(None, alias='ProConVersion')
334
301
 
335
302
 
336
303
  class ProcessingStepQueryResultHtoOpenApiProperties(BaseModel):
@@ -356,6 +323,7 @@ class ProcessingStepSortProperties(StrEnum):
356
323
  title = 'Title'
357
324
  created_at = 'CreatedAt'
358
325
  last_modified_at = 'LastModifiedAt'
326
+ version = 'Version'
359
327
 
360
328
 
361
329
  class ProcessingStepUsedTagsAdminHtoOpenApiProperties(BaseModel):
@@ -396,7 +364,11 @@ class RapidJobSetupParameters(BaseModel):
396
364
  )
397
365
  name: str = Field(..., alias='Name')
398
366
  processing_step_url: AnyUrl = Field(..., alias='ProcessingStepUrl')
399
- parent_job_url: AnyUrl | None = Field(None, alias='ParentJobUrl')
367
+ parent_job_url: AnyUrl | None = Field(
368
+ None,
369
+ alias='ParentJobUrl',
370
+ description='Create this as sub job with this parent',
371
+ )
400
372
  tags: List[str] | None = Field(None, alias='Tags')
401
373
  parameters: str | None = Field(None, alias='Parameters')
402
374
  allow_output_data_deletion: bool | None = Field(
@@ -506,6 +478,14 @@ class SetProcessingStepTagsParameters(BaseModel):
506
478
  tags: List[str] = Field(..., alias='Tags')
507
479
 
508
480
 
481
+ class SetProcessingStepTitleParameters(BaseModel):
482
+ model_config = ConfigDict(
483
+ extra='allow',
484
+ populate_by_name=True,
485
+ )
486
+ title: str = Field(..., alias='Title')
487
+
488
+
509
489
  class SetTagsWorkDataParameters(BaseModel):
510
490
  model_config = ConfigDict(
511
491
  extra='allow',
@@ -636,18 +616,30 @@ class AdminJobFilterParameter(BaseModel):
636
616
  extra='allow',
637
617
  populate_by_name=True,
638
618
  )
639
- work_data_url: AnyUrl | None = Field(None, alias='WorkDataUrl')
619
+ work_data_url: AnyUrl | None = Field(
620
+ None,
621
+ alias='WorkDataUrl',
622
+ description='Find jobs which use this WorkData as input',
623
+ )
640
624
  name: str | None = Field(None, alias='Name')
641
625
  state: JobStates | None = Field(None, alias='State')
642
626
  show_hidden: bool | None = Field(None, alias='ShowHidden')
643
- processing_step_url: AnyUrl | None = Field(None, alias='ProcessingStepUrl')
627
+ processing_step_url: AnyUrl | None = Field(
628
+ None,
629
+ alias='ProcessingStepUrl',
630
+ description='Find jobs which use this ProcessingStep',
631
+ )
644
632
  created_before: AwareDatetime | None = Field(None, alias='CreatedBefore')
645
633
  created_after: AwareDatetime | None = Field(None, alias='CreatedAfter')
646
634
  tags_by_and: List[str] | None = Field(None, alias='TagsByAnd')
647
635
  tags_by_or: List[str] | None = Field(None, alias='TagsByOr')
648
- parent_job_url: AnyUrl | None = Field(None, alias='ParentJobUrl')
636
+ parent_job_url: AnyUrl | None = Field(
637
+ None, alias='ParentJobUrl', description='Find jobs which have this patent job'
638
+ )
649
639
  is_sub_job: bool | None = Field(None, alias='IsSubJob')
650
- user_url: AnyUrl | None = Field(None, alias='UserUrl')
640
+ user_url: AnyUrl | None = Field(
641
+ None, alias='UserUrl', description='Find jobs which have this owner'
642
+ )
651
643
 
652
644
 
653
645
  class AdminJobQueryResultHtoOpenApi(BaseModel):
@@ -680,8 +672,9 @@ class AdminProcessingStepFilterParameter(BaseModel):
680
672
  is_public: bool | None = Field(None, alias='IsPublic')
681
673
  show_hidden: bool | None = Field(None, alias='ShowHidden')
682
674
  show_deprecated: bool | None = Field(None, alias='ShowDeprecated')
683
- is_configured: bool | None = Field(None, alias='IsConfigured')
684
675
  deployment_state: DeploymentStates | None = Field(None, alias='DeploymentState')
676
+ show_prerelease: bool | None = Field(None, alias='ShowPrerelease')
677
+ pro_con_version: str | None = Field(None, alias='ProConVersion')
685
678
 
686
679
 
687
680
  class AdminProcessingStepQueryResultHtoOpenApi(BaseModel):
@@ -703,10 +696,14 @@ class AdminWorkDataFilterParameter(BaseModel):
703
696
  populate_by_name=True,
704
697
  )
705
698
  producer_processing_step_url: AnyUrl | None = Field(
706
- None, alias='ProducerProcessingStepUrl'
699
+ None,
700
+ alias='ProducerProcessingStepUrl',
701
+ description='Find WorkData which was produced by this ProcessingStep',
707
702
  )
708
703
  name_contains: str | None = Field(None, alias='NameContains')
709
- user_url: AnyUrl | None = Field(None, alias='UserUrl')
704
+ user_url: AnyUrl | None = Field(
705
+ None, alias='UserUrl', description='Find WorkData which has this owner'
706
+ )
710
707
  show_hidden: bool | None = Field(None, alias='ShowHidden')
711
708
  media_type_contains: str | None = Field(None, alias='MediaTypeContains')
712
709
  tags_by_and: List[str] | None = Field(None, alias='TagsByAnd')
@@ -790,14 +787,24 @@ class JobFilterParameter(BaseModel):
790
787
  state: JobStates | None = Field(None, alias='State')
791
788
  name: str | None = Field(None, alias='Name')
792
789
  show_hidden: bool | None = Field(None, alias='ShowHidden')
793
- work_data_url: AnyUrl | None = Field(None, alias='WorkDataUrl')
790
+ work_data_url: AnyUrl | None = Field(
791
+ None,
792
+ alias='WorkDataUrl',
793
+ description='Find jobs which use this WorkData as input',
794
+ )
794
795
  created_before: AwareDatetime | None = Field(None, alias='CreatedBefore')
795
796
  created_after: AwareDatetime | None = Field(None, alias='CreatedAfter')
796
797
  tags_by_and: List[str] | None = Field(None, alias='TagsByAnd')
797
798
  tags_by_or: List[str] | None = Field(None, alias='TagsByOr')
798
- processing_step_url: AnyUrl | None = Field(None, alias='ProcessingStepUrl')
799
+ processing_step_url: AnyUrl | None = Field(
800
+ None,
801
+ alias='ProcessingStepUrl',
802
+ description='Find jobs which use this ProcessingStep',
803
+ )
799
804
  is_sub_job: bool | None = Field(None, alias='IsSubJob')
800
- parent_job_url: AnyUrl | None = Field(None, alias='ParentJobUrl')
805
+ parent_job_url: AnyUrl | None = Field(
806
+ None, alias='ParentJobUrl', description='Find jobs which have this patent job'
807
+ )
801
808
 
802
809
 
803
810
  class JobHtoOpenApiProperties(BaseModel):
@@ -927,15 +934,19 @@ class ProcessingStepHtoOpenApiProperties(BaseModel):
927
934
  long_description: str | None = Field(
928
935
  None, alias='LongDescription', description='Human-readable long description'
929
936
  )
937
+ pro_con_version: str | None = Field(
938
+ None,
939
+ alias='ProConVersion',
940
+ description='The version of ProCon used in the code which generated the manifest',
941
+ )
930
942
  code_hash: str | None = Field(
931
943
  None,
932
944
  alias='CodeHash',
933
- description='The hash of the code executing this function. This is intended to inhibit\nredeployment of different code for the same function version.',
945
+ description='The hash of the code executing this function. This is intended to inhibit\r\nredeployment of different code for the same function version.',
934
946
  )
935
947
  has_parameters: bool | None = Field(None, alias='HasParameters')
936
948
  is_public: bool | None = Field(None, alias='IsPublic')
937
949
  tags: List[str] | None = Field(None, alias='Tags')
938
- is_configured: bool | None = Field(None, alias='IsConfigured')
939
950
  hidden: bool | None = Field(None, alias='Hidden')
940
951
  is_deprecated: bool | None = Field(None, alias='IsDeprecated')
941
952
  deprecated_at: AwareDatetime | None = Field(None, alias='DeprecatedAt')
@@ -945,7 +956,6 @@ class ProcessingStepHtoOpenApiProperties(BaseModel):
945
956
  parameter_schema: str | None = Field(None, alias='ParameterSchema')
946
957
  default_parameters: str | None = Field(None, alias='DefaultParameters')
947
958
  return_schema: str | None = Field(None, alias='ReturnSchema')
948
- error_schema: str | None = Field(None, alias='ErrorSchema')
949
959
  input_data_slot_specification: List[DataSpecificationHto] | None = Field(
950
960
  None, alias='InputDataSlotSpecification'
951
961
  )
@@ -1039,7 +1049,9 @@ class WorkDataFilterParameter(BaseModel):
1039
1049
  )
1040
1050
  name_contains: str | None = Field(None, alias='NameContains')
1041
1051
  producer_processing_step_url: AnyUrl | None = Field(
1042
- None, alias='ProducerProcessingStepUrl'
1052
+ None,
1053
+ alias='ProducerProcessingStepUrl',
1054
+ description='Find WorkData which was produced by this ProcessingStep',
1043
1055
  )
1044
1056
  show_hidden: bool | None = Field(None, alias='ShowHidden')
1045
1057
  media_type_contains: str | None = Field(None, alias='MediaTypeContains')
@@ -11,11 +11,11 @@ from pinexq_client.job_management.hcos.job_hco import GenericProcessingConfigure
11
11
  from pinexq_client.job_management.hcos.processingsteproot_hco import ProcessingStepsRootHco
12
12
  from pinexq_client.job_management.known_relations import Relations
13
13
  from pinexq_client.job_management.model import (
14
- CreateProcessingStepParameters,
15
14
  SetProcessingStepTagsParameters, ProcessingStepQueryParameters, ProcessingStepFilterParameter,
16
- FunctionNameMatchTypes, EditProcessingStepParameters, CopyPsFromUserToOrgActionParameters,
17
- CopyPsFromOrgToUserActionParameters, DeprecatePsActionParameters, ConfigureDeploymentParameters,
18
- DeploymentResourcePresets, ScalingConfiguration, DeploymentStates, AssignCodeHashParameters
15
+ FunctionNameMatchTypes, CopyPsFromUserToOrgActionParameters,
16
+ DeprecatePsActionParameters, ConfigureDeploymentParameters,
17
+ DeploymentResourcePresets, ScalingConfiguration, DeploymentStates, AssignCodeHashParameters,
18
+ SetProcessingStepTitleParameters
19
19
  )
20
20
 
21
21
 
@@ -39,24 +39,22 @@ class ProcessingStep:
39
39
  self._entrypoint = enter_jma(client)
40
40
  self._processing_steps_root = self._entrypoint.processing_step_root_link.navigate()
41
41
 
42
- def create(self, title: str, function_name: str, version: str = "0") -> Self:
43
- """
44
- Creates a new ProcessingStep by name.
42
+ def create(self, json_data: Any) -> Self:
43
+ """Create a new processing step.
45
44
 
46
45
  Args:
47
- title: Title of the ProcessingStep to be created
48
- function_name: Function name of the ProcessingStep to be created
49
- version: Version of the ProcessingStep to be created
46
+ json_data: The JSON data representing the configuration of the processing step to be created.
50
47
 
51
48
  Returns:
52
- The newly created ProcessingStep as `ProcessingStep` object
49
+ The newly created processing step as `ProcessingStep` object.
53
50
  """
54
- processing_step_hco = self._processing_steps_root.register_new_action.execute(CreateProcessingStepParameters(
55
- title=title,
56
- function_name=function_name,
57
- version=version
58
- ))
59
- self.processing_step_hco = processing_step_hco
51
+ upload_parameters = UploadParameters(
52
+ filename="processing_step.json", # placeholder, jma does not care about filename
53
+ mediatype=MediaTypes.APPLICATION_JSON,
54
+ json=json_data
55
+ )
56
+ processing_step_link = self._processing_steps_root.register_new_action.execute(upload_parameters)
57
+ self._get_by_link(processing_step_link)
60
58
  return self
61
59
 
62
60
  def _get_by_link(self, processing_step_link: ProcessingStepLink):
@@ -141,10 +139,10 @@ class ProcessingStep:
141
139
  Query result object containing the matching processing steps.
142
140
  """
143
141
  query_param = ProcessingStepQueryParameters(
144
- filter=ProcessingStepFilterParameter(
145
- function_name=step_name,
146
- function_name_match_type=FunctionNameMatchTypes.match_exact,
147
- version=version
142
+ Filter=ProcessingStepFilterParameter(
143
+ FunctionName=step_name,
144
+ FunctionNameMatchType=FunctionNameMatchTypes.match_exact,
145
+ Version=version
148
146
  )
149
147
  )
150
148
  instance = ProcessingStep(client)
@@ -190,29 +188,7 @@ class ProcessingStep:
190
188
  This `ProcessingStep` object"""
191
189
  self._raise_if_no_hco()
192
190
  self.processing_step_hco.edit_tags_action.execute(SetProcessingStepTagsParameters(
193
- tags=tags
194
- ))
195
- self.refresh()
196
- return self
197
-
198
- def edit_properties(
199
- self,
200
- *,
201
- new_title: str | None = None,
202
- is_public: bool | None = None,
203
- new_function_name: str | None = None,
204
- new_version: str | None = None,
205
- ) -> Self:
206
- """Edit processing step properties.
207
-
208
- Returns:
209
- This `ProcessingStep` object"""
210
- self._raise_if_no_hco()
211
- self.processing_step_hco.edit_properties_action.execute(EditProcessingStepParameters(
212
- title=new_title,
213
- is_public=is_public,
214
- function_name=new_function_name,
215
- version=new_version
191
+ Tags=tags
216
192
  ))
217
193
  self.refresh()
218
194
  return self
@@ -284,7 +260,7 @@ class ProcessingStep:
284
260
  This `ProcessingStep` object"""
285
261
  self._raise_if_no_hco()
286
262
  self.processing_step_hco.deprecate_ps_action.execute(
287
- DeprecatePsActionParameters(reason=reason)
263
+ DeprecatePsActionParameters(Reason=reason)
288
264
  )
289
265
  self.refresh()
290
266
  return self
@@ -319,7 +295,7 @@ class ProcessingStep:
319
295
  """
320
296
  self._raise_if_no_hco()
321
297
  self.processing_step_hco.assign_code_hash_action.execute(
322
- AssignCodeHashParameters(code_hash=code_hash)
298
+ AssignCodeHashParameters(CodeHash=code_hash)
323
299
  )
324
300
  self.refresh()
325
301
  return self
@@ -339,9 +315,9 @@ class ProcessingStep:
339
315
  self._raise_if_no_hco()
340
316
  self.processing_step_hco.configure_deployment_action.execute(
341
317
  ConfigureDeploymentParameters(
342
- resource_preset = resource_preset,
343
- entrypoint = entrypoint,
344
- scaling = scaling
318
+ ResourcePreset = resource_preset,
319
+ Entrypoint = entrypoint,
320
+ Scaling = scaling
345
321
  )
346
322
  )
347
323
  self.refresh()
@@ -411,28 +387,20 @@ class ProcessingStep:
411
387
  self._raise_if_no_hco()
412
388
  return self.processing_step_hco.deployment_state
413
389
 
414
- def upload_configuration(self, json_data: Any) -> Self:
415
- """Upload processing configuration.
390
+ def copy_from_org_to_user(self) -> ProcessingStepLink:
391
+ """Copy ProcessingStep from organization to user.
416
392
 
417
393
  Returns:
418
- This `ProcessingStep` object
394
+ The URL of the copied ProcessingStep
419
395
  """
420
396
  self._raise_if_no_hco()
421
- self.processing_step_hco.upload_configuration_action.execute(
422
- UploadParameters(
423
- filename="config.json", # placeholder, jma does not care about filename
424
- mediatype=MediaTypes.APPLICATION_JSON,
425
- json=json_data
426
- )
427
- )
428
- self.refresh()
429
-
430
- return self
397
+ return self.processing_step_hco.copy_from_org_to_user_action.execute()
431
398
 
432
- def copy_from_org_to_user(self, *, title: str, function_name: str, version: str) -> ProcessingStepLink:
433
- """Copy ProcessingStep from organization to user.
399
+ def copy_from_user_to_org(self, *, org_id: str) -> ProcessingStepLink:
400
+ """Copy ProcessingStep from user to organization.
434
401
 
435
402
  Args:
403
+ org_id: The ID of the organization to copy the processing step to.
436
404
  title: New title for the copied ProcessingStep
437
405
  function_name: New function for the copied ProcessingStep
438
406
  version: New version for the copied ProcessingStep
@@ -441,35 +409,47 @@ class ProcessingStep:
441
409
  The URL of the copied ProcessingStep
442
410
  """
443
411
  self._raise_if_no_hco()
444
- return self.processing_step_hco.copy_from_org_to_user_action.execute(
445
- CopyPsFromOrgToUserActionParameters(
446
- title=title,
447
- function_name=function_name,
448
- version=version
449
- )
412
+ return self.processing_step_hco.copy_from_user_to_org_action.execute(
413
+ CopyPsFromUserToOrgActionParameters(OrgId=org_id)
450
414
  )
451
415
 
452
- def copy_from_user_to_org(self, *, title: str, function_name: str, version: str, org_id: str) -> ProcessingStepLink:
453
- """Copy ProcessingStep from user to organization.
416
+ def make_public(self) -> Self:
417
+ """Make the ProcessingStep public.
418
+
419
+ Returns:
420
+ This `ProcessingStep` object
421
+ """
422
+ self._raise_if_no_hco()
423
+ self.processing_step_hco.make_public_action.execute()
424
+ self.refresh()
425
+ return self
426
+
427
+ def make_private(self) -> Self:
428
+ """Make the ProcessingStep private.
429
+
430
+ Returns:
431
+ This `ProcessingStep` object
432
+ """
433
+ self._raise_if_no_hco()
434
+ self.processing_step_hco.make_private_action.execute()
435
+ self.refresh()
436
+ return self
437
+
438
+ def set_title(self, title: str) -> Self:
439
+ """Set the title of the ProcessingStep.
454
440
 
455
441
  Args:
456
- org_id: The ID of the organization to copy the processing step to.
457
- title: New title for the copied ProcessingStep
458
- function_name: New function for the copied ProcessingStep
459
- version: New version for the copied ProcessingStep
442
+ title: The new title for the ProcessingStep.
460
443
 
461
444
  Returns:
462
- The URL of the copied ProcessingStep
445
+ This `ProcessingStep` object
463
446
  """
464
447
  self._raise_if_no_hco()
465
- return self.processing_step_hco.copy_from_user_to_org_action.execute(
466
- CopyPsFromUserToOrgActionParameters(
467
- org_id=org_id,
468
- title=title,
469
- function_name=function_name,
470
- version=version
471
- )
448
+ self.processing_step_hco.set_title_action.execute(
449
+ SetProcessingStepTitleParameters(Title=title)
472
450
  )
451
+ self.refresh()
452
+ return self
473
453
 
474
454
  def self_link(self) -> ProcessingStepLink:
475
455
  self._raise_if_no_hco()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pinexq-client
3
- Version: 0.10.4rc1
3
+ Version: 0.10.6rc1
4
4
  Summary: A hypermedia-based client for the DataCybernetics PinexQ platform.
5
5
  Author: Sebastian Höfer, Mathias Reichardt, Jasim Ahmed, Pratik Poudel
6
6
  Author-email: Sebastian Höfer <hoefer@data-cybernetics.com>, Mathias Reichardt <reichardt@data-cybernetics.com>, Jasim Ahmed <ahmed@data-cybernetics.com>, Pratik Poudel <poudel@data-cybernetics.com>
@@ -4,7 +4,7 @@ pinexq_client/core/base_relations.py,sha256=oIUS58pkbMDdqm-3YOdsenhL1smtzeAk4fp7
4
4
  pinexq_client/core/enterapi.py,sha256=eB4F2_t3lCbMgKhy-M-Sf_u9MhuJMO7OGh-GB-4Cc-8,731
5
5
  pinexq_client/core/exceptions.py,sha256=NqB3y1ufjOfG3kv7Rz4ppXqJRAugt2zlgxkto2nIVQU,2228
6
6
  pinexq_client/core/hco/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- pinexq_client/core/hco/action_hco.py,sha256=6bWea-SkFjn52m5sYywkZeNOe74Nxmsvj338jSB6RZo,2338
7
+ pinexq_client/core/hco/action_hco.py,sha256=byPFuO3cQlc2MY20FMfJ4RvPUKrsVPtonmcT5CZU1A4,2542
8
8
  pinexq_client/core/hco/action_with_parameters_hco.py,sha256=qvtoqTfDHddxB0ALanWXNDobSpazCmK2_ulTuvax2A4,3280
9
9
  pinexq_client/core/hco/download_link_hco.py,sha256=_ijLtRfzy0qKG_QXpsWBZ8FJfp60o5Lw7QVv4_EpgPY,1335
10
10
  pinexq_client/core/hco/hco_base.py,sha256=u37c9bmjX_Ug49XgCHWdtrj7jrYIVQHkYllQQoijLGw,3534
@@ -18,7 +18,7 @@ pinexq_client/core/model/error.py,sha256=ZDbUlwsj7d8XPMolSSLTFwgs3RBLvOvgmlEtoBu
18
18
  pinexq_client/core/model/sirenmodels.py,sha256=vGRQlhM2cSa2caxQel91Jr48KWqM-vMYX32iaQCzIds,5547
19
19
  pinexq_client/core/polling.py,sha256=nNEDONEkB3Gu5WUMm2u9RFG1OIclnixaiy7l_U2Z4No,1146
20
20
  pinexq_client/core/sirenaccess.py,sha256=F7eZI5Pz79el0D30SYNGsiS2qWaAZF_jrCrUy-q2GgY,6992
21
- pinexq_client/job_management/__init__.py,sha256=of3nrM8wMG-rvSDV4cTN6CyDaxdtBw1h7P4odkgF7CA,598
21
+ pinexq_client/job_management/__init__.py,sha256=mZOGFYzI4mvKc4I11nHuPPoaPhz0QkJC8eAVyZoiNes,598
22
22
  pinexq_client/job_management/enterjma.py,sha256=A9Uo9QSJAuAm9oHAhs0BIpEat77cRuWZvJ5zEOijhPs,3386
23
23
  pinexq_client/job_management/hcos/__init__.py,sha256=TZgs5kuBk3lSBxPfn5ehgbdUgzPy2jn1PC3Ea6VQY-k,584
24
24
  pinexq_client/job_management/hcos/entrypoint_hco.py,sha256=yeGw-tirgJf4MYziGnFQFfYaOOovrUf3kkb1U_wgN4k,2423
@@ -29,10 +29,10 @@ pinexq_client/job_management/hcos/job_query_result_hco.py,sha256=I0G8YIlYDhTahLz
29
29
  pinexq_client/job_management/hcos/job_used_tags_hco.py,sha256=JKbZerZRway_HU6ujXiBjgP9TlLho1WD0syTmivsZpk,1706
30
30
  pinexq_client/job_management/hcos/jobsroot_hco.py,sha256=8ba2vFmTeVcW0GZrtUfyrxWt-OCTtKeGOc-NeCq1Rrg,4971
31
31
  pinexq_client/job_management/hcos/output_dataslot_hco.py,sha256=xIU5AsJT6zPqaR39gKOi_9N_VwdiUUPjvaXXMyA7HUU,1583
32
- pinexq_client/job_management/hcos/processing_step_hco.py,sha256=XueKT4zK4oudZS6FoK24H7pefKjjdb_6Mm1rNKu2Pds,12744
32
+ pinexq_client/job_management/hcos/processing_step_hco.py,sha256=SyFDSvM7nmkvoA3oEdrRVFFcUPvZm5zY0YoanYOLrCg,12407
33
33
  pinexq_client/job_management/hcos/processing_step_used_tags_hco.py,sha256=K4Ub5FVK5ge8CtUeit9D23MPjQTMTC-X75dS9561oyw,1947
34
34
  pinexq_client/job_management/hcos/processingstep_query_result_hco.py,sha256=YcCgigKvOIggILixgaEbmnM23FlkjCgxnhZC2Eh98dY,3817
35
- pinexq_client/job_management/hcos/processingsteproot_hco.py,sha256=MC7qxNMXwoKtMReSVzYiNqI_2MUdT3gbxoxULyYXU6c,4172
35
+ pinexq_client/job_management/hcos/processingsteproot_hco.py,sha256=u2iXoDmujuXL3z-zL-u7MRht4czdiNwG9rWS0uj3diY,4295
36
36
  pinexq_client/job_management/hcos/user_hco.py,sha256=6GZrNeUZSZxwOiyCylkfl-pqDa1RL7Lc9Lg3vf0EuYc,1095
37
37
  pinexq_client/job_management/hcos/workdata_hco.py,sha256=QI1m_IUWVBesCft9UR1svCRsWDz16moY7XMhWvfFGcE,7206
38
38
  pinexq_client/job_management/hcos/workdata_query_result_hco.py,sha256=yxEnu_COMxP3mt553JZD13jjPyqSp3DJjgd8es5Nq_E,3520
@@ -40,13 +40,13 @@ pinexq_client/job_management/hcos/workdata_used_tags_query_result_hco.py,sha256=
40
40
  pinexq_client/job_management/hcos/workdataroot_hco.py,sha256=92Q3J8q28XRL7cw1Ac5F_hl_Y5ZNaZ2gThYLbTIrka0,4441
41
41
  pinexq_client/job_management/known_relations.py,sha256=do-u2wjb6u_HK2-y604f2gs3rk9O19MTIZpvbkfTSpA,905
42
42
  pinexq_client/job_management/model/__init__.py,sha256=iuAKRXdW_Mxo0i3HsBfEzhJJZUKkNe3qs4gLW-ge1PU,63
43
- pinexq_client/job_management/model/open_api_generated.py,sha256=_7_PO0I1I7M-S6bYyhCk6myNPM2o3qjm8qK7WnkcHaI,40563
43
+ pinexq_client/job_management/model/open_api_generated.py,sha256=LFQEs9_9qEE2OgkAjAJX7HIOpZkZBc94OFNN1qHsmZI,40771
44
44
  pinexq_client/job_management/model/sirenentities.py,sha256=75ivnSU5OSuocITfluJ5o4o0CZldgtaP5PZqj4LhjJc,3950
45
45
  pinexq_client/job_management/tool/__init__.py,sha256=zPobd-hQyANHzC0-TjJG91z9XrewvE54ZJ6VViymW5M,128
46
46
  pinexq_client/job_management/tool/job.py,sha256=YOnNXk_tUSTjmHPcTwn_jYskjoqDg183tRHqG63HCuI,35037
47
47
  pinexq_client/job_management/tool/job_group.py,sha256=olwnPNqfT32XtLKJOzoq7j_Hb6NovUxy6YRJtQgLsW0,11221
48
- pinexq_client/job_management/tool/processing_step.py,sha256=3_KIk5IPqKXuJw4Gn3S6t2TYPf_EBCxZhBpHZqEHfUQ,16797
48
+ pinexq_client/job_management/tool/processing_step.py,sha256=AI290f0zXHu381PJr9CS0VXo-PsSk2m5ri7WXV3scE8,15851
49
49
  pinexq_client/job_management/tool/workdata.py,sha256=E1Qt945tocXiSZuQo2IbTnlgW2VRnq2ODEFQ96lXTDI,6270
50
- pinexq_client-0.10.4rc1.dist-info/WHEEL,sha256=93kfTGt3a0Dykt_T-gsjtyS5_p8F_d6CE1NwmBOirzo,79
51
- pinexq_client-0.10.4rc1.dist-info/METADATA,sha256=OHzR31fMGWtwcA8EujjKVSRk3653-SxZBh3aCJPeBtE,3518
52
- pinexq_client-0.10.4rc1.dist-info/RECORD,,
50
+ pinexq_client-0.10.6rc1.dist-info/WHEEL,sha256=XjEbIc5-wIORjWaafhI6vBtlxDBp7S9KiujWF1EM7Ak,79
51
+ pinexq_client-0.10.6rc1.dist-info/METADATA,sha256=JUthLMZvoS9uX4ezDII3nB7qStVyf1noo6d_clgwgjw,3518
52
+ pinexq_client-0.10.6rc1.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: uv 0.9.16
2
+ Generator: uv 0.9.25
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any