o
    BZh                     @  s*   d Z ddlmZ ddlmZ ddd	Zd
S )z:
A simple utility to import something by its string name.
    )annotations)Anynamestrreturnr   c              
   C  s   t | tstdt|  | dd}t|dkr@|\}}t||gd}zt||}W |S  ty? } zt	d| |d}~ww t|d S )	a  Import and return ``bar`` given the string ``foo.bar``.

    Calling ``bar = import_item("foo.bar")`` is the functional equivalent of
    executing the code ``from foo import bar``.

    Parameters
    ----------
    name : string
        The fully qualified name of the module/package being imported.

    Returns
    -------
    mod : module object
        The module that was imported.
    z&import_item accepts strings, not '%s'..      )fromlistzNo module named %sNr   )

isinstancer   	TypeErrortypersplitlen
__import__getattrAttributeErrorImportError)r   partspackageobjmoduleZpake r   S/var/www/html/lang_env/lib/python3.10/site-packages/traitlets/utils/importstring.pyimport_item   s   
r   N)r   r   r   r   )__doc__
__future__r   typingr   r   r   r   r   r   <module>   s    