
    \h;                         S r SSKJr  SSKJr  SSKJr  SSKJr  Sr	Sr
SrSS jrS rS rS rS/ S
S
4S jrS rSS	SSSS
S
S
SSS/ 4S jrg)z+Tools for setting up interactive sessions.     )GROUND_TYPES)version_tuple)init_printing)ARCHzfrom sympy import *
x, y, z, t = symbols('x y z t')
k, m, n = symbols('k m n', integer=True)
f, g, h = symbols('f g h', cls=Function)
init_printing()
zjThese commands were executed:
%(source)s
Documentation can be found at https://docs.sympy.org/%(version)s
zCould not locate IPython. Having IPython installed is greatly recommended.
See http://ipython.scipy.org for more details. If you use Debian/Ubuntu,
just install the 'ipython' package and start isympy again.
TFNc                 .   SSK Jn  SSK Jn  SSKnSSKnU(       a  gSUR
                  SS -  nU (       a  SnOS	nS
[        -  /n	UR                  S5      n
U
b%  U
R                  5       S:X  a  U	R                  S5        U(       a  U	R                  S5        XU[        SR                  U	5      4nSU-  nUc  [        nSnUR                  S5      SS  H  nU(       d  US-  nM  USU-   S-   -  nM     UnSU;   a  SnOSU-  nUS[        UUS.-  -   -  nU$ )z,Create a banner for an interactive session. r   )__version__)SYMPY_DEBUGN z%d.%d.%d   IPythonPythonzground types: %sSYMPY_USE_CACHEnoz
cache: offzdebugging: onz, z,%s console for SymPy %s (Python %s-%s) (%s)

z>>> devz%s/)sourceversion)sympyr   r	   sysosversion_infor   getenvlowerappendr   joinpreexec_sourcesplitverbose_message)ipythonquietr   sympy_versionr	   r   r   python_version
shell_nameinfocacheargsmessage_sourcelinedoc_versions                   Q/var/www/auris/envauris/lib/python3.13/site-packages/sympy/interactive/session.py_make_messager-      s5   2!#"2"22A"66N

-.DII'(EU[[]d2L!O$ndDIIdOKD=DG~GT"3B'tOGv}t++G	 (  Kk)to74?)A A A AG N    c                    SSK JnJnJnJnJn  SSKJn  S n/ nU" U" U 5      R                  5      n	U	 HJ  u  p    nX:X  a+  U" U5      (       a  UR                  US4US4X;4US4/5        M8  UR                  X45        ML     U" U5      $ )a+  
Wrap integer literals with Integer.

This is based on the decistmt example from
https://docs.python.org/3/library/tokenize.html.

Only integer literals are converted.  Float literals are left alone.

Examples
========

>>> from sympy import Integer # noqa: F401
>>> from sympy.interactive.session import int_to_Integer
>>> s = '1.2 + 1/2 - 0x12 + a1'
>>> int_to_Integer(s)
'1.2 +Integer (1 )/Integer (2 )-Integer (0x12 )+a1 '
>>> s = 'print (1/2)'
>>> int_to_Integer(s)
'print (Integer (1 )/Integer (2 ))'
>>> exec(s)
0.5
>>> exec(int_to_Integer(s))
1/2
r   )generate_tokens
untokenizeNUMBERNAMEOP)StringIOc                 b    SU ;   d(  SU R                  5       ;   d  SU R                  5       ;   a  gg)zM
Returns true if string value num (with token NUMBER) represents an integer.
.jeFT)r   )nums    r,   _is_intint_to_Integer.<locals>._is_intq   s+    
 #:		+sciik/Ar.   Integer())tokenizer0   r1   r2   r3   r4   ior5   readlineextendr   )sr0   r1   r2   r3   r4   r5   r;   resultgtoknumtokval_s                r,   int_to_IntegerrJ   U   s    2 GF F,,-A#$1aMMy!S	 S		  MM6*+ $% fr.   c                 B   ^^ SSK mU R                  mUU4S jnXl        g)zE
