pinexq-client 0.9.2.20250506.42__py3-none-any.whl → 0.9.2.20250515.43__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.
@@ -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__ = [7, 5, 0]
25
+ __jma_version__ = [7, 6, 0]
@@ -15,6 +15,7 @@ from pinexq_client.job_management.hcos.job_query_result_hco import (
15
15
  )
16
16
  from pinexq_client.job_management.hcos.job_used_tags_hco import JobUsedTagsLink
17
17
  from pinexq_client.job_management.known_relations import Relations
18
+ from pinexq_client.job_management.model import RapidJobSetupParameters
18
19
  from pinexq_client.job_management.model.open_api_generated import (
19
20
  CreateJobParameters,
20
21
  JobQueryParameters,
@@ -43,6 +44,16 @@ class CreateSubJobAction(ActionWithParametersHco[CreateSubJobParameters]):
43
44
  return self._get_default_parameters(CreateSubJobParameters, CreateSubJobParameters())
44
45
 
45
46
 
47
+ class RapidJobSetupAction(ActionWithParametersHco[RapidJobSetupParameters]):
48
+ def execute(self, parameters: RapidJobSetupParameters) -> JobLink:
49
+ url: URL = self._execute_returns_url(parameters)
50
+ link = Link.from_url(url, [str(Relations.CREATED_RESSOURCE)], "Rapid job setup", MediaTypes.SIREN)
51
+ return JobLink.from_link(self._client, link)
52
+
53
+ def default_parameters(self) -> RapidJobSetupParameters:
54
+ return self._get_default_parameters(RapidJobSetupParameters, RapidJobSetupParameters())
55
+
56
+
46
57
  class JobQueryAction(ActionWithParametersHco):
47
58
  def execute(self, parameters: JobQueryParameters) -> JobQueryResultHco:
48
59
  url = self._execute_returns_url(parameters)
@@ -56,6 +67,7 @@ class JobQueryAction(ActionWithParametersHco):
56
67
 
57
68
  class JobsRootHco(Hco[JobsRootEntity]):
58
69
  create_job_action: CreateJobAction | UnavailableAction
70
+ rapid_job_setup_action: RapidJobSetupAction | UnavailableAction
59
71
  job_query_action: JobQueryAction | UnavailableAction
60
72
  create_subjob_action: CreateSubJobAction | UnavailableAction
61
73
  used_tags_link: JobUsedTagsLink | UnavailableLink
@@ -70,6 +82,8 @@ class JobsRootHco(Hco[JobsRootEntity]):
70
82
  instance.create_job_action = CreateJobAction.from_entity_optional(client, instance._entity, "CreateJob")
71
83
  instance.create_subjob_action = CreateSubJobAction.from_entity_optional(client, instance._entity,
72
84
  "CreateSubJob")
85
+ instance.rapid_job_setup_action = RapidJobSetupAction.from_entity_optional(client, instance._entity,
86
+ "RapidSetupJob")
73
87
  instance.job_query_action = JobQueryAction.from_entity_optional(client, instance._entity, "CreateJobQuery")
74
88
  instance.used_tags_link = JobUsedTagsLink.from_entity_optional(
75
89
  instance._client, instance._entity, Relations.USED_TAGS)
@@ -1,6 +1,6 @@
1
1
  # generated by datamodel-codegen:
2
2
  # filename: openapi.json
3
- # timestamp: 2025-05-04T15:01:47+00:00
3
+ # timestamp: 2025-05-14T12:10:18+00:00
4
4
 
5
5
  from __future__ import annotations
6
6
 
@@ -137,6 +137,15 @@ class InfoHtoOpenApiProperties(BaseModel):
137
137
  used_storage_in_bytes: int | None = Field(None, alias='UsedStorageInBytes')
138
138
 
139
139
 
140
+ class InputDataSlotParameter(BaseModel):
141
+ model_config = ConfigDict(
142
+ extra='allow',
143
+ populate_by_name=True,
144
+ )
145
+ index: int | None = Field(None, alias='Index')
146
+ work_data_urls: List[str] | None = Field(None, alias='WorkDataUrls')
147
+
148
+
140
149
  class JobQueryResultHtoOpenApiProperties(BaseModel):
141
150
  model_config = ConfigDict(
142
151
  extra='allow',
@@ -324,6 +333,25 @@ class ProcessingView(BaseModel):
324
333
  )
325
334
 
326
335
 
336
+ class RapidJobSetupParameters(BaseModel):
337
+ model_config = ConfigDict(
338
+ extra='allow',
339
+ populate_by_name=True,
340
+ )
341
+ name: constr(min_length=1) = Field(..., alias='Name')
342
+ processing_step_url: str | None = Field(None, alias='ProcessingStepUrl')
343
+ parent_job_url: str | None = Field(None, alias='ParentJobUrl')
344
+ tags: List[str] | None = Field(None, alias='Tags')
345
+ parameters: str | None = Field(None, alias='Parameters')
346
+ allow_output_data_deletion: bool | None = Field(
347
+ None, alias='AllowOutputDataDeletion'
348
+ )
349
+ input_data_slots: List[InputDataSlotParameter] | None = Field(
350
+ None, alias='InputDataSlots'
351
+ )
352
+ start: bool | None = Field(None, alias='Start')
353
+
354
+
327
355
  class RenameJobParameters(BaseModel):
328
356
  model_config = ConfigDict(
329
357
  extra='allow',
@@ -659,8 +687,8 @@ class JobHtoOpenApiProperties(BaseModel):
659
687
  hidden: bool | None = Field(None, alias='Hidden')
660
688
  output_is_deletable: bool | None = Field(None, alias='OutputIsDeletable')
661
689
  created_at: AwareDatetime | None = Field(None, alias='CreatedAt')
662
- completed_at: AwareDatetime | None = Field(None, alias='CompletedAt')
663
690
  started_at: AwareDatetime | None = Field(None, alias='StartedAt')
691
+ completed_at: AwareDatetime | None = Field(None, alias='CompletedAt')
664
692
  error_description: str | None = Field(None, alias='ErrorDescription')
665
693
  processing: ProcessingView | None = Field(None, alias='Processing')
666
694
  result: str | None = Field(None, alias='Result')
@@ -35,7 +35,7 @@ from pinexq_client.job_management.model import (
35
35
  SelectProcessingParameters,
36
36
  SelectWorkDataCollectionForDataSlotParameters,
37
37
  SelectWorkDataForDataSlotParameters,
38
- SetJobTagsParameters,
38
+ SetJobTagsParameters, RapidJobSetupParameters,
39
39
  )
40
40
  from pinexq_client.job_management.tool.processing_step import ProcessingStep
41
41
  from pinexq_client.job_management.tool.workdata import WorkData
@@ -661,6 +661,23 @@ class Job:
661
661
  self._raise_if_no_hco()
662
662
  return self.job_hco.processing
663
663
 
664
+ def create_and_configure_rapidly(
665
+ self,
666
+ parameters: RapidJobSetupParameters
667
+ ) -> Self:
668
+ """
669
+ Creates a new job and configures it rapidly with RapidJobSetupParameters.
670
+
671
+ Args:
672
+ parameters: The parameters to configure the job with.
673
+
674
+ Returns:
675
+ The newly created job as `Job` object
676
+ """
677
+ job_link = self._jobs_root.rapid_job_setup_action.execute(parameters)
678
+ self._get_by_link(job_link)
679
+ return self
680
+
664
681
  def self_link(self) -> JobLink:
665
682
  self._raise_if_no_hco()
666
683
  return self.job_hco.self_link
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pinexq-client
3
- Version: 0.9.2.20250506.42
3
+ Version: 0.9.2.20250515.43
4
4
  Summary: A hypermedia-based client for the DataCybernetics PinexQ platform.
5
5
  Author-Email: =?utf-8?q?Sebastian_H=C3=B6fer?= <hoefer@data-cybernetics.com>, Mathias Reichardt <reichardt@data-cybernetics.com>, Jasim Ahmed <ahmed@data-cybernetics.com>, Pratik Poudel <poudel@data-cybernetics.com>
6
6
  Maintainer-Email: Mathias Reichardt <reichardt@data-cybernetics.com>, =?utf-8?q?Sebastian_H=C3=B6fer?= <hoefer@data-cybernetics.com>, Carsten Blank <blank@data-cybernetics.com>
@@ -1,7 +1,7 @@
1
- pinexq_client-0.9.2.20250506.42.dist-info/METADATA,sha256=cfEKCEw-O1JaFD9mdQ87HoSQqCkcuvGLdJAwBQsPgmg,3279
2
- pinexq_client-0.9.2.20250506.42.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
- pinexq_client-0.9.2.20250506.42.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
- pinexq_client-0.9.2.20250506.42.dist-info/licenses/LICENSE,sha256=3oz3tAhM7kOgRukkRe7wmh5T_HihZY77ZtJDJm91ZN8,1072
1
+ pinexq_client-0.9.2.20250515.43.dist-info/METADATA,sha256=0WwpBhk9GA6PUPIi3nDnyX9fvaaRIb9nloEjn2OVsBk,3279
2
+ pinexq_client-0.9.2.20250515.43.dist-info/WHEEL,sha256=tSfRZzRHthuv7vxpI4aehrdN9scLjk-dCJkPLzkHxGg,90
3
+ pinexq_client-0.9.2.20250515.43.dist-info/entry_points.txt,sha256=6OYgBcLyFCUgeqLgnvMyOJxPCWzgy7se4rLPKtNonMs,34
4
+ pinexq_client-0.9.2.20250515.43.dist-info/licenses/LICENSE,sha256=3oz3tAhM7kOgRukkRe7wmh5T_HihZY77ZtJDJm91ZN8,1072
5
5
  pinexq_client/core/__init__.py,sha256=zO9vUuAl6AEokL-SqQO3Jl1qrxFBZPA2kH99VNZugEU,598
6
6
  pinexq_client/core/base_relations.py,sha256=oIUS58pkbMDdqm-3YOdsenhL1smtzeAk4fp7-U595MY,162
7
7
  pinexq_client/core/enterapi.py,sha256=eB4F2_t3lCbMgKhy-M-Sf_u9MhuJMO7OGh-GB-4Cc-8,731
@@ -21,7 +21,7 @@ pinexq_client/core/model/error.py,sha256=ZDbUlwsj7d8XPMolSSLTFwgs3RBLvOvgmlEtoBu
21
21
  pinexq_client/core/model/sirenmodels.py,sha256=vGRQlhM2cSa2caxQel91Jr48KWqM-vMYX32iaQCzIds,5547
22
22
  pinexq_client/core/polling.py,sha256=Z6VXn-PCGk4XX-4tQWZG59qJyCIS0eIrpPUORQDIGrs,1077
23
23
  pinexq_client/core/sirenaccess.py,sha256=F7eZI5Pz79el0D30SYNGsiS2qWaAZF_jrCrUy-q2GgY,6992
24
- pinexq_client/job_management/__init__.py,sha256=bYcBivLyiTyBdrWJv9TfQerNGvgtS4qCB8MZUxAaS-A,598
24
+ pinexq_client/job_management/__init__.py,sha256=jaOkYyOSur8EMcz4fgEFlENQFwagHKjLwlR67E9FIhs,598
25
25
  pinexq_client/job_management/enterjma.py,sha256=Ivl_jVPw_gaLyU5nKbywM-bbVGpn0MoCrZ0DMbJYf3s,1411
26
26
  pinexq_client/job_management/hcos/__init__.py,sha256=TZgs5kuBk3lSBxPfn5ehgbdUgzPy2jn1PC3Ea6VQY-k,584
27
27
  pinexq_client/job_management/hcos/entrypoint_hco.py,sha256=qodjAwO_MtawUuhmaYjhGXHV-uW1k94V9gKRYZRkhn4,2234
@@ -30,7 +30,7 @@ pinexq_client/job_management/hcos/input_dataslot_hco.py,sha256=SDflhyW8kjpcTUfKA
30
30
  pinexq_client/job_management/hcos/job_hco.py,sha256=8Lq5RABq7XUp3Z6jhYegPgVPfm591-38eC8CCLes0KQ,8934
31
31
  pinexq_client/job_management/hcos/job_query_result_hco.py,sha256=I0G8YIlYDhTahLz8n06L8BywlcsMGNWUEsmEr4Sk0GU,3315
32
32
  pinexq_client/job_management/hcos/job_used_tags_hco.py,sha256=nys6E97NNXATdnvX6KZ46JR9qEb2lnqol9ZvJVEiNpQ,944
33
- pinexq_client/job_management/hcos/jobsroot_hco.py,sha256=P8C5CaIEq_bkh6YgJBuQEp45Cc4fHuU5lYuWNdgtISY,3853
33
+ pinexq_client/job_management/hcos/jobsroot_hco.py,sha256=5h_CYb9FyjpmAlvDXuK_AimCvomadFTcCSQ6QmMD0QY,4726
34
34
  pinexq_client/job_management/hcos/output_dataslot_hco.py,sha256=zxpo-fI9eHcp_pMKcf2l-gRoPHX1RzQO53auHMRB_T8,1549
35
35
  pinexq_client/job_management/hcos/processing_step_hco.py,sha256=JH9s3ifchYvpwzPGkDon9AyDnjdZZiSCu1Xtgd2jKnY,6131
36
36
  pinexq_client/job_management/hcos/processing_step_used_tags_hco.py,sha256=90-2IWlYTcYX62NzmAPnmcUCwMDhmMZyBrNs_G3yigs,1067
@@ -43,11 +43,11 @@ pinexq_client/job_management/hcos/workdata_used_tags_query_result_hco.py,sha256=
43
43
  pinexq_client/job_management/hcos/workdataroot_hco.py,sha256=LdEPW2JJTqAWi-6zj-40lfREhthcDL6nPXQk_nfMtCA,3936
44
44
  pinexq_client/job_management/known_relations.py,sha256=f3-7RagAfeSFv9b54l5zxnLKbVQjQQHzYsM4W2QHf0Y,708
45
45
  pinexq_client/job_management/model/__init__.py,sha256=iuAKRXdW_Mxo0i3HsBfEzhJJZUKkNe3qs4gLW-ge1PU,63
46
- pinexq_client/job_management/model/open_api_generated.py,sha256=myC0ZkqYAYBmd2A9rwD3kmTbkJlskAQ0H7Z5pgejaq0,32233
46
+ pinexq_client/job_management/model/open_api_generated.py,sha256=s-XtnhuK5YmBhbOqKsy09iRKrQMtZL6-N2be-g5d8QU,33211
47
47
  pinexq_client/job_management/model/sirenentities.py,sha256=MUjgByEwzQcrduCEJuNK85uAj8SLTdyaiKmnlB44h3E,3430
48
48
  pinexq_client/job_management/tool/__init__.py,sha256=zPobd-hQyANHzC0-TjJG91z9XrewvE54ZJ6VViymW5M,128
49
- pinexq_client/job_management/tool/job.py,sha256=77veL0dnqFpu8kz9Yr9xR9nG1YqZ2chCXWWLmnXm6kI,24962
49
+ pinexq_client/job_management/tool/job.py,sha256=p9WDfJiIcQMZyLfNajpxK9kSd0DqF2H9hoS7lvDIFC0,25496
50
50
  pinexq_client/job_management/tool/job_group.py,sha256=TNWw46UDyP2gmArhbzMAqpHa6lS2hzwarLIrxxpOMnk,4822
51
51
  pinexq_client/job_management/tool/processing_step.py,sha256=LLesEbS7vaAiCoGs7MV8bnaD8bWnkK-2YTxAsyPiJFM,10796
52
52
  pinexq_client/job_management/tool/workdata.py,sha256=wRy_yfFZUJDh-hoGUuAbQaRGtPysDmEOhLwD84Fgz04,5510
53
- pinexq_client-0.9.2.20250506.42.dist-info/RECORD,,
53
+ pinexq_client-0.9.2.20250515.43.dist-info/RECORD,,