
    i6                     R    S r SSKJrJr  SSKJrJrJr  SSKJ	r	J
r
   " S S\5      rg)	z
Recipe registry for managing backend recipe providers.

This module provides the registry system for backend recipe providers and
the abstract interface that all backends must implement.
    )ABCabstractmethod)AnyOptionalSequence   )ExportRecipe
RecipeTypec                       \ rS rSrSr\\S\4S j5       5       r\S\	\
   4S j5       r\S\
S\S\\   4S j5       rS\
S\4S	 jrS
rg)BackendRecipeProvider   z;
Abstract recipe provider that all backends must implement
returnc                     g)z0
Name of the backend (ex: 'xnnpack', 'qnn' etc)
N selfs    `/var/www/html/ai-image-ml/venv/lib/python3.13/site-packages/executorch/export/recipe_provider.pybackend_name"BackendRecipeProvider.backend_name   s     	    c                     g)z 
Get list of supported recipes.
Nr   r   s    r   get_supported_recipes+BackendRecipeProvider.get_supported_recipes#   s    
 	r   recipe_typekwargsc                     g)a	  
Create a recipe for the given type.
Returns None if the recipe is not supported by this backend.

Args:
    recipe_type: The type of recipe to create
    **kwargs: Recipe-specific parameters (ex: group_size)

Returns:
    ExportRecipe if supported, None otherwise
Nr   )r   r   r   s      r   create_recipe#BackendRecipeProvider.create_recipe*   s     	r   c                 &    XR                  5       ;   $ )N)r   )r   r   s     r   supports_recipe%BackendRecipeProvider.supports_recipe;   s    88:::r   r   N)__name__
__module____qualname____firstlineno____doc__propertyr   strr   r   r
   r   r   r   r	   r   boolr    __static_attributes__r   r   r   r   r      s     c    x
';   %14	,	  ;: ;$ ;r   r   N)r&   abcr   r   typingr   r   r   reciper	   r
   r   r   r   r   <module>r.      s$    $ * * ,&;C &;r   