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']
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:
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.