digitalhub 0.14.0b5__py3-none-any.whl → 0.14.9__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.
Files changed (93) hide show
  1. digitalhub/__init__.py +2 -2
  2. digitalhub/context/api.py +43 -6
  3. digitalhub/context/builder.py +1 -1
  4. digitalhub/context/context.py +3 -6
  5. digitalhub/entities/_base/context/entity.py +0 -3
  6. digitalhub/entities/_base/executable/entity.py +29 -11
  7. digitalhub/entities/_base/material/entity.py +2 -2
  8. digitalhub/entities/_base/material/utils.py +0 -4
  9. digitalhub/entities/_commons/enums.py +1 -0
  10. digitalhub/entities/_commons/utils.py +19 -0
  11. digitalhub/entities/_processors/base/crud.py +15 -24
  12. digitalhub/entities/_processors/base/import_export.py +3 -7
  13. digitalhub/entities/_processors/base/processor.py +4 -7
  14. digitalhub/entities/_processors/base/special_ops.py +4 -8
  15. digitalhub/entities/_processors/context/crud.py +27 -29
  16. digitalhub/entities/_processors/context/import_export.py +7 -7
  17. digitalhub/entities/_processors/context/material.py +2 -2
  18. digitalhub/entities/_processors/context/special_ops.py +25 -25
  19. digitalhub/entities/_processors/utils.py +7 -116
  20. digitalhub/entities/artifact/crud.py +3 -3
  21. digitalhub/entities/artifact/utils.py +2 -2
  22. digitalhub/entities/builders.py +2 -0
  23. digitalhub/entities/dataitem/crud.py +3 -3
  24. digitalhub/entities/dataitem/utils.py +10 -14
  25. digitalhub/entities/function/_base/entity.py +0 -3
  26. digitalhub/entities/function/crud.py +3 -3
  27. digitalhub/entities/model/crud.py +3 -3
  28. digitalhub/entities/model/mlflow/utils.py +29 -20
  29. digitalhub/entities/model/utils.py +2 -2
  30. digitalhub/entities/project/_base/builder.py +0 -6
  31. digitalhub/entities/project/_base/entity.py +264 -114
  32. digitalhub/entities/project/_base/spec.py +4 -4
  33. digitalhub/entities/project/crud.py +16 -51
  34. digitalhub/entities/project/utils.py +7 -3
  35. digitalhub/entities/secret/crud.py +2 -2
  36. digitalhub/entities/task/_base/models.py +13 -16
  37. digitalhub/entities/trigger/crud.py +28 -9
  38. digitalhub/entities/workflow/_base/entity.py +0 -5
  39. digitalhub/entities/workflow/crud.py +3 -6
  40. digitalhub/stores/client/{dhcore/api_builder.py → api_builder.py} +2 -3
  41. digitalhub/stores/client/builder.py +20 -32
  42. digitalhub/stores/client/client.py +322 -0
  43. digitalhub/stores/client/{dhcore/configurator.py → configurator.py} +148 -195
  44. digitalhub/stores/client/{_base/enums.py → enums.py} +11 -0
  45. digitalhub/stores/client/header_manager.py +61 -0
  46. digitalhub/stores/client/http_handler.py +152 -0
  47. digitalhub/stores/client/{_base/key_builder.py → key_builder.py} +14 -14
  48. digitalhub/stores/client/{dhcore/params_builder.py → params_builder.py} +51 -12
  49. digitalhub/stores/client/response_processor.py +102 -0
  50. digitalhub/stores/client/utils.py +35 -0
  51. digitalhub/stores/{credentials → configurator}/api.py +5 -9
  52. digitalhub/stores/configurator/configurator.py +123 -0
  53. digitalhub/stores/{credentials → configurator}/enums.py +26 -10
  54. digitalhub/stores/configurator/handler.py +213 -0
  55. digitalhub/stores/{credentials → configurator}/ini_module.py +31 -6
  56. digitalhub/stores/data/_base/store.py +0 -4
  57. digitalhub/stores/data/api.py +4 -6
  58. digitalhub/stores/data/builder.py +6 -38
  59. digitalhub/stores/data/s3/configurator.py +30 -114
  60. digitalhub/stores/data/s3/store.py +9 -22
  61. digitalhub/stores/data/sql/configurator.py +49 -71
  62. digitalhub/stores/data/sql/store.py +26 -61
  63. digitalhub/utils/generic_utils.py +0 -12
  64. digitalhub/utils/git_utils.py +0 -8
  65. digitalhub/utils/io_utils.py +0 -8
  66. digitalhub/utils/store_utils.py +1 -1
  67. {digitalhub-0.14.0b5.dist-info → digitalhub-0.14.9.dist-info}/METADATA +3 -3
  68. {digitalhub-0.14.0b5.dist-info → digitalhub-0.14.9.dist-info}/RECORD +73 -86
  69. {digitalhub-0.14.0b5.dist-info → digitalhub-0.14.9.dist-info}/WHEEL +1 -1
  70. digitalhub/stores/client/_base/api_builder.py +0 -34
  71. digitalhub/stores/client/_base/client.py +0 -243
  72. digitalhub/stores/client/_base/params_builder.py +0 -82
  73. digitalhub/stores/client/api.py +0 -32
  74. digitalhub/stores/client/dhcore/__init__.py +0 -3
  75. digitalhub/stores/client/dhcore/client.py +0 -553
  76. digitalhub/stores/client/dhcore/enums.py +0 -18
  77. digitalhub/stores/client/dhcore/key_builder.py +0 -62
  78. digitalhub/stores/client/dhcore/utils.py +0 -86
  79. digitalhub/stores/client/local/__init__.py +0 -3
  80. digitalhub/stores/client/local/api_builder.py +0 -116
  81. digitalhub/stores/client/local/client.py +0 -605
  82. digitalhub/stores/client/local/enums.py +0 -15
  83. digitalhub/stores/client/local/key_builder.py +0 -62
  84. digitalhub/stores/client/local/params_builder.py +0 -97
  85. digitalhub/stores/credentials/__init__.py +0 -3
  86. digitalhub/stores/credentials/configurator.py +0 -185
  87. digitalhub/stores/credentials/handler.py +0 -164
  88. digitalhub/stores/credentials/store.py +0 -77
  89. digitalhub/stores/data/enums.py +0 -15
  90. /digitalhub/stores/client/{dhcore/error_parser.py → error_parser.py} +0 -0
  91. /digitalhub/stores/{client/_base → configurator}/__init__.py +0 -0
  92. {digitalhub-0.14.0b5.dist-info → digitalhub-0.14.9.dist-info}/licenses/AUTHORS +0 -0
  93. {digitalhub-0.14.0b5.dist-info → digitalhub-0.14.9.dist-info}/licenses/LICENSE +0 -0