Allow IPython to automatically convert integer literals to Integer.
r   Nc                 v   >  TR                  U 5        [        U 5      n T" U /UQ70 UD6$ ! [         a     Nf = fN)parserJ   SyntaxError)cellr'   kwargsastold_run_cells      r,   my_run_cell7enable_automatic_int_sympification.<locals>.my_run_cell   sJ    
	( IIdO "$'DD242622	  		s   + 
88)rR   run_cell)shellrT   rR   rS   s     @@r,   "enable_automatic_int_sympificationrX      s     >>L3 !Nr.   c                 n   ^ SSK nUR                  S5      mSU4S jjnU R                  [        4U5        g)z?Allow IPython to automatically create symbols (``isympy -a``). r   Nz8name '(?P<symbol>[A-Za-z_][A-Za-z0-9_]*)' is not definedc                   > U[         L a  UR                  (       a  UR                  R                  (       d  TR                  [        U5      5      nUbk  U R	                  SSUR                  S5      0-  SS9   U R                  S   S   nU R	                  USS9   U R	                  SUR                  S5      -  SS9  gU R                  R                  XX4S	9nU R                  XU5        g! [        [        4 a     Of = f U R	                  SUR                  S5      -  SS9  Ng! U R	                  SUR                  S5      -  SS9  f = f)
zJHandle :exc:`NameError` exception and allow injection of missing symbols. Nz!%(symbol)s = Symbol('%(symbol)s')symbolF)store_historyInr   zdel %s)	tb_offset)	NameErrortb_nextmatchstrrV   groupuser_nsKeyError
IndexErrorInteractiveTBstructured_traceback_showtraceback)	selfetypevaluetbr^   ra   codestbre_nameerrors	           r,   _handler*enable_automatic_symbols.<locals>._handler   sP   I"**RZZ5G5G &&s5z2E A'X)>?@OT  V	7<<-b1D MM$eM<MM(U[[-B"B05 " 7   55" 6 3E#. !*- 
 MM(U[[-B"B05 " 7DMM(U[[-B"B05 " 7s*   9C, D& ,C?<D& >C??D& &$E
rM   )recompileset_custom_excr_   )rW   rs   rq   rp   s      @r,   enable_automatic_symbolsrv      s4    N ::BDL/2 
)x0r.   c                    SSK n[        UR                  5      [        S5      :  a  U (       dc  [        UR                  5      [        S5      :  a  SSKJn  OSSKJn  UR                  5       nSUl        UR                  U5        UR                  n U(       a  [        U 5        U(       a  [        U 5        U $ SSKJn  U" U5      $ )zConstruct new IPython session. r   N0.11z1.0)ipappF)make_IPython)r   r   r   IPython.terminalry   IPython.frontend.terminalTerminalIPythonAppdisplay_banner
initializerW   rv   rX   IPython.Shellrz   )rW   argvauto_symbolsauto_int_to_Integerr   ry   apprz   s           r,   init_ipython_sessionr      s    W(()]6-BB
 W001]55II2;**,C "'CNN4 IIE$U+.u5.D!!r.   c                  :   ^ SSK Jm   " U4S jST5      n U " 5       $ )zConstruct new Python session. r   InteractiveConsolec                   &   > \ rS rSrSrU 4S jrSrg))init_python_session.<locals>.SymPyConsolei  z.An interactive console with readline support. c                   > 0 nTR                  XS9   SS KnSS KnSS KnSS KnUR                  UR                  U5      R                  5        UR                  S5        [        US5      (       aJ  UR                  R                  S5      n UR                  U5        UR                  UR                  U5        g g ! [         a     N*f = f! [          a     g f = f)N)localsr   ztab: completeread_history_filez~/.sympy-history)__init__rlcompleterrB   r   atexitset_completer	Completercompleteparse_and_bindhasattrpath
expanduserr   OSErrorregisterwrite_history_fileImportError)rj   	ns_localsr   rB   r   r   historyr   s          r,   r   2init_python_session.<locals>.SymPyConsole.__init__  s    I'''?J" &&{'<'<Y'G'P'PQ''88%899 gg001CDG 227; OOH$?$?I :
 #   s#   C B; ;
CC
CC N)__name__
__module____qualname____firstlineno____doc__r   __static_attributes__r   s   r,   SymPyConsoler     s    <	J 	Jr.   r   )rn   r   )r   r   s    @r,   init_python_sessionr   	  s    'J) J8 >r.   c                   ^ SSK nSnU SLa#   SSKn SSKJn  U" 5       m[        T5      nU c  Un U SL a  [        5       mTR                  nO][        TXUS9m[        WR                  5      [        S5      :  a  SU4S
 jjTl         TR                  SS9  U(       d  TR                  nU(       a4  U (       a"  [        WR                  5      [        S5      :  a  [	        S5      eU(       a4  U (       a"  [        WR                  5      [        S5      :  a  [	        S5      e[        nTR                  US	S9  [!        XX4TXU
S9  [#        XU5      nU(       d$  [%        U5        W" 5         UR'                  S5        g[%        U5        SSKnUR+                  S 5        g! [         a    Sm GNf = f! [         a    U SL a  [	        S5      eSm GNf = f! [         a     GNHf = f)uH  
Initialize an embedded IPython or Python session. The IPython session is
initiated with the --pylab option, without the numpy imports, so that
matplotlib plotting can be interactive.

Parameters
==========

pretty_print: boolean
    If True, use pretty_print to stringify;
    if False, use sstrrepr to stringify.
order: string or None
    There are a few different settings for this parameter:
    lex (default), which is lexographic order;
    grlex, which is graded lexographic order;
    grevlex, which is reversed graded lexographic order;
    old, which is used for compatibility reasons and for long expressions;
    None, which sets it to lex.
use_unicode: boolean or None
    If True, use unicode characters;
    if False, do not use unicode characters.
use_latex: boolean or None
    If True, use latex rendering if IPython GUI's;
    if False, do not use latex rendering.
quiet: boolean
    If True, init_session will not print messages regarding its status;
    if False, init_session will print messages regarding its status.
auto_symbols: boolean
    If True, IPython will automatically create symbols for you.
    If False, it will not.
    The default is False.
auto_int_to_Integer: boolean
    If True, IPython will automatically wrap int literals with Integer, so
    that things like 1/2 give Rational(1, 2).
    If False, it will not.
    The default is False.
ipython: boolean or None
    If True, printing will initialize for an IPython console;
    if False, printing will initialize for a normal console;
    The default is None, which automatically determines whether we are in
    an ipython instance or not.
str_printer: function, optional, default=None
    A custom string printer function. This should mimic
    sympy.printing.sstrrepr().
pretty_printer: function, optional, default=None
    A custom pretty printer. This should mimic sympy.printing.pretty().
latex_printer: function, optional, default=None
    A custom LaTeX printer. This should mimic sympy.printing.latex()
    This should mimic sympy.printing.latex().
argv: list of arguments for IPython
    See sympy.bin.isympy for options that can be used to initialize IPython.

See Also
========

sympy.interactive.printing.init_printing: for examples and the rest of the parameters.


Examples
========

>>> from sympy import init_session, Symbol, sin, sqrt
>>> sin(x) #doctest: +SKIP
NameError: name 'x' is not defined
>>> init_session() #doctest: +SKIP
>>> sin(x) #doctest: +SKIP
sin(x)
>>> sqrt(5) #doctest: +SKIP
  ___
\/ 5
>>> init_session(pretty_print=False) #doctest: +SKIP
>>> sqrt(5) #doctest: +SKIP
sqrt(5)
>>> y + x + y**2 + x**2 #doctest: +SKIP
x**2 + x + y**2 + y
>>> init_session(order='grlex') #doctest: +SKIP
>>> y + x + y**2 + x**2 #doctest: +SKIP
x**2 + y**2 + x + y
>>> init_session(order='grevlex') #doctest: +SKIP
>>> y * x**2 + x * y**2 #doctest: +SKIP
x**2*y + x*y**2
>>> init_session(order='old') #doctest: +SKIP
>>> x**2 + y**2 + x + y #doctest: +SKIP
x + y + x**2 + y**2
>>> theta = Symbol('theta') #doctest: +SKIP
>>> theta #doctest: +SKIP
theta
>>> init_session(use_unicode=True) #doctest: +SKIP
>>> theta # doctest: +SKIP
θ
r   NF)get_ipythonTz'IPython is not available on this system)r   r   r   rx   execc                 (   > TR                  U S5      $ )NF)rV   )srcr[   ips     r,   <lambda>init_session.<locals>.<lambda>  s    bkk#u6Mr.   )
import_allzKautomatic construction of symbols is possible only in IPython 0.11 or abovezQautomatic int to Integer transformation is possible only in IPython 0.11 or above)r[   )pretty_printorderuse_unicode	use_latexr   str_printerpretty_printerlatex_printerzExiting ...c                      [        S5      $ )NzExiting ...
)printr   r.   r,   r   r     s	    o 6r.   )r   )r   r   r   r   RuntimeErrorboolr   interactr   r   r   	runsourceenable_pylab	Exceptionmainloopr   r   r-   r   exitr   r   )r    r   r   r   r   r!   r   r   r   r   r   r   r   
in_ipythonr   r   r   _preexec_sourcer(   r   r   s                       @r,   init_sessionr   ,  s   ~ Je	/ ] "X
? G% ";;!"46IK ,,-v1FF NBL51 {{HWg6I6I(J][aMb(bhiiG}W=P=P/QTabhTi/inoo$OLLL0|)2) -/
 GO<Gg
g67k    	$"#LMMB	<  
 s4   F. F G F+*F+.GG
GG)TFN)r   sympy.external.gmpyr   sympy.external.importtoolsr   sympy.interactive.printingr   sympy.utilities.miscr   r   r   
no_ipythonr-   rJ   rX   rv   r   r   r   r   r.   r,   <module>r      s}    1 , 4 4 %
3l1h!0D1N  $"5V[ "B F D!TU%*T#"c8r.   