o
    xi                     @  sb   U d dl mZ d dlZd dlmZ d dlZd dlZdaded< da	ded< dZ
ed Zd	d
 ZdS )    )annotationsN)Literalzbool | None_gym_version_lt_0_26_gymnasium_version_lt_1_0_0zRCouldn't import the gymnasium python package, install with `pip install gymnasium`)gym	gymnasiumc            
        sv  d} t jddurd} n
t jddurd} | du r t ttdu s(tdu rL| dkr1ddl}nddl}ddl	m
} ||j}||dk a||dk ad | dkrgtsgd	}t jj|  d
td}t||nt jj|  dtd}tr~d}t||d nd}t||j_ fdd}dd }ts|_|_| dkrts|}	nd| }	t jd |  d|	 dg dS )zEMonitor a gym environment.

    Supports both gym and gymnasium.
    Nr   r   r   )parsez0.26.0z1.0.0a1pathRecordVideoz	.wrappers)requiredz#.wrappers.monitoring.video_recorderImageEncoderoutput_pathVideoRecorderc                   s`    |  | js
d S tjr.tdt|  }|r|dnd}t|t	t|  i d S d S )Nz.+(video\.\d+).+   videos)

orig_closeenabledwandbrunrematchgetattrgrouplogVideo)selfmkeyr	   recorder R/home/ubuntu/.local/lib/python3.10/site-packages/wandb/integration/gym/__init__.pycloseI   s   
zmonitor.<locals>.closec                 S  s   |    d S )N)r   )r   r    r    r!   del_R   s   zmonitor.<locals>.del_zmonitoring.video_recorder.z
.wrappers.r"   )r   util
get_moduleError_required_error_msgr   r   r   r   packaging.versionr   __version__r   r"   r   __del__patchedappend)
gym_libr   r   gym_lib_versionvcr_recorder_attributewrappersvcrr"   r#   wrapper_namer    r   r!   monitor   s^   




	

r3   )
__future__r   r   typingr   r   
wandb.utilr   __annotations__r   r'   GymLibr3   r    r    r    r!   <module>   s    