o
    U|%i                     @   s2   d Z ddlZddlmZ dee ddfddZdS )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              	   C   s   t | }|d dgg ddgd}g }|D ]	}|||  qt |}g }|D ]+\}}ztj|}	|	|k }
W n tjjyF   d}
Y nw |
rT|| d| d q)|rbtd	d
	| d dS )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error r"   X/home/air/sos_test/back/venv/lib/python3.10/site-packages/mysql/ai/utils/dependencies.pycheck_dependencies(   s0   
	r$   )__doc__importlib.metadatar   typingr   strr$   r"   r"   r"   r#   <module>   s   