
    !#h
                    x    d dl mZ d dlmZ d dlmZ d dlmZ d dlm	Z	  ej                  e      Z G d d      Zy)	    )annotations)Sequence)Any)logging)StudyDirectionc                  p    e Zd ZdZdd	 	 	 	 	 	 	 	 	 	 	 d
dZddZddZddZedd       Z	edd	       Z
y)FrozenStudyaC  Basic attributes of a :class:`~optuna.study.Study`.

    This class is private and not referenced by Optuna users.

    Attributes:
        study_name:
            Name of the :class:`~optuna.study.Study`.
        direction:
            :class:`~optuna.study.StudyDirection` of the :class:`~optuna.study.Study`.

            .. note::
                This attribute is only available during single-objective optimization.
        directions:
            A list of :class:`~optuna.study.StudyDirection` objects.
        user_attrs:
            Dictionary that contains the attributes of the :class:`~optuna.study.Study` set with
            :func:`optuna.study.Study.set_user_attr`.
        system_attrs:
            Dictionary that contains the attributes of the :class:`~optuna.study.Study` internally
            set by Optuna.

    N)
directionsc                   || _         ||t        d      |t        |      | _        n|	|g| _        nt        d      || _        || _        || _        y )Nz,Specify one of `direction` and `directions`.z1Specify only one of `direction` and `directions`.)
study_name
ValueErrorlist_directions
user_attrssystem_attrs	_study_id)selfr   	directionr   r   study_idr
   s          Q/var/www/html/sandstorm/venv/lib/python3.12/site-packages/optuna/study/_frozen.py__init__zFrozenStudy.__init__%   sg     %!3KLL##J/D" ){DPQQ$(!    c                `    t        |t              st        S |j                  | j                  k(  S N)
isinstancer	   NotImplemented__dict__r   others     r   __eq__zFrozenStudy.__eq__<   s%    %-!!~~..r   c                `    t        |t              st        S | j                  |j                  k  S r   r   r	   r   r   r   s     r   __lt__zFrozenStudy.__lt__B   s%    %-!!~~//r   c                `    t        |t              st        S | j                  |j                  k  S r   r"   r   s     r   __le__zFrozenStudy.__le__H   s%    %-!!~~00r   c                f    t        | j                        dkD  rt        d      | j                  d   S )N   zDThis attribute is not available during multi-objective optimization.r   )lenr   RuntimeErrorr   s    r   r   zFrozenStudy.directionN   s8    t 1$V  ""r   c                    | j                   S r   )r   r*   s    r   r
   zFrozenStudy.directionsW   s    r   )r   strr   zStudyDirection | Noner   dict[str, Any]r   r-   r   intr
   zSequence[StudyDirection] | None)r   r   returnbool)r/   r   )r/   zlist[StudyDirection])__name__
__module____qualname____doc__r   r    r#   r%   propertyr   r
    r   r   r	   r	      s    > 7;"" )" #	"
 %" " 4"./01 # #    r   r	   N)
__future__r   collections.abcr   typingr   optunar   optuna.study._study_directionr   
get_loggerr1   _loggerr	   r6   r   r   <module>r>      s4    " $   8 '

X
&L  L r   