o
    ADi                      @  sR  d Z ddlmZ ddlZddlmZ ddlmZmZm	Z	m
Z
mZmZmZmZmZmZmZmZ ejdkr:ddlmZ nddlmZ eZ	 ee	eef e	eef f Z	 eeef Z	 ee
eef eeeeedf f Z	 eeeegef Z	 eee eee f Z	 eeegdf Z 	 eG d	d
 d
eZ!eG dd deZ"G dd de"eZ#dS )z
Type information used throughout *structlog*.

For now, they are considered provisional. Especially `BindableLogger` will
probably change to something more elegant.

.. versionadded:: 22.2.0
    )annotationsN)TracebackType)AnyCallableDictMappingMutableMappingOptionalProtocolTextIOTupleTypeUnionruntime_checkable)      )Self.c                   @  s   e Zd ZdZd	ddZdS )
ExceptionTransformera<  
    **Protocol:** A callable that transforms an `ExcInfo` into another
    datastructure.

    The result should be something that your renderer can work with, e.g., a
    ``str`` or a JSON-serializable ``dict``.

    Used by `structlog.processors.format_exc_info()` and
    `structlog.processors.ExceptionPrettyPrinter`.

    Args:
        exc_info: Is the exception tuple to format

    Returns:
        Anything that can be rendered by the last processor in your chain, for
        example, a string or a JSON-serializable structure.

    .. versionadded:: 22.1.0
    exc_infoExcInforeturnr   c                 C     d S N )selfr   r   r   I/var/www/Datamplify/venv/lib/python3.10/site-packages/structlog/typing.py__call__       zExceptionTransformer.__call__N)r   r   r   r   )__name__
__module____qualname____doc__r   r   r   r   r   r   i   s    r   c                   @  sB   e Zd ZU dZded< ddd	ZdddZdddZdddZdS )BindableLoggerz
    **Protocol**: Methods shared among all bound loggers and that are relied on
    by *structlog*.

    .. versionadded:: 20.2.0
    Context_context
new_valuesr   r   r   c                 K  r   r   r   r   r%   r   r   r   bind   r   zBindableLogger.bindkeysstrc                 G  r   r   r   r   r(   r   r   r   unbind   r   zBindableLogger.unbindc                 G  r   r   r   r*   r   r   r   
try_unbind   r   zBindableLogger.try_unbindc                 K  r   r   r   r&   r   r   r   new   r   zBindableLogger.newN)r%   r   r   r   )r(   r)   r   r   )	r   r   r    r!   __annotations__r'   r+   r,   r-   r   r   r   r   r"      s   
 


