
    Mg|                        S SK 7  S SKrS SKr\" S5        / rS r\R                   Hq  r\" \5      (       a  \" SR                  \S   5      5        M,  \" SR                  \S   5      5        SR                  \S   \S	   5      r
\R                  \
\45        Ms     \" S
5        \R                  S5         \" \5      r\" S5        \" S5        \S:X  a  gSr\" \S   5        \" S5        \" \S   5        S\R                  5       ;   a_  \R                   " \S   5      r\SLaE  \R                   " \R$                  5      rSR                  \\5      r\" SR                  \5      5        \" S5        \" S5        \" S5        \" S5        \" S5        \" \5      (       a9  \" S5        \ V s/ s H"  o S    R-                  \S   5      (       a  M   U PM$     sn rO\" S5        \" S5        GM3  s  sn f )    )*NzCheck optional requirementsc                 R   SU R                  5       ;   aT  SR                  U S   5      nSR                  [        R                  U5      n[        U5      R                  5       (       a  ggSU R                  5       ;   a+  SnU S    H  n[        U5      (       a  M  SnM     U(       a  ggg )Npip z{} install -U {}TF
executable)keysjoinformatunix_windowsVIRTUALENV_PIPshellsuccessexecutable_exists)requirementpackagesCMDrequirement_okr   s        >/Users/admin/workspace/ai/Jarvis/installer/steps/d_optional.pycheck_optional_requirementr      s      ""88K./ ''(C(CXN:	))+	+%l3J$Z00!& 4  
,    z* Success: {}namez
* Fail: {}z{} - {}descriptionz*Install *optional* non-python requirements)zInstall nothingexit r   instructionpackage_guessFz{} {}z%
Our tip on how to install this: 
>{}z
continue  zSuccess!z*Sorry; but looks like this did not work...)helperoptionalr   sectionrequirements_failedr   OPTIONAL_REQUIREMENTSr   printlogr
   textappend
user_inputprintguessr   	get_guesspackagePackageManagerpackage_managercmdinput
startswith)xs   0r   <module>r0      s      % & ( 11K!+..''F(;<=$$[%89:F 3[5OP""D+#67 2 4 5   6 7
01K	"I	"IfE[ !RL['(+**,,$$[%AB%&001H1HIO..':C;BB3GH	"I	,	"I	"I	"I!+..*=j*=QqT__U`agUhEiq*=j=>	"IA : ks   )G)G)