
      i	              
           d dl Z d dlmZ d dlmZmZ d dlmZ d dlm	Z	m
Z
 d dlmZ d dlmZ  e j                  e      Zded	ee	   fd
Zde	dededee   d	df
dZy)    N)entry_points)
getmembersisclass)
ModuleType)AnyUnion)is_overridden)_PYTHON_GREATER_EQUAL_3_10_0groupreturnc                 |   t         rt        |       nt               j                  | i       }g }|D ]  }|j                         } |       }t	        |t
              s|gn|}|rGt        j                  dt        |       d|j                   ddj                  d |D                      |j                  |        |S )a0  Collect external callbacks registered through entry points.

    The entry points are expected to be functions returning a list of callbacks.

    Args:
        group: The entry point group name to load callbacks from.

    Return:
        A list of all callbacks collected from external factories.

    )r   zAdding z callbacks from entry point 'z': z, c              3   F   K   | ]  }t        |      j                    y wN)type__name__).0cbs     x/Volumes/fast/ai/experiments/voice-extract-mac/.venv/lib/python3.12/site-packages/lightning_fabric/utilities/registry.py	<genexpr>z+_load_external_callbacks.<locals>.<genexpr>3   s     I.Bd2h//.s   !)r
   r   getload
isinstancelist_loginfolennamejoinextend)r   	factoriesexternal_callbacksfactorycallback_factorycallbacks_lists         r   _load_external_callbacksr%      s     &B5!|~GYGYZ_acGd  %'"<<>0@0B1;ND1Q.)WeII#n-..KGLL> ZIII.IIJL 	!!.1      registrymethodmoduleparentc                     t        |t              D ]4  \  }}t        ||      st        |||      s!t	        ||      } ||        6 y r   )r   r   
issubclassr	   getattr)r'   r(   r)   r*   _memberregister_fns          r   _register_classesr1   9   s@    0	6ff%-*O!&&1K! 1r&   )loggingimportlib.metadatar   inspectr   r   typesr   typingr   r   lightning_utilitiesr	   "lightning_fabric.utilities.importsr
   	getLoggerr   r   strr   r%   r   objectr1    r&   r   <module>r=      ss     + '   - Kw"C DI <" "S "* "dSYl "_c "r&   