@@ -72,9 +72,8 @@ from digitalhub.entities.workflow.crud import (
72
72
  update_workflow,
73
73
  )
74
74
  from digitalhub.factory.entity import entity_factory
75
- from digitalhub.stores.client.api import get_client
75
+ from digitalhub.stores.client.builder import get_client
76
76
  from digitalhub.utils.exceptions import BackendError, EntityAlreadyExistsError, EntityError
77
- from digitalhub.utils.generic_utils import get_timestamp
78
77
  from digitalhub.utils.io_utils import write_yaml
79
78
  from digitalhub.utils.uri_utils import has_local_scheme
80
79
 
@@ -107,7 +106,6 @@ class Project(Entity):
107
106
  spec: ProjectSpec,
108
107
  status: ProjectStatus,
109
108
  user: str | None = None,
110
- local: bool = False,
111
109
  ) -> None:
112
110
  super().__init__(kind, metadata, spec, status, user)
113
111
  self.spec: ProjectSpec
@@ -115,12 +113,12 @@ class Project(Entity):
115
113
 
116
114
  self.id = name
117
115
  self.name = name
118
- self.key = base_processor.build_project_key(self.name, local=local)
116
+ self.key = base_processor.build_project_key(self.name)
119
117
 
120
118
  self._obj_attr.extend(["id", "name"])
121
119
 
122
120
  # Set client
123
- self._client = get_client(local)
121
+ self._client = get_client()
124
122
 
125
123
  # Set context
126
124
  build_context(self)
@@ -144,13 +142,10 @@ class Project(Entity):
144
142
  Entity saved.
145
143
  """
146
144
  if update:
147
- if self._client.is_local():
148
- self.metadata.updated = get_timestamp()
149
145
  new_obj = base_processor.update_project_entity(
150
146
  entity_type=self.ENTITY_TYPE,
151
147
  entity_name=self.name,
152
148
  entity_dict=self.to_dict(),
153
- local=self._client.is_local(),
154
149
  )
155
150
  else:
156
151
  new_obj = base_processor.create_project_entity(_entity=self)
@@ -169,7 +164,6 @@ class Project(Entity):
169
164
  new_obj = base_processor.read_project_entity(
170
165
  entity_type=self.ENTITY_TYPE,
171
166
  entity_name=self.name,
172
- local=self._client.is_local(),
173
167
  )
174
168
  self._update_attributes(new_obj)
175
169
  return self
@@ -241,7 +235,7 @@ class Project(Entity):
241
235
  Exported filepath.
242
236
  """
243
237
  obj = self._refresh_to_dict()
244
- pth = Path(self.spec.context) / f"{self.ENTITY_TYPE}s-{self.name}.yaml"
238
+ pth = Path(self.spec.source) / f"{self.ENTITY_TYPE}s-{self.name}.yaml"
245
239
  obj = self._export_not_embedded(obj)
246
240
  write_yaml(pth, obj)
247
241
  return str(pth)
@@ -532,7 +526,6 @@ class Project(Entity):
532
526
  self,
533
527
  identifier: str,
534
528
  entity_id: str | None = None,
535
- **kwargs,
536
529
  ) -> Artifact:
