
    LKiA                     H   S SK r S SKJrJr  S SKJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJrJrJr  S SKJrJrJrJr  S S	KJr  S S
KJr  S SKJrJrJrJrJrJrJ r J!r!J"r"J#r#J$r$J%r%J&r&J'r'J(r(J)r)J*r*  S SK+J,r,J-r-J.r.J/r/  S SK0J1r1  S SK2J3r3J4r4J5r5J6r6   " S S\\5      r7 " S S\\5      r8g)    N)OptionalSequence)UUID)override)UserIdentity)maybe_set_tenant_and_database)AsyncAdminAPIAsyncClientAPIAsyncServerAPI)CreateCollectionConfigurationUpdateCollectionConfiguration.validate_embedding_function_conflict_on_create+validate_embedding_function_conflict_on_get)AsyncCollection)SharedSystemClient)CollectionMetadata
DataLoader	Documents
EmbeddableEmbeddingFunction
Embeddings	GetResultIDsIncludeIncludeMetadataDocuments!IncludeMetadataDocumentsDistancesLoadable	MetadatasQueryResultSchemaURIsDefaultEmbeddingFunction)DEFAULT_DATABASEDEFAULT_TENANTSettingsSystem)ChromaError)DatabaseTenantWhereWhereDocumentc                      \ rS rSr% Sr\\S'   \r\	\S'   \
r\	\S'   \\S'   \\\
\" 5       4S\	S\	S\SS 4S	 jj5       r\\\
4S
\S\	S\	SS 4S jj5       r\\S
\SS4S j5       5       r\S\4S j5       r\\
4S\	S\	SS4S jj5       r\S\	SS4S j5       rS\	S\	SS4S jr\S\4S j5       r\ SCS\\   S\\   S\\   4S jj5       r\S\4S j5       r\SSS\ " 5       SS4S\	S\\!   S\\"   S\\#   S\\$\%      S\\&\'      S\(S\4S  jj5       r)\\ " 5       S4S\	S\\$\%      S\\&\'      S\4S! jj5       r*\SSS\ " 5       S4S\	S\\!   S\\"   S\\#   S\\$\%      S\\&\'      S\4S" jj5       r+\   SDS#\,S$\\	   S%\\#   S&\\-   SS4
S' jj5       r.\S\	SS4S( j5       r/\   SDS)\0S*\,S+\1S,\\2   S-\\3   S.\\4   S\(4S/ jj5       r5\    SES*\,S)\0S+\\1   S,\\2   S-\\3   S.\\4   S\(4S0 jj5       r6\   SDS*\,S)\0S+\1S,\\2   S-\\3   S.\\4   S\(4S1 jj5       r7\S*\,S\4S2 j5       r8\SFS*\,S4\S\94S5 jj5       r:\SSSSS\;4S*\,S)\\0   S6\\<   S\\   S\\   S7\\=   S8\>S\94S9 jj5       r?  SCS*\,S)\\0   S6\\<   S7\\=   SS4
S: jjr@\SS3SS\A4S*\,S;\1S)\\0   S<\S6\\<   S7\\=   S8\>S\B4S= jj5       rC\S\(4S> j5       rD\S\	4S? j5       rE\S\4S@ j5       rF\S\4SA j5       rGSBrHg)GAsyncClient)   a  A client for Chroma. This is the main entrypoint for interacting with Chroma.
A client internally stores its tenant and database and proxies calls to a
Server API instance of Chroma. It treats the Server API and corresponding System
as a singleton, so multiple clients connecting to the same resource will share the
same API instance.

Client implementations should be implement their own API-caching strategies.
_admin_clienttenantdatabase_serversettingsreturnc                   #    U " US9n[         R                  " UR                  5        Xl        X$l        UR                  R                  [        5      Ul        UR                  5       I S h  vN n[        UUR                  UUS9u  pgU(       a  Xdl        U(       a  Xtl        [        R                  UR                  5      Ul        UR                  UR                  UR                  S9I S h  vN   UR                  5         U$  N N7f)Nr3   )4overwrite_singleton_tenant_database_access_from_authuser_provided_tenantuser_provided_databaser0   r1   )r   _populate_data_from_system_systemr0   r1   instancer   r2   get_user_identityr   ;chroma_overwrite_singleton_tenant_database_access_from_authAsyncAdminClientfrom_systemr/   _validate_tenant_database_submit_client_start_event)clsr0   r1   r3   selfuser_identitymaybe_tenantmaybe_databases           [/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/chromadb/api/async_client.pycreateAsyncClient.create;   s      H%55dllC  ||,,^<"4466'DAI  BF  BF!'#+	(
$ &K*M-99$,,G,,DKK$--,XXX'')% 7 	Ys%   A*D	,D-BD	.D/D	D	systemc                 ^   #    [         R                  X#UR                  5      I Sh  vN $  N7f)zRCreate a client from an existing system. This is useful for testing and debugging.N)r-   rJ   r3   )rD   rL   r0   r1   s       rI   from_system_asyncAsyncClient.from_system_async`   s$      !''&//JJJJs   $-+-r   c                     [        S 5      e)zNAsyncClient cannot be created synchronously. Use .from_system_async() instead.)NotImplementedError)rD   rL   s     rI   rA   AsyncClient.from_systemk   s     "\
 	
    c                 R   #    U R                   R                  5       I S h  vN $  N7fN)r2   r>   rE   s    rI   r>   AsyncClient.get_user_identityv   s     \\335555   '%'Nc                 V   #    U R                  XS9I S h  vN   Xl        X l        g  N7fNr:   rB   r0   r1   )rE   r0   r1   s      rI   
