| Server IP : 88.99.149.37 / Your IP : 216.73.216.141 Web Server : nginx/1.31.2 System : Linux server-88-99-149-37 6.12.0-124.56.5.el10_1.x86_64 #1 SMP PREEMPT_DYNAMIC Fri May 15 06:12:08 EDT 2026 x86_64 User : muralimurth ( 1015) PHP Version : 8.4.23 Disable Function : exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /proc/1/cwd/lib/python3.12/site-packages/attr/__pycache__/ |
Upload File : |
�
�% g; � �� � d Z ddlmZ ddlmZ ddlmZ ddlmZ ddl
mZmZm
Z
mZmZ ddlmZ dd d d d d d
dd
dd ddd
d dd
d d d d
d�d
�ZeZ eed
d �� Zed d
d d
d d d d dd d d d d�d�Zd
d d d�d�Zd
d d�d�Zy )z]
These are keyword-only APIs that call `attr.s` and `attr.ib` with different
default values.
� )�partial� )�setters)�asdict)�astuple)�NOTHING�_frozen_setattrs�_ng_default_on_setattr�attrib�attrs)�UnannotatedAttributeErrorNTF)�these�repr�unsafe_hash�hash�init�slots�frozen�weakref_slot�str�auto_attribs�kw_only�
cache_hash�auto_exc�eq�order�auto_detect�getstate_setstate�
on_setattr�field_transformer�
match_argsc � ��������� �
���
��������� ��
�������������� ���fd���
���fd�}| �|S || � S )a�
Define an *attrs* class.
Differences to the classic `attr.s` that it uses underneath:
- Automatically detect whether or not *auto_attribs* should be `True` (c.f.
*auto_attribs* parameter).
- Converters and validators run when attributes are set by default -- if
*frozen* is `False`.
- *slots=True*
.. caution::
Usually this has only upsides and few visible effects in everyday
programming. But it *can* lead to some surprising behaviors, so please
make sure to read :term:`slotted classes`.
- *auto_exc=True*
- *auto_detect=True*
- *order=False*
- Some options that were only relevant on Python 2 or were kept around for
backwards-compatibility have been removed.
Please note that these are all defaults and you can change them as you
wish.
:param Optional[bool] auto_attribs: If set to `True` or `False`, it behaves
exactly like `attr.s`. If left `None`, `attr.s` will try to guess:
1. If any attributes are annotated and no unannotated `attrs.fields`\ s
are found, it assumes *auto_attribs=True*.
2. Otherwise it assumes *auto_attribs=False* and tries to collect
`attrs.fields`\ s.
For now, please refer to `attr.s` for the rest of the parameters.
.. versionadded:: 20.1.0
.. versionchanged:: 21.3.0 Converters are also run ``on_setattr``.
.. versionadded:: 22.2.0
*unsafe_hash* as an alias for *hash* (for :pep:`681` compliance).
c � �� t di d| �d��d��d� �d��d�
�d��d��d ��d
��d|�d��d
��d��d��d��d��dd�d��d�
�d��d���S )N� maybe_clsr r r r r r r r r r r r r r r r �collect_by_mroTr r r r! � )r )�clsr r r r r r r r r r r r! r r r r r r r r s ��������������������3/usr/lib/python3.12/site-packages/attr/_next_gen.py�do_itzdefine.<locals>.do_itY s� �� ��
��
��
� �
� �
�
$�
� �
� �
� �
� &�
� �
� &�
� �
� "�
� �
� �
� �!
�"