Python API and Recipe engine In-database(SQL)

PaulBavaz
Level 1
Python API and Recipe engine In-database(SQL)

Hi,

Is there a way to check with the Python API if a processor in a Prepare recipe is compatible (or not) with a "In-database" engine.

Attached: the information I would like to get, but in the UI.

Thanks,

Paul

0 Kudos
1 Reply
SarinaS
Dataiker

Hi @PaulBavaz,

There isn't a way to pull if a specific prepare recipe processor is compatible with the "in-database" engine in the same way that get_engines_details() can provide engine compatibility information at the recipe-level.   

For an existing prepare recipe, get_selected_engine_details() will return a statusMessage field that will return a single error message if the prepare recipe has one: 

 

recipe = project.get_recipe('recipe_name')
status = recipe.get_status()
status.get_selected_engine_details()['statusMessage']

 

Screen Shot 2021-07-20 at 11.45.59 AM.png

However, if multiple processors within a prepare recipe are returning an error, there isn't a way to pull each processor and the corresponding error message. In the example above, note that multiple processors are "Not translatable to SQL", but you will only get one message returned:

Screen Shot 2021-07-20 at 11.47.15 AM.png

So, it might makes the most sense to refer to the list of in-database fully supported processors and partially supported processors, and even hardcode these if that worked for your use case. 

Let me know if you have any further questions about this. 

Thanks,
Sarina

0 Kudos