set_tenantAsyncClient.set_tenantz   s,     ,,F,NNN  	Os   )')c                 `   #    U R                  U R                  US9I S h  vN   Xl        g  N7frZ   r[   )rE   r1   s     rI   set_databaseAsyncClient.set_database   s-     ,,DKK(,SSS  	Ts   .,.c                 v  #     U R                   R                  US9I S h  vN    U R                   R                  X!S9I S h  vN   g  N'! [        R                   a    [	        S5      e[
         a  nUeS nAf[         a    [	        SU S35      ef = f NQ! [        R                   a    [	        S5      ef = f7f)NnamezACould not connect to a Chroma server. Are you sure it is running?zCould not connect to tenant z. Are you sure it exists?rc   r0   )r/   
get_tenanthttpxConnectError
ValueErrorr'   	Exceptionget_database)rE   r0   r1   es       rI   rB   %AsyncClient._validate_tenant_database   s     	$$//V/<<<	$$11x1OOO =!! 	S   	G 	.vh6OP 	 P!! 	S 	s[   B9A
 AA
 B BB B9A
 
(B2A44BB9B  B66B9c                 R   #    U R                   R                  5       I S h  vN $  N7frU   )r2   	heartbeatrV   s    rI   rn   AsyncClient.heartbeat   s     \\++----rX   limitoffsetc                    #    U R                   R                  XU R                  U R                  S9I S h  vN nU Vs/ s H  n[	        U R                   US9PM     sn$  N)s  snf 7f)Nr:   )clientmodel)r2   list_collectionsr0   r1   r   )rE   rp   rq   modelsrt   s        rI   ru   AsyncClient.list_collections   sc      ||44$++ 5 
 
 PVVvet||5AvVV
 Ws    3A&AA&A!A&!A&c                 z   #    U R                   R                  U R                  U R                  S9I S h  vN $  N7frZ   )r2   count_collectionsr0   r1   rV   s    rI   ry   AsyncClient.count_collections   s8     \\33;; 4 
 
 	
 
s   2;9;Frc   schemaconfigurationmetadataembedding_functiondata_loaderget_or_createc           
        #    Uc  0 nUR                  S5      n[        XX5        Ub  Uc  XSS'   U R                  R                  UUUUU R                  U R
                  US9I S h  vN n	[        U R                  U	UUS9$  N7f)Nr~   )rc   r{   r|   r}   r0   r1   r   rs   rt   r~   r   )getr   r2   create_collectionr0   r1   r   )
rE   rc   r{   r|   r}   r~   r   r   configuration_efrt   s
             rI   r   AsyncClient.create_collection   s       M(,,-AB6	
 ).>.F2D./ll44';;]]' 5 
 
 <<1#	
 	

s   A"B$A?%Bc                    #    U R                   R                  UU R                  U R                  S9I S h  vN nUR                  R                  S5      n[        X%5        [        U R                   UUUS9$  N@7f)Nrc   r0   r1   r~   r   )r2   get_collectionr0   r1   configuration_jsonr   r   r   )rE   rc   r~   r   rt   persisted_ef_configs         rI   r   AsyncClient.get_collection   s      ll11;;]] 2 
 

 $66::;OP3	
 <<1#	
 	

s   3A8A6AA8c           	      P  #    Uc  0 nUR                  S5      n[        XW5        Ub  Uc  XSS'   U R                  R                  UUUUU R                  U R
                  S9I S h  vN nUR                  R                  S5      n	[        XY5        [        U R                  UUUS9$  N@7f)Nr~   )rc   r{   r|   r}   r0   r1   r   )	r   r   r2   get_or_create_collectionr0   r1   r   r   r   )
rE   rc   r{   r|   r}   r~   r   r   rt   r   s
             rI   r   $AsyncClient.get_or_create_collection   s       M(,,-AB6	
 ).>.F2D./ll;;';;]] < 
 
 $66::;OP3	
 <<1#	
 	

s   A!B&#B$$AB&idnew_namenew_metadatanew_configurationc           	         #    U R                   R                  UUUUU R                  U R                  S9I S h  vN $  N7f)N)r   r   r   r   r0   r1   )r2   _modifyr0   r1   )rE   r   r   r   r   s        rI   r   AsyncClient._modify#  sG      \\))%/;;]] * 
 
 	
 
s   6?=?c                 |   #    U R                   R                  UU R                  U R                  S9I S h  vN $  N7f)Nr   )r2   delete_collectionr0   r1   rE   rc   s     rI   r   AsyncClient.delete_collection4  s>     
 \\33;;]] 4 
 
 	
 
