15
15
class Jobs :
16
16
"""The `Jobs` object.
17
17
18
- This object is used to retreive information about jobs from the API.
18
+ This object is used to retrieve information about jobs from the API.
19
19
20
20
Note:
21
21
This class should not be instantiated directly but rather accessed through the `jobs`
@@ -68,8 +68,8 @@ def get_history(self, user=None, access_key=None, start_date=None, end_date=None
68
68
Args:
69
69
user (Optional[str]): Name of the job submitter
70
70
access_key (Optional[str]): Identifier of the access key to be assigned to the user
71
- start_date (Optional[datetime, str]): initial date to filter recods
72
- end_date (Optional[datetime, str]): final date to filter recods
71
+ start_date (Optional[datetime, str]): initial date to filter records
72
+ end_date (Optional[datetime, str]): final date to filter records
73
73
model (Optional[str]): Model name or version identifier
74
74
status (Optional[str]): Status of the jobs (all, pending, terminated)
75
75
sort_by (Optional[str]): attribute name to sort results
@@ -183,13 +183,14 @@ def block_until_complete(self, job, timeout=60, poll_interval=5):
183
183
raise Timeout ('timed out before completion' )
184
184
# TODO: should probably ramp up poll_interval as wait time increases
185
185
186
- def submit_text (self , model , version , source , source_name = 'job' ):
186
+ def submit_text (self , model , version , source , explain = False , source_name = 'job' ):
187
187
"""Submits text data for a single source `Job`.
188
188
189
189
Args:
190
190
model (Union[str, Model]): The model identifier or a `Model` instance.
191
191
version (str): The model version string.
192
192
source (dict): A mapping of model input filename to text string.
193
+ explain (bool): indicates if you desire an explainable result for your model.`
193
194
source_name (Optional[str]): The source name. Defaults to 'job'.
194
195
195
196
Returns:
@@ -209,16 +210,17 @@ def submit_text(self, model, version, source, source_name='job'):
209
210
})
210
211
"""
211
212
sources = {source_name : source }
212
- return self .submit_text_bulk (model , version , sources )
213
+ return self .submit_text_bulk (model , version , sources , explain )
213
214
214
- def submit_text_bulk (self , model , version , sources ):
215
+ def submit_text_bulk (self , model , version , sources , explain = False ):
215
216
"""Submits text data for a multiple source `Job`.
216
217
217
218
Args:
218
219
model (Union[str, Model]): The model identifier or a `Model` instance.
219
220
version (str): The model version string.
220
221
sources (dict): A mapping of source names to text sources. Each source should be a
221
222
mapping of model input filename to text string.
223
+ explain (bool): indicates if you desire an explainable result for your model.`
222
224
223
225
Returns:
224
226
Job: The submitted `Job` instance.
@@ -251,6 +253,7 @@ def submit_text_bulk(self, model, version, sources):
251
253
"identifier" : identifier ,
252
254
"version" : version
253
255
},
256
+ "explain" : explain ,
254
257
"input" : {
255
258
"type" : "text" ,
256
259
"sources" : sources
@@ -260,13 +263,14 @@ def submit_text_bulk(self, model, version, sources):
260
263
response = self ._api_client .http .post (self ._base_route , body )
261
264
return Job (response , self ._api_client )
262
265
263
- def submit_bytes (self , model , version , source , source_name = 'job' ):
266
+ def submit_bytes (self , model , version , source , explain = False , source_name = 'job' ):
264
267
"""Submits bytes-like data for a single source `Job`.
265
268
266
269
Args:
267
270
model (Union[str, Model]): The model identifier or a `Model` instance.
268
271
version (str): The model version string.
269
272
source (dict): A mapping of model input filename to bytes-like object.
273
+ explain (bool): indicates if you desire an explainable result for your model.`
270
274
source_name (Optional[str]): The source name. Defaults to 'job'.
271
275
272
276
Returns:
@@ -286,16 +290,17 @@ def submit_bytes(self, model, version, source, source_name='job'):
286
290
})
287
291
"""
288
292
sources = {source_name : source }
289
- return self .submit_bytes_bulk (model , version , sources )
293
+ return self .submit_bytes_bulk (model , version , sources , explain )
290
294
291
- def submit_bytes_bulk (self , model , version , sources ):
295
+ def submit_bytes_bulk (self , model , version , sources , explain = False ):
292
296
"""Submits bytes-like data for a multiple source `Job`.
293
297
294
298
Args:
295
299
model (Union[str, Model]): The model identifier or a `Model` instance.
296
300
version (str): The model version string.
297
301
sources (dict): A mapping of source names to text sources. Each source should be a
298
302
mapping of model input filename to bytes-like object.
303
+ explain (bool): indicates if you desire an explainable result for your model.`
299
304
300
305
Returns:
301
306
Job: The submitted `Job` instance.
@@ -334,6 +339,7 @@ def submit_bytes_bulk(self, model, version, sources):
334
339
"identifier" : identifier ,
335
340
"version" : version
336
341
},
342
+ "explain" : explain ,
337
343
"input" : {
338
344
"type" : "embedded" ,
339
345
"sources" : sources
@@ -343,13 +349,14 @@ def submit_bytes_bulk(self, model, version, sources):
343
349
response = self ._api_client .http .post (self ._base_route , body )
344
350
return Job (response , self ._api_client )
345
351
346
- def submit_files (self , model , version , source , source_name = 'job' ):
352
+ def submit_files (self , model , version , source , explain = False , source_name = 'job' ):
347
353
"""Submits filepath or file-like data for a single source `Job`.
348
354
349
355
Args:
350
356
model (Union[str, Model]): The model identifier or a `Model` instance.
351
357
version (str): The model version string.
352
358
source (dict): A mapping of model input filename to filepath or file-like object.
359
+ explain (bool): indicates if you desire an explainable result for your model.`
353
360
source_name (Optional[str]): The source name. Defaults to 'job'.
354
361
355
362
Returns:
@@ -371,16 +378,17 @@ def submit_files(self, model, version, source, source_name='job'):
371
378
})
372
379
"""
373
380
sources = {source_name : source }
374
- return self .submit_files_bulk (model , version , sources )
381
+ return self .submit_files_bulk (model , version , sources , explain )
375
382
376
- def submit_files_bulk (self , model , version , sources ):
383
+ def submit_files_bulk (self , model , version , sources , explain = False ):
377
384
"""Submits filepath or file-like data data for a multiple source `Job`.
378
385
379
386
Args:
380
387
model (Union[str, Model]): The model identifier or a `Model` instance.
381
388
version (str): The model version string.
382
389
sources (dict): A mapping of source names to text sources. Each source should be a
383
390
mapping of model input filename to filepath or file-like object.
391
+ explain (bool): indicates if you desire an explainable result for your model.`
384
392
385
393
Returns:
386
394
Job: The submitted `Job` instance.
@@ -411,9 +419,9 @@ def submit_files_bulk(self, model, version, sources):
411
419
}
412
420
for source , inputs in sources .items ()
413
421
}
414
- return self .submit_bytes_bulk (model , version , sources )
422
+ return self .submit_bytes_bulk (model , version , sources , explain )
415
423
416
- def submit_aws_s3 (self , model , version , source , access_key_id , secret_access_key , region , source_name = 'job' ):
424
+ def submit_aws_s3 (self , model , version , source , access_key_id , secret_access_key , region , explain = False , source_name = 'job' ):
417
425
"""Submits AwS S3 hosted data for a single source `Job`.
418
426
419
427
Args:
@@ -423,6 +431,7 @@ def submit_aws_s3(self, model, version, source, access_key_id, secret_access_key
423
431
access_key_id (str): The AWS Access Key ID.
424
432
secret_access_key (str): The AWS Secret Access Key.
425
433
region (str): The AWS Region.
434
+ explain (bool): indicates if you desire an explainable result for your model.`
426
435
source_name (Optional[str]): The source name. Defaults to 'job'.
427
436
428
437
Returns:
@@ -452,9 +461,9 @@ def submit_aws_s3(self, model, version, source, access_key_id, secret_access_key
452
461
)
453
462
"""
454
463
sources = {source_name : source }
455
- return self .submit_aws_s3_bulk (model , version , sources , access_key_id , secret_access_key , region )
464
+ return self .submit_aws_s3_bulk (model , version , sources , access_key_id , secret_access_key , region , explain )
456
465
457
- def submit_aws_s3_bulk (self , model , version , sources , access_key_id , secret_access_key , region ):
466
+ def submit_aws_s3_bulk (self , model , version , sources , access_key_id , secret_access_key , region , explain = False ):
458
467
"""Submits AwS S3 hosted data for a multiple source `Job`.
459
468
460
469
Args:
@@ -465,6 +474,7 @@ def submit_aws_s3_bulk(self, model, version, sources, access_key_id, secret_acce
465
474
access_key_id (str): The AWS Access Key ID.
466
475
secret_access_key (str): The AWS Secret Access Key.
467
476
region (str): The AWS Region.
477
+ explain (bool): indicates if you desire an explainable result for your model.`
468
478
469
479
Returns:
470
480
Job: The submitted `Job` instance.
@@ -515,6 +525,7 @@ def submit_aws_s3_bulk(self, model, version, sources, access_key_id, secret_acce
515
525
"identifier" : identifier ,
516
526
"version" : version
517
527
},
528
+ "explain" : explain ,
518
529
"input" : {
519
530
"type" : "aws-s3" ,
520
531
"accessKeyID" : access_key_id ,
@@ -527,7 +538,7 @@ def submit_aws_s3_bulk(self, model, version, sources, access_key_id, secret_acce
527
538
response = self ._api_client .http .post (self ._base_route , body )
528
539
return Job (response , self ._api_client )
529
540
530
- def submit_jdbc (self , model , version , url , username , password , driver , query ):
541
+ def submit_jdbc (self , model , version , url , username , password , driver , query , explain = False ):
531
542
"""Submits jdbc query as input for a `Job`, each row is interpreted as a input.
532
543
Modzy will create a data source with the parameters provided and will execute
533
544
the query provided, then will match the inputs defined of the model with the columns
@@ -541,6 +552,7 @@ def submit_jdbc(self, model, version, url, username, password, driver, query):
541
552
password (str): the password to access the database
542
553
driver (str): full driver class name
543
554
query (str): the query to execute
555
+ explain (bool): indicates if you desire an explainable result for your model.`
544
556
545
557
Returns:
546
558
Job: The submitted `Job` instance.
@@ -577,6 +589,7 @@ def submit_jdbc(self, model, version, url, username, password, driver, query):
577
589
"identifier" : identifier ,
578
590
"version" : version
579
591
},
592
+ "explain" : explain ,
580
593
"input" : {
581
594
"type" : "jdbc" ,
582
595
"url" : url ,
0 commit comments