U
    vIÀd•  ã                   @   s€   d dl Z d dlZdae d¡Zde_e e ¡ ¡ ejd  	e 
d¡¡ ejd  d¡ dd„ Zd	d
„ Zddd„Zddd„ZdS )é    NZanndataFéÿÿÿÿz%(message)sÚINFOc                 C   s   t j | ¡S )z\    Creates a child logger that delegates to anndata_logger
    instead to logging.root
    )Úanndata_loggerÚmanagerÚ	getLogger)Úname© r   úH/home/sam/Atlas/atlas_env/lib/python3.8/site-packages/anndata/logging.pyÚ
get_logger   s    r
   c                  C   sl   dd l } |  t ¡ ¡}z| ¡ }W n tk
r>   | ¡ }Y nX |d d }|}td k	r`|t }|a||fS )Nr   i   @)ÚpsutilÚProcessÚosÚgetpidZmemory_infoÚAttributeErrorZget_memory_infoÚ_previous_memory_usage)r   ÚprocessZmeminfoÚmemZmem_diffr   r   r	   Úget_memory_usage   s    r   Ú c                 C   sF   |rdnd}|dkrdnd}| \}}|› |› |› d|d›d|d›d�S )	NÚ
r   z 
... zMemory usage: current z.2fz GB, difference z+.2fz GBr   )Z	mem_usageÚmsgÚnewlineÚmorer   Údiffr   r   r	   Úformat_memory_usage'   s
     ÿr   c                 C   s   t ttƒ | |ƒƒ d S )N)Úprintr   r   )r   r   r   r   r	   Úprint_memory_usage1   s    r   )r   F)r   F)r   Úloggingr   r   r   Ú	propagateÚ
addHandlerÚStreamHandlerÚhandlersÚsetFormatterÚ	FormatterÚsetLevelr
   r   r   r   r   r   r   r	   Ú<module>   s   