537
530
  """
538
531
  Get object from backend.
@@ -543,8 +536,6 @@ class Project(Entity):
543
536
  Entity key (store://...) or entity name.
544
537
  entity_id : str
545
538
  Entity ID.
546
- **kwargs : dict
547
- Parameters to pass to the API call.
548
539
 
549
540
  Returns
550
541
  -------
@@ -564,7 +555,6 @@ class Project(Entity):
564
555
  identifier=identifier,
565
556
  project=self.name,
566
557
  entity_id=entity_id,
567
- **kwargs,
568
558
  )
569
559
  self.refresh()
570
560
  return obj
@@ -572,7 +562,6 @@ class Project(Entity):
572
562
  def get_artifact_versions(
573
563
  self,
574
564
  identifier: str,
575
- **kwargs,
576
565
  ) -> list[Artifact]:
577
566
  """
578
567
  Get object versions from backend.
@@ -581,8 +570,6 @@ class Project(Entity):
581
570
  ----------
582
571
  identifier : str
583
572
  Entity key (store://...) or entity name.
584
- **kwargs : dict
585
- Parameters to pass to the API call.
586
573
 
587
574
  Returns
588
575
  -------
@@ -597,16 +584,40 @@ class Project(Entity):
597
584
  Using entity name:
598
585
  >>> obj = project.get_artifact_versions("my-artifact-name")
599
586
  """
600
- return get_artifact_versions(identifier, project=self.name, **kwargs)
587
+ return get_artifact_versions(identifier, project=self.name)
601
588
 
602
- def list_artifacts(self, **kwargs) -> list[Artifact]:
589
+ def list_artifacts(
590
+ self,
591
+ q: str | None = None,
592
+ name: str | None = None,
593
+ kind: str | None = None,
594
+ user: str | None = None,
595
+ state: str | None = None,
596
+ created: str | None = None,
597
+ updated: str | None = None,
598
+ versions: str | None = None,
599
+ ) -> list[Artifact]:
603
600
  """
604
601
  List all latest version objects from backend.
605
602
 
606
603
  Parameters
607
604
  ----------
608
- **kwargs : dict
609
- Parameters to pass to the API call.
605
+ q : str
606
+ Query string to filter objects.
607
+ name : str
608
+ Object name.
609
+ kind : str
610
+ Kind of the object.
611
+ user : str
612
+ User that created the object.
613
+ state : str
614
+ Object state.
615
+ created : str
616
+ Creation date filter.
617
+ updated : str
618
+ Update date filter.
619
+ version : str
620
+ Object version, default is latest.
610
621
 
611
622
  Returns
612
623
  -------
@@ -617,7 +628,17 @@ class Project(Entity):
617
628
  --------
618
629
  >>> objs = project.list_artifacts()
619
630
  """
620
- return list_artifacts(self.name, **kwargs)
631
+ return list_artifacts(
632
+ self.name,
633
+ q=q,
634
+ name=name,
635
+ kind=kind,
636
+ user=user,
637
+ state=state,
638
+ created=created,
639
+ updated=updated,
640
+ versions=versions,
641
+ )
621
642
 
622
643
  def import_artifact(
623
644
  self,
@@ -675,7 +696,7 @@ class Project(Entity):
675
696
  identifier: str,
676
697
  entity_id: str | None = None,
677
698
  delete_all_versions: bool = False,
678
- **kwargs,
699
+ cascade: bool = False,
679
700
  ) -> None:
680
701
  """
681
702
  Delete object from backend.
@@ -688,8 +709,8 @@ class Project(Entity):
688
709
  Entity ID.
689
710
  delete_all_versions : bool
690
711
  Delete all versions of the named entity. If True, use entity name instead of entity key as identifier.
691
- **kwargs : dict
692
- Parameters to pass to the API call.
712
+ cascade : bool
713
+ Cascade delete related entities.
693
714
 
694
715
  Returns
695
716
  -------
@@ -710,7 +731,7 @@ class Project(Entity):
710
731
  project=self.name,
711
732
  entity_id=entity_id,
712
733
  delete_all_versions=delete_all_versions,
713
- **kwargs,
734
+ cascade=cascade,
714
735
  )
715
736
  self.refresh()
716
737
 
@@ -838,7 +859,6 @@ class Project(Entity):
838
859
  self,
839
860
  identifier: str,
840
861
  entity_id: str | None = None,
841
- **kwargs,
842
862
  ) -> Dataitem:
843
863
  """
844
864
  Get object from backend.
@@ -849,8 +869,6 @@ class Project(Entity):
849
869
  Entity key (store://...) or entity name.
850
870
  entity_id : str
851
871
  Entity ID.
852
- **kwargs : dict
853
- Parameters to pass to the API call.
854
872
 
855
873
  Returns
856
874
  -------
@@ -870,7 +888,6 @@ class Project(Entity):
870
888
  identifier=identifier,
871
889
  project=self.name,
872
890
  entity_id=entity_id,
873
- **kwargs,
874
891
  )
875
892
  self.refresh()
876
893
  return obj
@@ -878,7 +895,6 @@ class Project(Entity):
878
895
  def get_dataitem_versions(
879
896
  self,
880
897
  identifier: str,
881
- **kwargs,
882
898
  ) -> list[Dataitem]:
883
899
  """