s   3<:<idscollection_id
embeddings	metadatas	documentsurisc                    #    U R                   R                  UUUUUUU R                  U R                  S9I S h  vN $  N7f)N)r   r   r   r   r   r   r0   r1   )r2   _addr0   r1   )rE   r   r   r   r   r   r   s          rI   r   AsyncClient._addC  sM      \\&&'!;;]] ' 	
 	
 		
 	
   8A?Ac                    #    U R                   R                  UUUUUUU R                  U R                  S9I S h  vN $  N7fN)r   r   r   r   r   r   r0   r1   )r2   _updater0   r1   rE   r   r   r   r   r   r   s          rI   r   AsyncClient._updateX  M      \\))'!;;]] * 	
 	
 		
 	
r   c                    #    U R                   R                  UUUUUUU R                  U R                  S9I S h  vN $  N7fr   )r2   _upsertr0   r1   r   s          rI   r   AsyncClient._upsertm  r   r   c                 P   #    U R                   R                  US9I S h  vN $  N7f)N)r   )r2   _count)rE   r   s     rI   r   AsyncClient._count  s.     \\((' ) 
 
 	
 
   &$&
   nc                 R   #    U R                   R                  UUS9I S h  vN $  N7f)N)r   r   )r2   _peek)rE   r   r   s      rI   r   AsyncClient._peek  s1     \\''' ( 
 
 	
 
rX   wherewhere_documentincludec                    #    U R                   R                  UUUUUUUU R                  U R                  S9	I S h  vN $  N7f)N)	r   r   r   rp   rq   r   r   r0   r1   )r2   _getr0   r1   )rE   r   r   r   rp   rq   r   r   s           rI   r   AsyncClient._get  sP      \\&&');;]] ' 

 

 
	
 

   9AA Ac           	         #    U R                   R                  UUUUU R                  U R                  S9I S h  vN   g  N7f)N)r   r   r   r   r0   r1   )r2   _deleter0   r1   )rE   r   r   r   r   s        rI   r   AsyncClient._delete  sB      ll""');;]] # 
 	
 	
s   6A >A query_embeddings	n_resultsc                    #    U R                   R                  UUUUUUUU R                  U R                  S9	I S h  vN $  N7f)N)	r   r   r   r   r   r   r   r0   r1   )r2   _queryr0   r1   )rE   r   r   r   r   r   r   r   s           rI   r   AsyncClient._query  sP      \\(('-);;]] ) 

 

 
	
 

r   c                 R   #    U R                   R                  5       I S h  vN $  N7frU   )r2   resetrV   s    rI   r   AsyncClient.reset  s     \\''))))rX   c                 R   #    U R                   R                  5       I S h  vN $  N7frU   )r2   get_versionrV   s    rI   r   AsyncClient.get_version  s     \\--////rX   c                 6    U R                   R                  5       $ rU   )r2   get_settingsrV   s    rI   r   AsyncClient.get_settings  s    ||((**rS   c                 R   #    U R                   R                  5       I S h  vN $  N7frU   )r2   get_max_batch_sizerV   s    rI   r   AsyncClient.get_max_batch_size  s     \\446666rX   )r/   r2   r1   r0   )NN)NNN)NNNN)r   )I__name__
__module____qualname____firstlineno____doc__r	   __annotations__r$   r0   strr#   r1   r   classmethodr%   rJ   r&   rN   r   rA   r   r>   r\   r_   rB   intrn   r   r   r   ru   ry   r"   r    r   r   r   r   r   r   boolr   r   r   r   r   r   r   r   r   r   r   r!   r   r   r   r   r   r   r   r*   r+   r   r   r   r   r   r   r   r   r   r   __static_attributes__ rS   rI   r-   r-   )   sc    !  FC $Hc$ %(%Z	"" " 	"
 
