@@ -167,7 +167,7 @@ def list_models(self) -> List[Model]:
167
167
Lists available models in your repo.
168
168
:return: model_ids
169
169
"""
170
- model_objects = self ._make_request ({}, "models/" , requests .get )
170
+ model_objects = self .make_request ({}, "models/" , requests .get )
171
171
172
172
return [
173
173
Model (
@@ -185,14 +185,14 @@ def list_datasets(self) -> Dict[str, Union[str, List[str]]]:
185
185
Lists available datasets in your repo.
186
186
:return: { datasets_ids }
187
187
"""
188
- return self ._make_request ({}, "dataset/" , requests .get )
188
+ return self .make_request ({}, "dataset/" , requests .get )
189
189
190
190
def get_dataset_items (self , dataset_id ) -> List [DatasetItem ]:
191
191
"""
192
192
Gets all the dataset items inside your repo as a json blob.
193
193
:return [ DatasetItem ]
194
194
"""
195
- response = self ._make_request (
195
+ response = self .make_request (
196
196
{}, f"dataset/{ dataset_id } /datasetItems" , requests .get
197
197
)
198
198
dataset_items = response .get ("dataset_items" , None )
@@ -235,7 +235,7 @@ def delete_model_run(self, model_run_id: str):
235
235
:param model_run_id: internally controlled model_run_id
236
236
:return: model_run
237
237
"""
238
- return self ._make_request (
238
+ return self .make_request (
239
239
{}, f"modelRun/{ model_run_id } " , requests .delete
240
240
)
241
241
@@ -254,7 +254,7 @@ def create_dataset_from_project(
254
254
payload ["last_n_tasks" ] = str (last_n_tasks )
255
255
if name :
256
256
payload ["name" ] = name
257
- response = self ._make_request (payload , "dataset/create_from_project" )
257
+ response = self .make_request (payload , "dataset/create_from_project" )
258
258
return Dataset (response [DATASET_ID_KEY ], self )
259
259
260
260
def create_dataset (
@@ -271,7 +271,7 @@ def create_dataset(
271
271
:param annotation_metadata_schema -- optional dictionary to define annotation metadata schema
272
272
:return: new Dataset object
273
273
"""
274
- response = self ._make_request (
274
+ response = self .make_request (
275
275
{
276
276
NAME_KEY : name ,
277
277
ANNOTATION_METADATA_SCHEMA_KEY : annotation_metadata_schema ,
@@ -289,7 +289,7 @@ def delete_dataset(self, dataset_id: str) -> dict:
289
289
:param payload: { "name": str }
290
290
:return: { "dataset_id": str, "name": str }
291
291
"""
292
- return self ._make_request ({}, f"dataset/{ dataset_id } " , requests .delete )
292
+ return self .make_request ({}, f"dataset/{ dataset_id } " , requests .delete )
293
293
294
294
def delete_dataset_item (
295
295
self , dataset_id : str , item_id : str = None , reference_id : str = None
@@ -302,11 +302,11 @@ def delete_dataset_item(
302
302
:return: { "dataset_id": str, "name": str }
303
303
"""
304
304
if item_id :
305
- return self ._make_request (
305
+ return self .make_request (
306
306
{}, f"dataset/{ dataset_id } /{ item_id } " , requests .delete
307
307
)
308
308
else : # Assume reference_id is provided
309
- return self ._make_request (
309
+ return self .make_request (
310
310
{},
311
311
f"dataset/{ dataset_id } /refloc/{ reference_id } " ,
312
312
requests .delete ,
@@ -566,7 +566,7 @@ def annotate_dataset(
566
566
with self .tqdm_bar (total = total_batches ) as pbar :
567
567
for batch in tqdm_batches :
568
568
payload = construct_annotation_payload (batch , update )
569
- response = self ._make_request (
569
+ response = self .make_request (
570
570
payload , f"dataset/{ dataset_id } /annotate"
571
571
)
572
572
pbar .update (1 )
@@ -582,7 +582,7 @@ def annotate_dataset(
582
582
583
583
for s_batch in semseg_batches :
584
584
payload = construct_segmentation_payload (s_batch , update )
585
- response = self ._make_request (
585
+ response = self .make_request (
586
586
payload , f"dataset/{ dataset_id } /annotate_segmentation"
587
587
)
588
588
pbar .update (1 )
@@ -607,9 +607,7 @@ def ingest_tasks(self, dataset_id: str, payload: dict):
607
607
:param dataset_id: id of the dataset
608
608
:return: {"ingested_tasks": int, "ignored_tasks": int, "pending_tasks": int}
609
609
"""
610
- return self ._make_request (
611
- payload , f"dataset/{ dataset_id } /ingest_tasks"
612
- )
610
+ return self .make_request (payload , f"dataset/{ dataset_id } /ingest_tasks" )
613
611
614
612
def add_model (
615
613
self , name : str , reference_id : str , metadata : Optional [Dict ] = None
@@ -624,7 +622,7 @@ def add_model(
624
622
:param metadata: An optional arbitrary metadata blob for the model.
625
623
:return: { "model_id": str }
626
624
"""
627
- response = self ._make_request (
625
+ response = self .make_request (
628
626
construct_model_creation_payload (name , reference_id , metadata ),
629
627
"models/add" ,
630
628
)
@@ -659,7 +657,7 @@ def create_model_run(self, dataset_id: str, payload: dict) -> ModelRun:
659
657
}
660
658
:return: new ModelRun object
661
659
"""
662
- response = self ._make_request (
660
+ response = self .make_request (
663
661
payload , f"dataset/{ dataset_id } /modelRun/create"
664
662
)
665
663
if response .get (STATUS_CODE_KEY , None ):
@@ -723,7 +721,7 @@ def predict(
723
721
batch ,
724
722
update ,
725
723
)
726
- response = self ._make_request (
724
+ response = self .make_request (
727
725
batch_payload , f"modelRun/{ model_run_id } /predict"
728
726
)
729
727
if STATUS_CODE_KEY in response :
@@ -738,7 +736,7 @@ def predict(
738
736
739
737
for s_batch in s_batches :
740
738
payload = construct_segmentation_payload (s_batch , update )
741
- response = self ._make_request (
739
+ response = self .make_request (
742
740
payload , f"modelRun/{ model_run_id } /predict_segmentation"
743
741
)
744
742
# pbar.update(1)
@@ -783,7 +781,7 @@ def commit_model_run(
783
781
"""
784
782
if payload is None :
785
783
payload = {}
786
- return self ._make_request (payload , f"modelRun/{ model_run_id } /commit" )
784
+ return self .make_request (payload , f"modelRun/{ model_run_id } /commit" )
787
785
788
786
def dataset_info (self , dataset_id : str ):
789
787
"""
@@ -797,7 +795,7 @@ def dataset_info(self, dataset_id: str):
797
795
'slice_ids': List[str]
798
796
}
799
797
"""
800
- return self ._make_request (
798
+ return self .make_request (
801
799
{}, f"dataset/{ dataset_id } /info" , requests .get
802
800
)
803
801
@@ -816,7 +814,7 @@ def model_run_info(self, model_run_id: str):
816
814
"metadata": Dict[str, Any],
817
815
}
818
816
"""
819
- return self ._make_request (
817
+ return self .make_request (
820
818
{}, f"modelRun/{ model_run_id } /info" , requests .get
821
819
)
822
820
@@ -826,7 +824,7 @@ def dataitem_ref_id(self, dataset_id: str, reference_id: str):
826
824
:param reference_id: reference_id of a dataset_item
827
825
:return:
828
826
"""
829
- return self ._make_request (
827
+ return self .make_request (
830
828
{}, f"dataset/{ dataset_id } /refloc/{ reference_id } " , requests .get
831
829
)
832
830
@@ -840,7 +838,7 @@ def predictions_ref_id(self, model_run_id: str, ref_id: str):
840
838
"annotations": List[BoxPrediction],
841
839
}
842
840
"""
843
- return self ._make_request (
841
+ return self .make_request (
844
842
{}, f"modelRun/{ model_run_id } /refloc/{ ref_id } " , requests .get
845
843
)
846
844
@@ -851,7 +849,7 @@ def dataitem_iloc(self, dataset_id: str, i: int):
851
849
:param i: absolute number of the dataset_item
852
850
:return:
853
851
"""
854
- return self ._make_request (
852
+ return self .make_request (
855
853
{}, f"dataset/{ dataset_id } /iloc/{ i } " , requests .get
856
854
)
857
855
@@ -865,7 +863,7 @@ def predictions_iloc(self, model_run_id: str, i: int):
865
863
"annotations": List[BoxPrediction],
866
864
}
867
865
"""
868
- return self ._make_request (
866
+ return self .make_request (
869
867
{}, f"modelRun/{ model_run_id } /iloc/{ i } " , requests .get
870
868
)
871
869
@@ -880,7 +878,7 @@ def dataitem_loc(self, dataset_id: str, dataset_item_id: str):
880
878
"annotations": List[Box2DAnnotation],
881
879
}
882
880
"""
883
- return self ._make_request (
881
+ return self .make_request (
884
882
{}, f"dataset/{ dataset_id } /loc/{ dataset_item_id } " , requests .get
885
883
)
886
884
@@ -894,7 +892,7 @@ def predictions_loc(self, model_run_id: str, dataset_item_id: str):
894
892
"annotations": List[BoxPrediction],
895
893
}
896
894
"""
897
- return self ._make_request (
895
+ return self .make_request (
898
896
{}, f"modelRun/{ model_run_id } /loc/{ dataset_item_id } " , requests .get
899
897
)
900
898
@@ -920,7 +918,7 @@ def create_slice(self, dataset_id: str, payload: dict) -> Slice:
920
918
}
921
919
:return: new Slice object
922
920
"""
923
- response = self ._make_request (
921
+ response = self .make_request (
924
922
payload , f"dataset/{ dataset_id } /create_slice"
925
923
)
926
924
return Slice (response [SLICE_ID_KEY ], self )
@@ -951,7 +949,7 @@ def slice_info(self, slice_id: str) -> dict:
951
949
"dataset_item_ids": List[str],
952
950
}
953
951
"""
954
- response = self ._make_request (
952
+ response = self .make_request (
955
953
{},
956
954
f"slice/{ slice_id } " ,
957
955
requests_command = requests .get ,
@@ -968,7 +966,7 @@ def delete_slice(self, slice_id: str) -> dict:
968
966
:return:
969
967
{}
970
968
"""
971
- response = self ._make_request (
969
+ response = self .make_request (
972
970
{},
973
971
f"slice/{ slice_id } " ,
974
972
requests_command = requests .delete ,
@@ -1006,9 +1004,7 @@ def append_to_slice(
1006
1004
if reference_ids :
1007
1005
ids_to_append [REFERENCE_IDS_KEY ] = reference_ids
1008
1006
1009
- response = self ._make_request (
1010
- ids_to_append , f"slice/{ slice_id } /append"
1011
- )
1007
+ response = self .make_request (ids_to_append , f"slice/{ slice_id } /append" )
1012
1008
return response
1013
1009
1014
1010
def list_autotags (self , dataset_id : str ) -> List [str ]:
@@ -1017,7 +1013,7 @@ def list_autotags(self, dataset_id: str) -> List[str]:
1017
1013
:param dataset_id: internally controlled dataset_id
1018
1014
:return: List[str] representing autotag_ids
1019
1015
"""
1020
- response = self ._make_request (
1016
+ response = self .make_request (
1021
1017
{},
1022
1018
f"{ dataset_id } /list_autotags" ,
1023
1019
requests_command = requests .get ,
@@ -1035,29 +1031,29 @@ def delete_model(self, model_id: str) -> dict:
1035
1031
:return:
1036
1032
{}
1037
1033
"""
1038
- response = self ._make_request (
1034
+ response = self .make_request (
1039
1035
{},
1040
1036
f"model/{ model_id } " ,
1041
1037
requests_command = requests .delete ,
1042
1038
)
1043
1039
return response
1044
1040
1045
1041
def create_custom_index (self , dataset_id : str , embeddings_url : str ):
1046
- return self ._make_request (
1042
+ return self .make_request (
1047
1043
{EMBEDDINGS_URL_KEY : embeddings_url },
1048
1044
f"indexing/{ dataset_id } " ,
1049
1045
requests_command = requests .post ,
1050
1046
)
1051
1047
1052
1048
def check_index_status (self , job_id : str ):
1053
- return self ._make_request (
1049
+ return self .make_request (
1054
1050
{},
1055
1051
f"indexing/{ job_id } " ,
1056
1052
requests_command = requests .get ,
1057
1053
)
1058
1054
1059
1055
def delete_custom_index (self , dataset_id : str ):
1060
- return self ._make_request (
1056
+ return self .make_request (
1061
1057
{},
1062
1058
f"indexing/{ dataset_id } " ,
1063
1059
requests_command = requests .delete ,
@@ -1132,7 +1128,7 @@ def _make_request_raw(
1132
1128
1133
1129
return response
1134
1130
1135
- def _make_request (
1131
+ def make_request (
1136
1132
self , payload : dict , route : str , requests_command = requests .post
1137
1133
) -> dict :
1138
1134
"""
@@ -1149,6 +1145,7 @@ def _make_request(
1149
1145
if getattr (response , "status_code" ) not in SUCCESS_STATUS_CODES :
1150
1146
logger .warning (response )
1151
1147
1152
- return (
1153
- response .json ()
1154
- ) # TODO: this line fails if response has code == 404
1148
+ if response .status_code == 404 :
1149
+ raise response .raise_for_status ()
1150
+
1151
+ return response .json ()
0 commit comments