884
900
  Get object versions from backend.
@@ -887,8 +903,6 @@ class Project(Entity):
887
903
  ----------
888
904
  identifier : str
889
905
  Entity key (store://...) or entity name.
890
- **kwargs : dict
891
- Parameters to pass to the API call.
892
906
 
893
907
  Returns
894
908
  -------
@@ -903,16 +917,40 @@ class Project(Entity):
903
917
  Using entity name:
904
918
  >>> obj = project.get_dataitem_versions("my-dataitem-name")
905
919
  """
906
- return get_dataitem_versions(identifier, project=self.name, **kwargs)
920
+ return get_dataitem_versions(identifier, project=self.name)
907
921
 
908
- def list_dataitems(self, **kwargs) -> list[Dataitem]:
922
+ def list_dataitems(
923
+ self,
924
+ q: str | None = None,
925
+ name: str | None = None,
926
+ kind: str | None = None,
927
+ user: str | None = None,
928
+ state: str | None = None,
929
+ created: str | None = None,
930
+ updated: str | None = None,
931
+ versions: str | None = None,
932
+ ) -> list[Dataitem]:
909
933
  """
910
934
  List all latest version objects from backend.
911
935
 
912
936
  Parameters
913
937
  ----------
914
- **kwargs : dict
915
- Parameters to pass to the API call.
938
+ q : str
939
+ Query string to filter objects.
940
+ name : str
941
+ Object name.
942
+ kind : str
943
+ Kind of the object.
944
+ user : str
945
+ User that created the object.
946
+ state : str
947
+ Object state.
948
+ created : str
949
+ Creation date filter.
950
+ updated : str
951
+ Update date filter.
952
+ version : str
953
+ Object version, default is latest.
916
954
 
917
955
  Returns
918
956
  -------
@@ -923,7 +961,17 @@ class Project(Entity):
923
961
  --------
924
962
  >>> objs = project.list_dataitems()
925
963
  """
926
- return list_dataitems(self.name, **kwargs)
964
+ return list_dataitems(
965
+ self.name,
966
+ q=q,
967
+ name=name,
968
+ kind=kind,
969
+ user=user,
970
+ state=state,
971
+ created=created,
972
+ updated=updated,
973
+ versions=versions,
974
+ )
927
975
 
928
976
  def import_dataitem(
929
977
  self,
@@ -981,7 +1029,7 @@ class Project(Entity):
981
1029
  identifier: str,
982
1030
  entity_id: str | None = None,
983
1031
  delete_all_versions: bool = False,
984
- **kwargs,
1032
+ cascade: bool = False,
985
1033
  ) -> None:
986
1034
  """
987
1035
  Delete object from backend.
@@ -994,8 +1042,8 @@ class Project(Entity):
994
1042
  Entity ID.
995
1043
  delete_all_versions : bool
996
1044
  Delete all versions of the named entity. If True, use entity name instead of entity key as identifier.
997
- **kwargs : dict
998
- Parameters to pass to the API call.
1045
+ cascade : bool
1046
+ Cascade delete related entities.
999
1047
 
1000
1048
  Returns
1001
1049
  -------
@@ -1017,7 +1065,7 @@ class Project(Entity):
1017
1065
  project=self.name,
1018
1066
  entity_id=entity_id,
1019
1067
  delete_all_versions=delete_all_versions,
1020
- **kwargs,
1068
+ cascade=cascade,
1021
1069
  )
1022
1070
  self.refresh()
1023
1071
 
@@ -1133,7 +1181,6 @@ class Project(Entity):
1133
1181
  self,
1134
1182
  identifier: str,
1135
1183
  entity_id: str | None = None,
1136
- **kwargs,
1137
1184
  ) -> Model:
1138
1185
  """
1139
1186
  Get object from backend.
@@ -1144,8 +1191,6 @@ class Project(Entity):
1144
1191
  Entity key (store://...) or entity name.
1145
1192
  entity_id : str
1146
1193
  Entity ID.
1147
- **kwargs : dict
1148
- Parameters to pass to the API call.
1149
1194
 
1150
1195
  Returns
1151
1196
  -------
@@ -1165,7 +1210,6 @@ class Project(Entity):
1165
1210
  identifier=identifier,
1166
1211
  project=self.name,
1167
1212
  entity_id=entity_id,
1168
- **kwargs,
1169
1213
  )
1170
1214
  self.refresh()
1171
1215
  return obj
@@ -1173,7 +1217,6 @@ class Project(Entity):
1173
1217
  def get_model_versions(
1174
1218
  self,
1175
1219
  identifier: str,
1176
- **kwargs,
1177
1220
  ) -> list[Model]:
1178
1221
  """
1179
1222
  Get object versions from backend.
@@ -1182,8 +1225,6 @@ class Project(Entity):
1182
1225
  ----------
1183
1226
  identifier : str