" "H 
 %(	KK K 	K
 
K K 

 

  
 6 6 6 <L !s !c !QU ! !
 !3 !4 ! !c S T 0 . . . CGWc]W3;C=W	/	"W W 
 
 

  $(AE15 %&6:#(
(
  (
   =>	(

 -.(
 %j)
(
 j23(
 (
 
(
 (
T  %&6:

 %j)

 j23
 

 
4  $(AE15 %&6:*
*
  *
   =>	*

 -.*
 %j)
*
 j23*
 
*
 *
X  #'59EI

 3-
 12	

 $$AB
 

 
  

 

 
  *.)-#

 
 	

 I&
 I&
 tn
 

 
( 
 ,0)-)-#

 
 Z(	

 I&
 I&
 tn
 

 
(  *.)-#

 
 	

 I&
 I&
 tn
 

 
( 
$ 
3 
 

 
 
# 
y 
 
  "!%# $263

 c]
 	

 }
 
 !/
 
 

 
4 "&26

 c]
 	

 !/
 

  
 "!%26<

 %
 c]	

 
 
 !/
 
 

 
, *T * * 03 0 0 +h + + 7# 7 7rS   r-   c                   `  ^  \ rS rSr% \\S'   \" 5       4S\SS4U 4S jjjr\\	4S\
S\
SS4S	 jj5       r\\	4S\
S\
S\4S
 jj5       r\\	4S\
S\
SS4S jj5       r\SS\	4S\\   S\\   S\
S\\   4S jj5       r\S\
SS4S j5       r\S\
S\4S j5       r\\S\SS 4S j5       5       rSrU =r$ )r@   i  r2   r3   r4   Nc                 l   > [         TU ]  U5        U R                  R                  [        5      U l        g rU   )super__init__r<   r=   r   r2   )rE   r3   	__class__s     rI   r   AsyncAdminClient.__init__  s&    "||,,^<rS   rc   r0   c                 P   #    U R                   R                  XS9I S h  vN $  N7fNrd   )r2   create_databaserE   rc   r0   s      rI   r    AsyncAdminClient.create_database  #     \\11t1KKKKr   c                 P   #    U R                   R                  XS9I S h  vN $  N7fr   )r2   rj   r   s      rI   rj   AsyncAdminClient.get_database  s#     \\..D.HHHHr   c                 P   #    U R                   R                  XS9I S h  vN $  N7fr   )r2   delete_databaser   s      rI   r    AsyncAdminClient.delete_database  r   r   rp   rq   c                 R   #    U R                   R                  XUS9I S h  vN $  N7f)N)rp   rq   r0   )r2   list_databases)rE   rp   rq   r0   s       rI   r   AsyncAdminClient.list_databases  s2      \\00v 1 
 
 	
 
rX   c                 P   #    U R                   R                  US9I S h  vN $  N7fNrb   )r2   create_tenantr   s     rI   r   AsyncAdminClient.create_tenant  s#     \\//T/::::r   c                 P   #    U R                   R                  US9I S h  vN $  N7fr   )r2   re   r   s     rI   re   AsyncAdminClient.get_tenant  s#     \\,,$,7777r   rL   c                 R    [         R                  " U5        U " UR                  S9nU$ )Nr6   )r   r;   r3   )rD   rL   r=   s      rI   rA   AsyncAdminClient.from_system  s%     	55f=0rS   )r2   )r   r   r   r   r   r   r%   r   r   r$   r   r   r(   rj   r   r   r   r   r   r   r)   re   r   r&   rA   r   __classcell__)r   s   @rI   r@   r@     s   ,4J = =4 = = =K L# Ls LPT L L :H Is IC IX I I =K L# Ls LPT L L   $ $$	
}
 
 	

 
(	
 
 ; ; ; ; 8S 8V 8 8  
  rS   r@   )9rf   typingr   r   uuidr   	overridesr   chromadb.authr   chromadb.auth.utilsr   chromadb.apir	   r
   r   %chromadb.api.collection_configurationr   r   r   r   #chromadb.api.models.AsyncCollectionr   !chromadb.api.shared_system_clientr   chromadb.api.typesr   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   chromadb.configr#   r$   r%   r&   chromadb.errorsr'   chromadb.typesr(   r)   r*   r+   r-   r@   r   rS   rI   <module>r     s|     %   & = F F  @ @    & O N ' A Ar7$n r7n.)= .rS   