Format: application/x-python-code
1 o
2
3 ;'hFD � @ s� d dl mZ d dlZd dlmZmZmZ d dlmZ d dl m
4 Z
5 mZmZ d dl
6 mZmZ d dlmZ d dlmZmZmZ d d lmZ d d
7 lmZmZmZmZmZ ddlmZ dd
8 l m!Z!m"Z"m#Z# ddl$m%Z% ddl&m'Z'm(Z( ddl)m*Z* ddl+m,Z, ej-dkr�d dlm.Z.m/Z/ nd dl0m.Z.m/Z/ ed�Z1eddd�Z2e.d�Z3d6dd�Z4d7d!d"�Z5G d#d$� d$ee2 e�Z6G d%d&� d&e,�Z7G d'd(� d(�Z8eG d)d*� d*��Z9e d8d9d1d2��Z:d:d4d5�Z;dS );� )�annotationsN)� Awaitable�Callable� Generator)�Future)�AbstractAsyncContextManager�AbstractContextManager�contextmanager)� dataclass�field)�isawaitable)�Lock�Thread� get_ident)�
9 TracebackType)�Any�Generic�TypeVar�cast�overload� )�
10 _eventloop)�get_async_backend�get_cancelled_exc_class�threadlocals)�Event)�CancelScope�create_task_group)�AsyncBackend)�
11 TaskStatus)� � )�TypeVarTuple�Unpack�T_Retval�T_coT)� covariant�PosArgsT�func�1Callable[[Unpack[PosArgsT]], Awaitable[T_Retval]]�args�Unpack[PosArgsT]�returnc G �: zt j}t j}W n ty td�d�w |j| ||d�S )z�
12 Call a coroutine function from a worker thread.
13
14 :param func: a coroutine function
15 :param args: positional arguments for the callable
16 :return: the return value of the coroutine function
17
18 �9This function can only be run from an AnyIO worker threadN��token)r �current_async_backend�
19 current_token�AttributeError�RuntimeErrorZrun_async_from_thread�r( r* �
20 async_backendr0 � r7 �GC:\Users\shubh\Videos\agent\nova\Lib\site-packages\anyio/from_thread.py�run( �
21 ���r9 �&Callable[[Unpack[PosArgsT]], T_Retval]c G r- )z�
22 Call a function in the event loop thread from a worker thread.
23
24 :param func: a callable
25 :param args: positional arguments for the callable
26 :return: the return value of the callable
27
28 r. Nr/ )r r1 r2 r3 r4 Zrun_sync_from_threadr5 r7 r7 r8 �run_sync>