1184
1227
  Entity key (store://...) or entity name.
1185
- **kwargs : dict
1186
- Parameters to pass to the API call.
1187
1228
 
1188
1229
  Returns
1189
1230
  -------
@@ -1198,16 +1239,40 @@ class Project(Entity):
1198
1239
  Using entity name:
1199
1240
  >>> obj = project.get_model_versions("my-model-name")
1200
1241
  """
1201
- return get_model_versions(identifier, project=self.name, **kwargs)
1242
+ return get_model_versions(identifier, project=self.name)
1202
1243
 
1203
- def list_models(self, **kwargs) -> list[Model]:
1244
+ def list_models(
1245
+ self,
1246
+ q: str | None = None,
1247
+ name: str | None = None,
1248
+ kind: str | None = None,
1249
+ user: str | None = None,
1250
+ state: str | None = None,
1251
+ created: str | None = None,
1252
+ updated: str | None = None,
1253
+ versions: str | None = None,
1254
+ ) -> list[Model]:
1204
1255
  """
1205
1256
  List all latest version objects from backend.
1206
1257
 
1207
1258
  Parameters
1208
1259
  ----------
1209
- **kwargs : dict
1210
- Parameters to pass to the API call.
1260
+ q : str
1261
+ Query string to filter objects.
1262
+ name : str
1263
+ Object name.
1264
+ kind : str
1265
+ Kind of the object.
1266
+ user : str
1267
+ User that created the object.
1268
+ state : str
1269
+ Object state.
1270
+ created : str
1271
+ Creation date filter.
1272
+ updated : str
1273
+ Update date filter.
1274
+ version : str
1275
+ Object version, default is latest.
1211
1276
 
1212
1277
  Returns
1213
1278
  -------
@@ -1218,7 +1283,17 @@ class Project(Entity):
1218
1283
  --------
1219
1284
  >>> objs = project.list_models()
1220
1285
  """
1221
- return list_models(self.name, **kwargs)
1286
+ return list_models(
1287
+ self.name,
1288
+ q=q,
1289
+ name=name,
1290
+ kind=kind,
1291
+ user=user,
1292
+ state=state,
1293
+ created=created,
1294
+ updated=updated,
1295
+ versions=versions,
1296
+ )
1222
1297
 
1223
1298
  def import_model(
1224
1299
  self,
@@ -1276,7 +1351,7 @@ class Project(Entity):
1276
1351
  identifier: str,
1277
1352
  entity_id: str | None = None,
1278
1353
  delete_all_versions: bool = False,
1279
- **kwargs,
1354
+ cascade: bool = False,
1280
1355
  ) -> None:
1281
1356
  """
1282
1357
  Delete object from backend.
@@ -1289,8 +1364,8 @@ class Project(Entity):
1289
1364
  Entity ID.
1290
1365
  delete_all_versions : bool
1291
1366
  Delete all versions of the named entity. If True, use entity name instead of entity key as identifier.
1292
- **kwargs : dict
1293
- Parameters to pass to the API call.
1367
+ cascade : bool
1368
+ Cascade delete related entities.
1294
1369
 
1295
1370
  Returns
1296
1371
  -------
@@ -1312,7 +1387,7 @@ class Project(Entity):
1312
1387
  project=self.name,
1313
1388
  entity_id=entity_id,
1314
1389
  delete_all_versions=delete_all_versions,
1315
- **kwargs,
1390
+ cascade=cascade,
1316
1391
  )
1317
1392
  self.refresh()
1318
1393
 
@@ -1379,7 +1454,6 @@ class Project(Entity):
1379
1454
  self,
1380
1455
  identifier: str,
1381
1456
  entity_id: str | None = None,
1382
- **kwargs,
1383
1457
  ) -> Function:
1384
1458
  """
1385
1459
  Get object from backend.
@@ -1390,8 +1464,6 @@ class Project(Entity):
1390
1464
  Entity key (store://...) or entity name.
1391
1465
  entity_id : str
1392
1466
  Entity ID.
1393
- **kwargs : dict
1394
- Parameters to pass to the API call.
1395
1467
 
1396
1468
  Returns
1397
1469
  -------
@@ -1411,7 +1483,6 @@ class Project(Entity):
1411
1483
  identifier=identifier,
1412
1484
  project=self.name,
1413
1485
  entity_id=entity_id,
1414
- **kwargs,
1415
1486
  )
1416
1487
  self.refresh()
1417
1488
  return obj
@@ -1419,7 +1490,6 @@ class Project(Entity):
1419
1490
  def get_function_versions(
1420
1491
  self,
1421
1492
  identifier: str,
1422
- **kwargs,
1423
1493
  ) -> list[Function]:
1424
1494
  """
1425
1495
  Get object versions from backend.
@@ -1428,8 +1498,6 @@ class Project(Entity):
1428
1498
  ----------
1429
1499
  identifier : str
