
    g                        d dl mZ d dlZd dlmZmZ 	 d dlmZ d dlm	Z	 erd dlmZ d dlmZ 	 	 	 	 	 	 	 	 	 	 d
d	Zy# e
$ r	  ed      w xY w)    )annotationsN)TYPE_CHECKINGAny)SQLAlchemyInstrumentor)CommenterOptionsz`logfire.instrument_sqlalchemy()` requires the `opentelemetry-instrumentation-sqlalchemy` package.
You can install this with:
    pip install 'logfire[sqlalchemy]')EngineAsyncEnginec                    t        j                  t              5  ddlm} t        | |      r| j                  } ddd        t               j                  dd| i|S # 1 sw Y   %xY w)zInstrument the `sqlalchemy` module so that spans are automatically created for each query.

    See the `Logfire.instrument_sqlalchemy` method for details.
    r   r	   Nengine )	
contextlibsuppressImportErrorsqlalchemy.ext.asyncior
   
isinstancesync_enginer   
instrument)r   enable_commentercommenter_optionskwargsr
   s        ^/var/www/openai/venv/lib/python3.12/site-packages/logfire/_internal/integrations/sqlalchemy.pyinstrument_sqlalchemyr      sY     
		[	)6fk*''F	 
*
 /!#..GfGGG 
*	)s   AA&)
r   zAsyncEngine | Engine | Noner   boolr   r   r   r   returnNone)
__future__r   r   typingr   r   (opentelemetry.instrumentation.sqlalchemyr   logfire.integrations.sqlalchemyr   r   RuntimeError
sqlalchemyr   r   r
   r   r       r   <module>r$      s    "  %	O@ !2H'HH (H 	H
 
H  
	0 s	   = A