
    FCf              	      T    d Z ddlmZ ddlmZ ddlmZ  G d d edg d            Zy)	zCAdvanced options for MongoDB drivers implemented on top of PyMongo.    )annotations)
namedtuple)Optionalc                  6     e Zd ZdZ	 d	 	 	 	 	 	 	 d fdZ xZS )
DriverInfoa  Info about a driver wrapping PyMongo.

    The MongoDB server logs PyMongo's name, version, and platform whenever
    PyMongo establishes a connection. A driver implemented on top of PyMongo
    can add its own info to this log message. Initialize with three strings
    like 'MyDriver', '1.2.3', 'some platform info'. Any of these strings may be
    None to accept PyMongo's default.
    c                    t         |   | |||      }|j                         j                         D ]'  \  }}|	t	        |t
              rt        d| d       |S )NzWrong type for DriverInfo z) option, value must be an instance of str)super__new___asdictitems
isinstancestr	TypeError)clsnameversionplatformselfkeyvalue	__class__s          S/var/www/highfloat_scraper/venv/lib/python3.12/site-packages/pymongo/driver_info.pyr
   zDriverInfo.__new__    sk     wsD'8<,,...0 	JC E3)?05^_ 	     )NN)r   r   r   Optional[str]r   r   returnr   )__name__
__module____qualname____doc__r
   __classcell__)r   s   @r   r   r      s9     RV

!.
AN
	
 
r   r   )r   r   r   N)r   
__future__r   collectionsr   typingr   r    r   r   <module>r%      s(    J " " L*IJ r   