1430
1500
  Entity key (store://...) or entity name.
1431
- **kwargs : dict
1432
- Parameters to pass to the API call.
1433
1501
 
1434
1502
  Returns
1435
1503
  -------
@@ -1444,16 +1512,40 @@ class Project(Entity):
1444
1512
  Using entity name:
1445
1513
  >>> obj = project.get_function_versions("my-function-name")
1446
1514
  """
1447
- return get_function_versions(identifier, project=self.name, **kwargs)
1515
+ return get_function_versions(identifier, project=self.name)
1448
1516
 
1449
- def list_functions(self, **kwargs) -> list[Function]:
1517
+ def list_functions(
1518
+ self,
1519
+ q: str | None = None,
1520
+ name: str | None = None,
1521
+ kind: str | None = None,
1522
+ user: str | None = None,
1523
+ state: str | None = None,
1524
+ created: str | None = None,
1525
+ updated: str | None = None,
1526
+ versions: str | None = None,
1527
+ ) -> list[Function]:
1450
1528
  """
1451
1529
  List all latest version objects from backend.
1452
1530
 
1453
1531
  Parameters
1454
1532
  ----------
1455
- **kwargs : dict
1456
- Parameters to pass to the API call.
1533
+ q : str
1534
+ Query string to filter objects.
1535
+ name : str
1536
+ Object name.
1537
+ kind : str
1538
+ Kind of the object.
1539
+ user : str
1540
+ User that created the object.
1541
+ state : str
1542
+ Object state.
1543
+ created : str
1544
+ Creation date filter.
1545
+ updated : str
1546
+ Update date filter.
1547
+ version : str
1548
+ Object version, default is latest.
1457
1549
 
1458
1550
  Returns
1459
1551
  -------
@@ -1464,7 +1556,17 @@ class Project(Entity):
1464
1556
  --------
1465
1557
  >>> objs = project.list_functions()
1466
1558
  """
1467
- return list_functions(self.name, **kwargs)
1559
+ return list_functions(
1560
+ self.name,
1561
+ q=q,
1562
+ name=name,
1563
+ kind=kind,
1564
+ user=user,
1565
+ state=state,
1566
+ created=created,
1567
+ updated=updated,
1568
+ versions=versions,
1569
+ )
1468
1570
 
1469
1571
  def import_function(
1470
1572
  self,
@@ -1523,7 +1625,6 @@ class Project(Entity):
1523
1625
  entity_id: str | None = None,
1524
1626
  delete_all_versions: bool = False,
1525
1627
  cascade: bool = True,
1526
- **kwargs,
1527
1628
  ) -> None:
1528
1629
  """
1529
1630
  Delete object from backend.
@@ -1538,8 +1639,6 @@ class Project(Entity):
1538
1639
  Delete all versions of the named entity. If True, use entity name instead of entity key as identifier.
1539
1640
  cascade : bool
1540
1641
  Cascade delete.
1541
- **kwargs : dict
1542
- Parameters to pass to the API call.
1543
1642
 
1544
1643
  Returns
1545
1644
  -------
@@ -1561,7 +1660,6 @@ class Project(Entity):
1561
1660
  entity_id=entity_id,
1562
1661
  delete_all_versions=delete_all_versions,
1563
1662
  cascade=cascade,
1564
- **kwargs,
1565
1663
  )
1566
1664
  self.refresh()
1567
1665
 
@@ -1628,7 +1726,6 @@ class Project(Entity):
1628
1726
  self,
1629
1727
  identifier: str,
1630
1728
  entity_id: str | None = None,
1631
- **kwargs,
1632
1729
  ) -> Workflow:
1633
1730
  """
1634
1731
  Get object from backend.
@@ -1639,8 +1736,6 @@ class Project(Entity):
1639
1736
  Entity key (store://...) or entity name.
1640
1737
  entity_id : str
1641
1738
  Entity ID.
1642
- **kwargs : dict
1643
- Parameters to pass to the API call.
1644
1739
 
1645
1740
  Returns
1646
1741
  -------
@@ -1660,7 +1755,6 @@ class Project(Entity):
1660
1755
  identifier=identifier,
1661
1756
  project=self.name,
1662
1757
  entity_id=entity_id,
1663
- **kwargs,
1664
1758
  )
1665
1759
  self.refresh()
1666
1760
  return obj
@@ -1668,7 +1762,6 @@ class Project(Entity):
1668
1762
  def get_workflow_versions(
1669
1763
  self,
1670
1764
  identifier: str,
1671
- **kwargs,
1672
1765
  ) -> list[Workflow]:
1673
1766
  """
1674
1767
  Get object versions from backend.
@@ -1677,8 +1770,6 @@ class Project(Entity):
1677
1770
  ----------
1678
1771
  identifier : str
