Ë
    `›¾jë  ã                   óà   — d dl Z d dlZd dlmZ 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mZmZmZmZmZ dd	lmZ  ej*                  d
«      d„ «       Zdd„Zddedeeef   fd„Zdedefd„Zy)é    N)ÚPath)ÚTuple)ÚPrinterÚmsgé   )Úabout)Úget_installed_modelsÚget_minor_versionÚget_model_metaÚget_package_pathÚget_package_versionÚis_compatible_versioné   )ÚappÚvalidatec                  ó   — t        «        y)a  
    Validate the currently installed pipeline packages and spaCy version. Checks
    if the installed packages are compatible and shows upgrade instructions if
    available. Should be run after `pip install -U spacy`.

    DOCS: https://spacy.io/api/cli#validate
    N)r   © ó    ú\/home/spazio/kingdom_calls/work5/transenv/lib/python3.12/site-packages/spacy/cli/validate.pyÚvalidate_clir      s	   € ô …Jr   Úreturnc            
      ób  — t        «       \  } }t        t        j                  «      }|j	                  |i «      }|st        j                  d|› d�«       | j                  «       D ��ch c]  \  }}|d   rŒ|d   ’Œ }}}|D �cg c]	  }||vsŒ|‘Œ }}|D �cg c]	  }||v sŒ|‘Œ }	}t        t        «      j                  j                  }
t        j                  dt        j                  › d�«       t        j                  d|
› �«       | rÀd}g }| j                  «       D ]‘  \  }}|d   r5t        j                  d	d
dd¬«      }t        j                  |d   d
d¬«      }n7t        j                  |d   dd¬«      }d|j	                  |d   dg«      d   › �}|j                  |d   |d   ||f«       Œ“ t        j                  ||¬«       nt        j                  dd¬«       |	rft        j                  d«       t        j                  d«       d}t!        dj#                  |	D �cg c]  }|j%                  |«      ‘Œ c}«      dz   «       |r7t        j                  dt        j                  › d�dj#                  |«      «       |rt'        j(                  d«       y y c c}}w c c}w c c}w c c}w ) Nz"No compatible packages found for vz	 of spaCyÚcompatÚnamez$Installed pipeline packages (spaCy vú)zspaCy installation: )ÚNAMEÚSPACYÚVERSIONÚ r   ÚgreenÚgoodT)ÚcolorÚiconÚno_printÚversion)r"   r$   Úyellowz--> ún/ar   Úspacy)Úheaderz7No pipeline packages found in your current environment.©ÚexitszInstall updatesz2Use the following commands to update the packages:zpython -m spacy download {}ú
zNThe following packages are custom spaCy pipelines or not available for spaCy vú:z, r   )Úget_model_pkgsr
   r   Ú__version__Úgetr   ÚwarnÚitemsr   Ú__file__ÚparentÚdividerÚinfoÚtextÚappendÚtableÚprintÚjoinÚformatÚsysÚexit)Ú
model_pkgsr   Úspacy_versionÚcurrent_compatÚ_ÚdÚincompat_modelsÚmÚ	na_modelsÚupdate_modelsÚ	spacy_dirr)   Úrowsr   ÚdataÚcompr%   ÚcmdÚpkgs                      r   r   r   !   sf  € Ü'Ó)Ñ€J�Ü%¤e×&7Ñ&7Ó8€MØ—Z‘Z ¨rÓ2€NÙÜ�‰Ð5°m°_ÀIÐNÔOØ-7×-=Ñ-=Ó-?×S¡T Q¨ÀqÈÃ{�q˜“yÐS€OÑSØ+ÖG�q¨q¸Ò/F’ÐG€IÐGØ /ÖG˜1°1¸Ò3F’QÐG€MÐGÜ”X“×%Ñ%×,Ñ,€Iä‡K�KÐ6´u×7HÑ7HÐ6IÈÐKÔLÜ‡H�HÐ# I ;Ð/Ô0áØ1ˆØˆØ$×*Ñ*Ó,ò 	F‰JˆD�$Ø�HŠ~Ü—x‘x ¨'¸ÈÔN�ÜŸ(™( 4¨	¡?¸'ÈDÔQ‘äŸ(™( 4¨	¡?¸(ÈTÔR�Ø˜n×0Ñ0°°f±À¸wÓGÈÑJÐKÐL�Ø�K‰K˜˜f™ t¨G¡}°g¸tÐDÕEð	Fô 	�	‰	�$˜vÖ&ä�‰ÐJÐRSÕTÙÜ�‰Ð%Ô&Ü�‰ÐEÔFØ+ˆÜˆd�i‰i°MÖB¨S˜Ÿ™ C�ÒBÓCÀdÑJÔKÙÜ�‰ð$Ü$)×$5Ñ$5Ð#6°að9à�I‰I�iÓ ô	
ñ
 Ü�‰��ð ùóC TùÚGùÚGùò0 Cs*   Á'JÁ5JÂ	J"ÂJ"Â	J'Â!J'È$J,Úsilentc                 ó¨  — t        | |  ¬«      } |j                  d«      5  t        j                  t        j
                  «      }|j                  dk7  r# |j                  d|j                  › d�dd¬«       d d d «        |j                  d	«       j                  «       d
   }t        «       }t        j                  «       5  t        j                  dd¬«       t        «       }d d d «       t        |«      j!                  «       D ][  \  }}|j#                  |j%                  «       «       |j!                  «       D ]$  \  }}	|	D �
cg c]  }
t'        |
«      ‘Œ c}
||   |<   Œ& Œ] i }D ]»  }|j)                  dd«      }t+        |«      }||v r|||   v }t        j,                  }nvt/        |«      }t        j                  «       5  t        j                  dd¬«       t1        |«      }d d d «       j                  dd«      }t3        t        j,                  |«      }||||dœ||<   Œ½ ||fS # 1 sw Y   �Œ´xY w# 1 sw Y   �ŒTxY wc c}
w # 1 sw Y   ŒdxY w)N)r$   ÚprettyzLoading compatibility table...éÈ   zServer error (r   z#Couldn't fetch compatibility table.r   r*   zLoaded compatibility tabler(   Úignorez	\[W09[45])Úmessageú-rB   r@   r'   )r   r%   r(   r   )r   ÚloadingÚrequestsr0   r   Ú__compatibility__Ústatus_codeÚfailr!   ÚjsonÚsetÚwarningsÚcatch_warningsÚfilterwarningsr	   Údictr2   ÚupdateÚkeysÚreformat_versionÚreplacer   r/   r   r   r   )rN   r   Úrr   Ú
all_modelsÚinstalled_modelsÚspacy_vÚmodelsÚmodelÚmodel_vsÚvÚpkgsÚpkg_nameÚpackager%   Ú	is_compatr@   Ú
model_pathÚ
model_metas                      r   r.   r.   L   s1  € Ü
˜6¨f¨*Ô
5€CØ	ˆ�‰Ð5Ó	6ñ Ü�L‰Lœ×0Ñ0Ó1ˆØ�=‰=˜CÒØˆC�H‰HØ  §¡ ¨qÐ1Ø5Øõ÷ð €C‡H�HÐ)Ô*Ø�V‰V‹X�gÑ€FÜ“€JÜ	×	 Ñ	 Ó	"ñ 2Ü×Ñ °,Õ?Ü/Ó1Ð÷2ô   ›<×-Ñ-Ó/ò M‰ˆ�Ø×Ñ˜&Ÿ+™+›-Ô(Ø%Ÿ|™|›~ò 	M‰OˆE�8ØCKÖ%L¸aÔ&6°qÕ&9Ò%LˆF�7‰O˜EÒ"ñ	MðMð €DØ$ò 
ˆØ×"Ñ" 3¨Ó,ˆÜ% hÓ/ˆØ�fÑØ 6¨'¡?Ð2ˆIÜ!×-Ñ-‰Mä)¨'Ó2ˆJÜ×(Ñ(Ó*ñ 8Ü×'Ñ'¨¸,ÕGÜ+¨JÓ7�
÷8ð 'ŸN™N¨?¸EÓBˆMÜ-¬e×.?Ñ.?ÀÓOˆIàØØ"Øñ	
ˆˆXŠð
ð& �ˆ<Ð÷Mñ ú÷2ñ 2üò &M÷8ð 8ús*   ¡AH)Ã"H6ÅIÇ#IÈ)H3È6I ÉI	r%   c                 ól   — | j                  d«      r| j                  dd«      S | j                  dd«      S )zEHack to reformat old versions ending on '-alpha' to match pip format.z-alphaÚa0Úa)Úendswithrc   )r%   s    r   rb   rb   w   s2   € à×Ñ˜Ô!Ø�‰˜x¨Ó.Ð.Ø�?‰?˜8 SÓ)Ð)r   )r   N)F)r=   r\   Úpathlibr   Útypingr   rV   Úwasabir   r   r   r   Úutilr	   r
   r   r   r   r   Ú_utilr   Úcommandr   r   Úboolr_   r.   Ústrrb   r   r   r   ú<module>r~      s~   ðÛ 
Û Ý Ý ã ß å ÷÷ õ ð €‡�ˆZÓñó ðó(ñV(˜4ð (¨E°$¸°*Ñ,=ó (ðV*˜cð * cô *r   