
    LKiD	                     ,   S SK r S SKrS SKrS SKrS SKJr  S SKJrJr  \R                  " 5       S\R                  R                  SS5       3-   S-   rS\S	\4S
 jrS\S\\   S	\4S jrS\S	\4S jrS\S\\\4   S	S4S jrS\S\S\\\4   S	\4S jrg)    N)
ModuleType)DictListz/worker-PYTEST_XDIST_WORKERunknownz#/persistence_test_chromadb_versionsversionreturnc                     [         S-   U -   $ )N/)base_install_dirr   s    c/var/www/html/dynamic-report/venv/lib/python3.13/site-packages/chromadb/test/utils/cross_version.pyget_path_to_version_installr      s    c!G++    versioned_modulesc                   ^ Sn[         R                  R                  5        V^Vs0 s HJ  u  mnTU:X  d;  TR                  US-   5      (       d"  TU;   d  [	        U4S jU 5       5      (       d  MG  TU_ML     nnnU H  m[         R                  T	 M     [         R
                  R                  S[        U 5      5        SS KnUR                  U :X  d   eU$ s  snnf )Nchromadb.c              3   L   >#    U  H  nTR                  US -   5      v   M     g7f)r   N)
startswith).0mns     r   	<genexpr>$switch_to_version.<locals>.<genexpr>   s#     A/@!QW%%/@s   !$r   )
sysmodulesitemsr   anypathinsertr   r   __version__)r   r   module_namer   r   old_modulesr   s      `   r   switch_to_versionr%      s    K KK%%''DAqLLs*++!!A/@AA 	1'   KKN  HHOOA27;<7***O!s   AC0Cc                     [        U 5      S-   $ )Nz/chromadb/__init__.py)r   r   s    r   get_path_to_version_libraryr'   )   s    &w/2IIIr   dep_overridesc                     [        U 5      n[        R                  R                  U5      (       a  g [	        U 5      n[        SU  3X15        g )Nz
chromadb==)r'   osr    existsr   install)r   r(   version_libraryr    s       r   install_versionr.   -   s=    1':O	ww~~o&&&w/Dj	"D8r   pkgr    c                    [         R                  " USS9  [        R                  SSSSSU /nUR	                  5        H  u  pEUR                  U U 35        M     SU ;   d  [        S U 5       5      (       a  UR                  S	5        UR                  S
U 35        [        SU  SU 35        [        R                  " U5      $ )NT)exist_okz-mpipz-qr,   chroma-hnswlibc              3   ,   #    U  H
  nS U;   v   M     g7f)r3   N )r   deps     r   r   install.<locals>.<genexpr>A   s     %W#&6#&=s   z--no-binary=chroma-hnswlibz	--target=zInstalling chromadb version z to )
r*   makedirsr   
executabler   appendr   print
subprocess
check_call)r/   r    r(   commandr6   operator_versions         r   r,   r,   6   s    KKt$ ~~tUD$	3GG!.!4!4!6#/012 "7 3#%W%W"W"W34NNYtf%&	(T$
89  ))r   )r   r<   r*   tempfiletypesr   typingr   r   
gettempdirenvirongetr   strr   r%   r'   r.   intr,   r5   r   r   <module>rH      s    
  	     5yABCD+, , , ,s tCy Z ,J J J9S 9c3h 9D 9* *C *S#X *3 *r   