1679
1772
  Entity key (store://...) or entity name.
1680
- **kwargs : dict
1681
- Parameters to pass to the API call.
1682
1773
 
1683
1774
  Returns
1684
1775
  -------
@@ -1693,16 +1784,40 @@ class Project(Entity):
1693
1784
  Using entity name:
1694
1785
  >>> obj = project.get_workflow_versions("my-workflow-name")
1695
1786
  """
1696
- return get_workflow_versions(identifier, project=self.name, **kwargs)
1787
+ return get_workflow_versions(identifier, project=self.name)
1697
1788
 
1698
- def list_workflows(self, **kwargs) -> list[Workflow]:
1789
+ def list_workflows(
1790
+ self,
1791
+ q: str | None = None,
1792
+ name: str | None = None,
1793
+ kind: str | None = None,
1794
+ user: str | None = None,
1795
+ state: str | None = None,
1796
+ created: str | None = None,
1797
+ updated: str | None = None,
1798
+ versions: str | None = None,
1799
+ ) -> list[Workflow]:
1699
1800
  """
1700
1801
  List all latest version objects from backend.
1701
1802
 
1702
1803
  Parameters
1703
1804
  ----------
1704
- **kwargs : dict
1705
- Parameters to pass to the API call.
1805
+ q : str
1806
+ Query string to filter objects.
1807
+ name : str
1808
+ Object name.
1809
+ kind : str
1810
+ Kind of the object.
1811
+ user : str
1812
+ User that created the object.
1813
+ state : str
1814
+ Object state.
1815
+ created : str
1816
+ Creation date filter.
1817
+ updated : str
1818
+ Update date filter.
1819
+ version : str
1820
+ Object version, default is latest.
1706
1821
 
1707
1822
  Returns
1708
1823
  -------
@@ -1713,7 +1828,17 @@ class Project(Entity):
1713
1828
  --------
1714
1829
  >>> objs = project.list_workflows()
1715
1830
  """
1716
- return list_workflows(self.name, **kwargs)
1831
+ return list_workflows(
1832
+ self.name,
1833
+ q=q,
1834
+ name=name,
1835
+ kind=kind,
1836
+ user=user,
1837
+ state=state,
1838
+ created=created,
1839
+ updated=updated,
1840
+ versions=versions,
1841
+ )
1717
1842
 
1718
1843
  def import_workflow(
1719
1844
  self,
@@ -1772,7 +1897,6 @@ class Project(Entity):
1772
1897
  entity_id: str | None = None,
1773
1898
  delete_all_versions: bool = False,
1774
1899
  cascade: bool = True,
1775
- **kwargs,
1776
1900
  ) -> None:
1777
1901
  """
1778
1902
  Delete object from backend.
@@ -1787,8 +1911,6 @@ class Project(Entity):
1787
1911
  Delete all versions of the named entity. If True, use entity name instead of entity key as identifier.
1788
1912
  cascade : bool
1789
1913
  Cascade delete.
1790
- **kwargs : dict
1791
- Parameters to pass to the API call.
1792
1914
 
1793
1915
  Returns
1794
1916
  -------
@@ -1810,7 +1932,6 @@ class Project(Entity):
1810
1932
  entity_id=entity_id,
1811
1933
  delete_all_versions=delete_all_versions,
1812
1934
  cascade=cascade,
1813
- **kwargs,
1814
1935
  )
1815
1936
  self.refresh()
1816
1937
 
@@ -1875,7 +1996,6 @@ class Project(Entity):
1875
1996
  self,
1876
1997
  identifier: str,
1877
1998
  entity_id: str | None = None,
1878
- **kwargs,
1879
1999
  ) -> Secret:
1880
2000
  """
1881
2001
  Get object from backend.
@@ -1886,8 +2006,6 @@ class Project(Entity):
1886
2006
  Entity key (store://...) or entity name.
1887
2007
  entity_id : str
1888
2008
  Entity ID.
1889
- **kwargs : dict
1890
- Parameters to pass to the API call.
1891
2009
 
1892
2010
  Returns
1893
2011
  -------
@@ -1907,7 +2025,6 @@ class Project(Entity):
1907
2025
  identifier=identifier,
1908
2026
  project=self.name,
1909
2027
  entity_id=entity_id,
1910
- **kwargs,
1911
2028
  )
1912
2029
  self.refresh()
1913
2030
  return obj
@@ -1915,7 +2032,6 @@ class Project(Entity):
1915
2032
  def get_secret_versions(
1916
2033
  self,
1917
2034
  identifier: str,
1918
- **kwargs,
1919
2035
  ) -> list[Secret]:
1920
2036
  """
1921
2037
  Get object versions from backend.
@@ -1924,8 +2040,6 @@ class Project(Entity):
1924
2040
  ----------
1925
2041
  identifier : str
