of course but to be honest still don't understand the problem i am facing
i can't really determine if it's my setup problem or this an existing issue
in the source code itself

On Sun, Mar 15, 2026 at 2:34 AM Travis Scrimshaw <[email protected]> wrote:

> It seems to me you would certainly want the interface to work in a manner
> that is consistent with the other interfaces.
>
> Best,
> Travis
>
>
> On Sunday, March 15, 2026 at 1:07:37 AM UTC+9 [email protected] wrote:
>
>>
>> so i have install the package
>> `pip install mathics3` and i get this huge error log
>> would this be the objective of the project 'Improve integration with
>> Mathics'
>> or this an isolated error for machine because i can't really i identify
>> the error
>> i thought it was a mismatch in npmath package but that didn't solve it
>> and there are a problem when calling the .sage() function to convert the
>> object to a sageobj
>> (sage-dev) >>>    sage [develop] pip list | grep -i mathics
>> Mathics_Scanner               2.0.0
>> Mathics3                      9.0.0
>> (sage-dev) >>>    sage [develop] python --version
>> Python 3.12.12
>> (sage-dev) >>>    sage [develop] which python
>> /home/rashad/.conda/envs/sage-dev/bin/python
>> (sage-dev) >>>    sage [develop]
>> (sage-dev) >>>    sage [develop] ./sage
>> ┌────────────────────────────────────────────────────────────────────┐
>> │ SageMath version 10.9.beta7, Release Date: 2026-02-25              │
>> │ Using Python 3.12.12. Type "help()" for help.                      │
>> └────────────────────────────────────────────────────────────────────┘
>> ┏━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┓
>> ┃ Warning: this is a prerelease version, and it may be unstable.     ┃
>> ┗━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━┛
>> sage: from sage.interfaces.mathics import mathics
>> sage: mobj = mathics(x^2 - 1); mobj
>>
>> ---------------------------------------------------------------------------
>> AttributeError                            Traceback (most recent call
>> last)
>> File ~/sage/sage/src/sage/interfaces/interface.py:329, in
>> Interface._coerce_from_special_method(self, x)
>>     328 try:
>> --> 329     return (x.__getattribute__(s))(self)
>>     330 except AttributeError:
>>
>> File sage/structure/sage_object.pyx:979, in
>> sage.structure.sage_object.SageObject._mathics_()
>>
>> File sage/symbolic/expression.pyx:1123, in
>> sage.symbolic.expression.Expression._interface_()
>>
>> File sage/structure/sage_object.pyx:723, in
>> sage.structure.sage_object.SageObject._interface_()
>>
>> File ~/sage/sage/src/sage/interfaces/interface.py:294, in
>> Interface.__call__(self, x, name)
>>     293 if isinstance(x, str):
>> --> 294     return cls(self, x, name=name)
>>     295 try:
>>     296     # Special methods do not and should not have an option to
>>     297     # set the name directly, as the identifier assigned by the
>>     298     # interface should stay consistent. An identifier with a
>>     299     # user-assigned name might change its value, so we return a
>>     300     # new element.
>>
>> File ~/sage/sage/src/sage/interfaces/interface.py:732, in
>> InterfaceElement.__init__(self, parent, value, is_name, name)
>>     731 try:
>> --> 732     self._name = parent._create(value, name=name)
>>     733 except (TypeError, RuntimeError, ValueError) as x:
>>
>> File ~/sage/sage/src/sage/interfaces/interface.py:515, in
>> Interface._create(self, value, name)
>>     514 name = self._next_var_name() if name is None else name
>> --> 515 self.set(name, value)
>>     516 return name
>>
>> File ~/sage/sage/src/sage/interfaces/mathics.py:596, in Mathics.set(self,
>> var, value)
>>     595 cmd = f'{var}={value};'
>> --> 596 _ = self.eval(cmd)
>>
>> File ~/sage/sage/src/sage/interfaces/mathics.py:579, in
>> Mathics.eval(self, code, *args, **kwds)
>>     570 """
>>     571 Evaluates a command inside the Mathics interpreter and returns
>> the output
>>     572 in printable form.
>>    (...)    577     '2'
>>     578 """
>> --> 579 res = self._eval(code)
>>     580 if res.result == 'Null':
>>
>> File ~/sage/sage/src/sage/interfaces/mathics.py:562, in
>> Mathics._eval(self, code)
>>     553 """
>>     554 Evaluates a command inside the Mathics interpreter and returns
>> the output
>>     555 as a Mathics result.
>>    (...)    560     <Integer: 2>
>>     561 """
>> --> 562 self._lazy_init()
>>     563 S = self._session
>>
>> File ~/sage/sage/src/sage/interfaces/mathics.py:499, in
>> Mathics._lazy_init(self)
>>     498 self._initialized = True
>> --> 499 self._start()
>>
>> File ~/sage/sage/src/sage/interfaces/mathics.py:514, in
>> Mathics._start(self)
>>     513 if not self._session:
>> --> 514     from mathics.session import MathicsSession
>>     515     from mathics.core.load_builtin import import_and_load_builtins
>>
>> File
>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/session.py:19
>>      17 from mathics_scanner.location import ContainerKind
>> ---> 19 from mathics.core.definitions import Definitions
>>      20 from mathics.core.evaluation import Evaluation, Result
>>
>> File
>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/core/definitions.py:17
>>      15 from mathics_scanner.tokeniser import full_names_pattern
>> ---> 17 from mathics.core.atoms import Integer, String
>>      18 from mathics.core.attributes import A_NO_ATTRIBUTES
>>
>> File
>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/core/atoms.py:50
>>      47 T = TypeVar("T")
>> ---> 50 class Number(Atom, ImmutableValueMixin, NumericOperators,
>> Generic[T]):
>>      51     """
>>      52     Different kinds of Mathics Numbers, the main built-in
>> subclasses
>>      53     being: Integer, Rational, Real, Complex.
>>      54     """
>>
>> File
>> ~/.conda/envs/sage-dev/lib/python3.12/site-packages/mathics/core/atoms.py:119,
>> in Number()
>>     117     return True
>> --> 119 def to_mpmath(self, precision: Optional[int] = None) ->
>> mpmath.ctx_mp_python.mpf:
>>     120     """
>>     121     Convert self.value to an mpmath number with precision
>> ``precision``
>>     122     If ``precision`` is None, use mpmath's default precision.
>>    (...)    127     change the implementation accordingly.
>>     128     """
>>
>> AttributeError: module 'mpmath.ctx_mp_python' has no attribute 'mpf'
>>
>> During handling of the above exception, another exception occurred:
>>
>> TypeError                                 Traceback (most recent call
>> last)
>> Cell In[2], line 1
>> ----> 1 mobj = mathics(x**Integer(2) - Integer(1)); mobj
>>
>> File ~/sage/sage/src/sage/interfaces/interface.py:301, in
>> Interface.__call__(self, x, name)
>>     294     return cls(self, x, name=name)
>>     295 try:
>>     296     # Special methods do not and should not have an option to
>>     297     # set the name directly, as the identifier assigned by the
>>     298     # interface should stay consistent. An identifier with a
>>     299     # user-assigned name might change its value, so we return a
>>     300     # new element.
>> --> 301     result = self._coerce_from_special_method(x)
>>     302     return result if name is None else result.name(new_name=name)
>>     303 except TypeError:
>>
>> File ~/sage/sage/src/sage/interfaces/interface.py:331, in
>> Interface._coerce_from_special_method(self, x)
>>     329     return (x.__getattribute__(s))(self)
>>     330 except AttributeError:
>> --> 331     return self(x._interface_init_())
>>
>> File sage/symbolic/expression.pyx:1151, in
>> sage.symbolic.expression.Expression._interface_init_()
>>
>> TypeError: _interface_init_() takes exactly 1 positional argument (0
>> given)
>> sage:
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to [email protected].
> To view this discussion visit
> https://groups.google.com/d/msgid/sage-devel/4ea9449d-9ead-4f51-81d6-e51a0624fa29n%40googlegroups.com
> <https://groups.google.com/d/msgid/sage-devel/4ea9449d-9ead-4f51-81d6-e51a0624fa29n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
To view this discussion visit 
https://groups.google.com/d/msgid/sage-devel/CAF6XCME-Ju7Wa-Ot7gwRQ1Y3ZCNwhQBUwT8SW1jqM49rW6%3DCqw%40mail.gmail.com.

Reply via email to