r"   c                   @  s  e Zd ZdZdDddZdEd	d
ZdEddZdDddZdFddZdGddZ	dHddZ
dHddZdHddZdHdd ZdHd!d"ZdHd#d$ZdHd%d&ZdHd'd(ZdHd)d*ZdHd+d,ZdHd-d.ZdHd/d0ZdHd1d2ZdHd3d4ZdHd5d6ZdHd7d8ZdHd9d:ZdHd;d<ZdHd=d>ZdId?d@ZdIdAdBZdCS )JFilteringBoundLoggera  
    **Protocol**: A `BindableLogger` that filters by a level.

    The only way to instantiate one is using `make_filtering_bound_logger`.

    .. versionadded:: 20.2.0
    .. versionadded:: 22.2.0 String interpolation using positional arguments.
    .. versionadded:: 22.2.0
       Async variants ``alog()``, ``adebug()``, ``ainfo()``, and so forth.
    .. versionchanged:: 22.3.0
       String interpolation is only attempted if positional arguments are
       passed.
    r%   r   r   c                 K     dS )zu
        Return a new logger with *new_values* added to the existing ones.

        .. versionadded:: 22.1.0
        Nr   r&   r   r   r   r'      r   zFilteringBoundLogger.bindr(   r)   c                 G  r0   )zm
        Return a new logger with *keys* removed from the context.

        .. versionadded:: 22.1.0
        Nr   r*   r   r   r   r+      r   zFilteringBoundLogger.unbindc                 G  r0   )zs
        Like :meth:`unbind`, but best effort: missing keys are ignored.

        .. versionadded:: 22.1.0
        Nr   r*   r   r   r   r,      r   zFilteringBoundLogger.try_unbindc                 K  r0   )zj
        Clear context and binds *initial_values* using `bind`.

        .. versionadded:: 22.1.0
        Nr   r&   r   r   r   r-      r   zFilteringBoundLogger.newlevelintboolc                 C  r0   )zd
        Check whether the logger is enabled for *level*.

        .. versionadded:: 25.1.0
        Nr   )r   r1   r   r   r   is_enabled_for   r   z#FilteringBoundLogger.is_enabled_forc                 C  r0   )z]
        Return the effective level of the logger.

        .. versionadded:: 25.1.0
        Nr   )r   r   r   r   get_effective_level   r   z(FilteringBoundLogger.get_effective_leveleventargskwc                 O  r0   )zF
        Log ``event % args`` with **kw** at **debug** level.
        Nr   r   r6   r7   r8   r   r   r   debug   r   zFilteringBoundLogger.debugc                      dS )zg
        Log ``event % args`` with **kw** at **debug** level.

        ..versionadded:: 22.2.0
        Nr   r9   r   r   r   adebug       zFilteringBoundLogger.adebugc                 O  r0   zE
        Log ``event % args`` with **kw** at **info** level.
        Nr   r9   r   r   r   info   r   zFilteringBoundLogger.infoc                   r;   )zf
        Log ``event % args`` with **kw** at **info** level.

        ..versionadded:: 22.2.0
        Nr   r9   r   r   r   ainfo   r=   zFilteringBoundLogger.ainfoc                 O  r0   zE
        Log ``event % args`` with **kw** at **warn** level.
        Nr   r9   r   r   r   warning   r   zFilteringBoundLogger.warningc                   r;   zf
        Log ``event % args`` with **kw** at **warn** level.

        ..versionadded:: 22.2.0
        Nr   r9   r   r   r   awarning   r=   zFilteringBoundLogger.awarningc                 O  r0   rA   r   r9   r   r   r   warn   r   zFilteringBoundLogger.warnc                   r;   rC   r   r9   r   r   r   awarn   r=   zFilteringBoundLogger.awarnc                 O  r0   zF
        Log ``event % args`` with **kw** at **error** level.
        Nr   r9   r   r   r   error   r   zFilteringBoundLogger.errorc                   r;   )zg
        Log ``event % args`` with **kw** at **error** level.

        ..versionadded:: 22.2.0
        Nr   r9   r   r   r   aerror  r=   zFilteringBoundLogger.aerrorc                 O  r0   rG   r   r9   r   r   r   err  r   zFilteringBoundLogger.errc                 O  r0   zI
        Log ``event % args`` with **kw** at **critical** level.
        Nr   r9   r   r   r   fatal  r   zFilteringBoundLogger.fatalc                   r;   zj
        Log ``event % args`` with **kw** at **critical** level.

        ..versionadded:: 22.2.0
        Nr   r9   r   r   r   afatal  r=   zFilteringBoundLogger.afatalc                 O  r0   )z
        Log ``event % args`` with **kw** at **error** level and ensure that
        ``exc_info`` is set in the event dictionary.
        Nr   r9   r   r   r   	exception  r   zFilteringBoundLogger.exceptionc                   r;   )z
        Log ``event % args`` with **kw** at **error** level and ensure that
        ``exc_info`` is set in the event dictionary.

        ..versionadded:: 22.2.0
        Nr   r9   r   r   r   
aexception"  r=   zFilteringBoundLogger.aexceptionc                 O  r0   rK   r   r9   r   r   r   critical*  r   zFilteringBoundLogger.criticalc                   r;   rM   r   r9   r   r   r   	acritical/  r=   zFilteringBoundLogger.acriticalc                 O  r0   r>   r   r9   r   r   r   msg6  r   zFilteringBoundLogger.msgc                   r;   r>   r   r9   r   r   r   amsg;  r=   zFilteringBoundLogger.amsgc                 O  r0   z>
        Log ``event % args`` with **kw** at *level*.
        Nr   r   r1   r6   r7   r8   r   r   r   log@  r   zFilteringBoundLogger.logc                   r;   rU   r   rV   r   r   r   alogE  r=   zFilteringBoundLogger.alogN)r%   r   r   r/   )r(   r)   r   r/   )r1   r2   r   r3   )r   r2   )r6   r)   r7   r   r8   r   r   r   )
r1   r2   r6   r)   r7   r   r8   r   r   r   )r   r   r    r!   r'   r+   r,   r-   r4   r5   r:   r<   r?   r@   rB   rD   rE   rF   rH   rI   rJ   rL   rN   rO   rP   rQ   rR   rS   rT   rW   rX   r   r   r   r   r/      s:    

























r/   )$r!   
__future__r   systypesr   typingr   r   r   r   r   r	   r
   r   r   r   r   r   version_infor   typing_extensionsWrappedLoggerr)   r#   	EventDictbytes	bytearrayProcessorReturnValue	ProcessorBaseExceptionr   ExceptionRendererr   r"   r/   r   r   r   r   <module>   s:   	8

		