
    3i                     2    d Z ddlZddlmZ dee   ddfdZy)zDependency checking utilities for AI features in MySQL Connector/Python.

Provides check_dependencies() to assert required optional packages are present
with acceptable minimum versions at runtime.
    N)Listtasksreturnc                    t        |       }|j                  d       dgg ddgd}g }|D ]  }|j                  ||           t        |      }g }|D ]D  \  }}	 t        j                  j                  |      }	|	|k  }
|
s.|j                  | d| d       F |r t        d	d
j                  |      z   dz         y# t        j                  j                  $ r d}
Y `w xY w)a	  
    Check required runtime dependencies and minimum versions; raise an error
    if any are missing or version-incompatible.

    This verifies the presence and minimum version of essential Python packages.
    Missing or insufficient versions cause an ImportError listing the packages
    and a suggested install command.

    Args:
        tasks (List[str]): Task types to check requirements for.

    Raises:
        ImportError: If any required dependencies are missing or below the
            minimum version.
    BASE)pandasz1.5.0))	langchain0.1.11)langchain_corer
   )pydanticz1.10.0)zscikit-learnz1.3.0)r   GENAIMLTz vz (or later)zPlease install z, .N)
setaddextend	importlibmetadataversionPackageNotFoundErrorappendImportErrorjoin)r   task_settask_to_requirementrequirementstaskrequirements_setproblemsnamemin_versioninstalled_versionerrors              @D:\jyotish\venv\Lib\site-packages\mysql/ai/utils/dependencies.pycheck_dependenciesr%   (   s     5zHLL %%

 )) L/56 <(H-k	 ) 2 2 : :4 @
 &3E OOtfB{m;?@ . +dii.AACGHH 	 !!66 	E	s   $B==CC)__doc__importlib.metadatar   typingr   strr%        r$   <module>r,      s,   :  0Id3i 0ID 0Ir+   