1926
2042
  Entity key (store://...) or entity name.
1927
- **kwargs : dict
1928
- Parameters to pass to the API call.
1929
2043
 
1930
2044
  Returns
1931
2045
  -------
@@ -1940,9 +2054,9 @@ class Project(Entity):
1940
2054
  Using entity name:
1941
2055
  >>> obj = project.get_secret_versions("my-secret-name")
1942
2056
  """
1943
- return get_secret_versions(identifier, project=self.name, **kwargs)
2057
+ return get_secret_versions(identifier, project=self.name)
1944
2058
 
1945
- def list_secrets(self, **kwargs) -> list[Secret]:
2059
+ def list_secrets(self) -> list[Secret]:
1946
2060
  """
1947
2061
  List all latest version objects from backend.
1948
2062
 
@@ -1960,7 +2074,7 @@ class Project(Entity):
1960
2074
  --------
1961
2075
  >>> objs = project.list_secrets()
1962
2076
  """
1963
- return list_secrets(self.name, **kwargs)
2077
+ return list_secrets(self.name)
1964
2078
 
1965
2079
  def import_secret(
1966
2080
  self,
@@ -2018,7 +2132,6 @@ class Project(Entity):
2018
2132
  identifier: str,
2019
2133
  entity_id: str | None = None,
2020
2134
  delete_all_versions: bool = False,
2021
- **kwargs,
2022
2135
  ) -> None:
2023
2136
  """
2024
2137
  Delete object from backend.
@@ -2031,8 +2144,6 @@ class Project(Entity):
2031
2144
  Entity ID.
2032
2145
  delete_all_versions : bool
2033
2146
  Delete all versions of the named entity. If True, use entity name instead of entity key as identifier.
2034
- **kwargs : dict
2035
- Parameters to pass to the API call.
2036
2147
 
2037
2148
  Returns
2038
2149
  -------
@@ -2053,7 +2164,6 @@ class Project(Entity):
2053
2164
  project=self.name,
2054
2165
  entity_id=entity_id,
2055
2166
  delete_all_versions=delete_all_versions,
2056
- **kwargs,
2057
2167
  )
2058
2168
  self.refresh()
2059
2169
 
@@ -2064,7 +2174,6 @@ class Project(Entity):
2064
2174
  def get_run(
2065
2175
  self,
2066
2176
  identifier: str,
2067
- **kwargs,
2068
2177
  ) -> Run:
2069
2178
  """
2070
2179
  Get object from backend.
@@ -2073,8 +2182,6 @@ class Project(Entity):
2073
2182
  ----------
2074
2183
  identifier : str
2075
2184
  Entity key (store://...) or entity ID.
2076
- **kwargs : dict
2077
- Parameters to pass to the API call.
2078
2185
 
2079
2186
  Returns
2080
2187
  -------
@@ -2092,19 +2199,51 @@ class Project(Entity):
2092
2199
  obj = get_run(
2093
2200
  identifier=identifier,
2094
2201
  project=self.name,
2095
- **kwargs,
2096
2202
  )
2097
2203
  self.refresh()
2098
2204
  return obj
2099
2205
 
2100
- def list_runs(self, **kwargs) -> list[Run]:
2206
+ def list_runs(
2207
+ self,
2208
+ q: str | None = None,
2209
+ name: str | None = None,
2210
+ kind: str | None = None,
2211
+ user: str | None = None,
2212
+ state: str | None = None,
2213
+ created: str | None = None,
2214
+ updated: str | None = None,
2215
+ function: str | None = None,
2216
+ workflow: str | None = None,
2217
+ task: str | None = None,
2218
+ action: str | None = None,
2219
+ ) -> list[Run]:
2101
2220
  """
2102
2221
  List all latest objects from backend.
2103
2222
 
2104
2223
  Parameters
2105
2224
  ----------
2106
- **kwargs : dict
2107
- Parameters to pass to the API call.
2225
+ q : str
2226
+ Query string to filter objects.
2227
+ name : str
2228
+ Object name.
2229
+ kind : str
2230
+ Kind of the object.
2231
+ user : str
2232
+ User that created the object.
2233
+ state : str
2234
+ Object state.
2235
+ created : str
2236
+ Creation date filter.
2237
+ updated : str
2238
+ Update date filter.
2239
+ function : str
2240
+ Function key filter.
2241
+ workflow : str
2242
+ Workflow key filter.
2243
+ task : str
2244
+ Task string filter.
2245
+ action : str
2246
+ Action name filter.
2108
2247
 
2109
2248
  Returns
2110
2249
  -------
@@ -2115,7 +2254,20 @@ class Project(Entity):
2115
2254
  --------
2116
2255
  >>> objs = project.list_runs()
2117
2256
  """
2118
- return list_runs(self.name, **kwargs)
2257
+ return list_runs(
2258
+ self.name,
2259
+ q=q,
2260
+ name=name,
2261
+ kind=kind,
2262
+ user=user,
2263
+ state=state,
2264
+ created=created,
2265
+ updated=updated,
2266
+ function=function,
2267
+ workflow=workflow,
2268
+ task=task,
2269
+ action=action,
2270
+ )
2119
2271
 
2120
2272
  def delete_run(
2121
2273
  self,
@@ -2200,7 +2352,6 @@ class Project(Entity):
2200
2352
  entity_name=self.name,
2201
2353
  user=user,
2202
2354
  unshare=False,
2203
- local=self._client.is_local(),
2204
2355
  )
2205
2356
 
2206
2357
  def unshare(self, user: str) -> None:
@@ -2220,5 +2371,4 @@ class Project(Entity):
2220
2371
  entity_name=self.name,
2221
2372
  user=user,
2222
2373
  unshare=True,
2223
- local=self._client.is_local(),
2224
2374
  )