Script 'mail_helper' called by obssrc
Hello community,

here is the log from the commit of package python-Mathics for openSUSE:Factory 
checked in at 2026-05-09 12:59:45
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:Factory/python-Mathics (Old)
 and      /work/SRC/openSUSE:Factory/.python-Mathics.new.1966 (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "python-Mathics"

Sat May  9 12:59:45 2026 rev:26 rq:1352055 version:10.0.0

Changes:
--------
--- /work/SRC/openSUSE:Factory/python-Mathics/python-Mathics.changes    
2025-11-02 22:33:20.696614491 +0100
+++ /work/SRC/openSUSE:Factory/.python-Mathics.new.1966/python-Mathics.changes  
2026-05-09 12:59:54.681327309 +0200
@@ -1,0 +2,12 @@
+Tue May  5 18:01:47 UTC 2026 - Atri Bhattacharya <[email protected]>
+
+- Update to version 10.0.0:
+  * Long list of changes, see
+    <https://github.com/Mathics3/mathics-core/releases/tag/10.0.0>
+- Disable python 3.11 from test flavour as it is currently
+  unresolvable due to an issue between python311-tifffile and
+  python311-scikit-image.
+- Manually add files `format_tests.yaml`, `makeboxes_tests.yaml`
+  needed for tests but missing from source tarball.
+
+-------------------------------------------------------------------

Old:
----
  Mathics3-9.0.0.tar.gz

New:
----
  Mathics3-10.0.0.tar.gz
  format_tests.yaml
  makeboxes_tests.yaml

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ python-Mathics.spec ++++++
--- /var/tmp/diff_new_pack.a9gPr0/_old  2026-05-09 12:59:55.241350288 +0200
+++ /var/tmp/diff_new_pack.a9gPr0/_new  2026-05-09 12:59:55.241350288 +0200
@@ -1,7 +1,7 @@
 #
 # spec file for package python-Mathics
 #
-# Copyright (c) 2025 SUSE LLC and contributors
+# Copyright (c) 2026 SUSE LLC and contributors
 #
 # All modifications and additions to the file contributed by third parties
 # remain the property of their copyright owners, unless otherwise agreed
@@ -21,6 +21,8 @@
 %if "%{flavor}" == "test"
 %bcond_without test
 %define psuffix -test
+# Skip python 3.11 for tests, since there are unrelated unresovables 
preventing build
+%define skip_python311 1
 %else
 %bcond_with test
 %define psuffix %{nil}
@@ -28,13 +30,16 @@
 
 %define pyname Mathics3
 Name:           python-Mathics%{psuffix}
-Version:        9.0.0
+Version:        10.0.0
 Release:        0
 Summary:        A general-purpose computer algebra system
 # Mathics itself is licensed as GPL-3.0 but it includes third-party software 
with MIT, BSD-3-Clause, and Apache-2.0 Licensing; also includes data from 
wikipedia licensed under CC-BY-SA-3.0 and GFDL-1.3
 License:        Apache-2.0 AND BSD-3-Clause AND GPL-3.0-only AND MIT
 URL:            https://mathics.github.io/
 Source0:        
https://github.com/Mathics3/mathics-core/releases/download/%{version}/%{pyname}-%{version}.tar.gz
+# Manually include files missed from source tarball but required for tests 
[gh#Mathics3/mathics-core#1830]
+Source1:        
https://raw.githubusercontent.com/Mathics3/mathics-core/refs/tags/10.0.0/test/format/format_tests.yaml
+Source2:        
https://raw.githubusercontent.com/Mathics3/mathics-core/refs/heads/master/test/format/makeboxes_tests.yaml
 BuildRequires:  %{python_module Mathics-Scanner >= 2.0.0}
 BuildRequires:  %{python_module colorama}
 BuildRequires:  %{python_module devel >= 3.10}
@@ -48,9 +53,10 @@
 BuildRequires:  %{python_module wheel}
 BuildRequires:  fdupes
 BuildRequires:  python-rpm-macros
-Requires:       python-Mathics-Scanner >= 2.0.0
+Requires:       python-Mathics-Scanner >= 10.0.0
 Requires:       python-Pint
 Requires:       python-Pympler
+Requires:       python-Timed-Threads
 Requires:       python-mpmath >= 0.19
 Requires:       python-numpy
 Requires:       python-palettable
@@ -69,6 +75,7 @@
 BuildRequires:  %{python_module Mathics = %{version}}
 BuildRequires:  %{python_module Pillow >= 9.2}
 BuildRequires:  %{python_module Pint}
+BuildRequires:  %{python_module Timed-Threads}
 BuildRequires:  %{python_module chardet}
 BuildRequires:  %{python_module palettable}
 BuildRequires:  %{python_module pytest}
@@ -87,6 +94,8 @@
 %prep
 %autosetup -p1 -n mathics3-%{version}
 
+cp %{SOURCE1} %{SOURCE2} ./test/format/
+
 # REMOVE SHEBANGS FROM FILES INSTALLED TO NON-EXEC LOCATIONS
 pushd mathics
 for d in `find ./ -prune -type d`
@@ -109,6 +118,8 @@
 export USE_CYTHON=0
 %pyproject_install
 %python_clone -a %{buildroot}%{_bindir}/mathics
+%python_clone -a %{buildroot}%{_bindir}/mathics3
+%python_clone -a %{buildroot}%{_bindir}/mathics3-codeparser-parse
 %python_expand %fdupes %{buildroot}%{$python_sitelib}
 %endif
 
@@ -122,14 +133,20 @@
 %if %{without test}
 %post
 %python_install_alternative mathics
+%python_install_alternative mathics3
+%python_install_alternative mathics3-codeparser-parse
 
 %postun
 %python_uninstall_alternative mathics
+%python_uninstall_alternative mathics3
+%python_uninstall_alternative mathics3-codeparser-parse
 
 %files %{python_files}
 %license COPYING.txt
 %doc README.rst AUTHORS.txt
 %python_alternative %{_bindir}/mathics
+%python_alternative %{_bindir}/mathics3
+%python_alternative %{_bindir}/mathics3-codeparser-parse
 %{python_sitelib}/mathics/
 %{python_sitelib}/mathics3-%{version}*.*-info/
 %endif

++++++ Mathics3-9.0.0.tar.gz -> Mathics3-10.0.0.tar.gz ++++++
++++ 76881 lines of diff (skipped)

++++++ format_tests.yaml ++++++
++++ 861 lines (skipped)

++++++ makeboxes_tests.yaml ++++++
#  YAML file containing tests for basi MakeBoxes.
#  Has three levels:
#  1. Group of tests
#    2. Kind of expression
#      3. Form
#
#
#  ```MakeBoxes[expr, fmt_]```
#
#  Apply the format rules matching with `Format[expr, fmt]`, and then the 
MakeBoxes rules
#  matching with the result. If `fmt` is omitted, it is assumed  `StandardForm`.
#
#  For example,  `MakeBoxes[A+B, StandardForm]` applies first the format rule
#  `Format[Plus[x___], StandardForm] :> Infix[{x}, "+",...]` leading to
#  `Infix[{A,B},"+"]`
#  and then the MakeBoxes rule `Infix[{x}, "+",...]:> 
RowBox[{ToString[x[[1]]],"+",ToString[x[[2]]],...}`
#  leading to `RowBox[{"A","+","B"}]`.
#
#  The behavior is different if `expr` is of the form `inner//Form`, with 
`Form` an `$OutputForm`.
#  In that case, `Format[inner, Form]` is evaluated, then the MakeBoxes rules 
are applied, and finally,
#  the result is wrapped into different structures depending on what is `Form`.
#
#  Form is in `PrintForms`
#  =======================
#
#  ```MakeBoxes[expr//`Form`,fmt_]```
#  with Form in  $PrintForms  (InputForm, OutputForm, TeXForm, etc)
#  produce always an output of the form
#  ```InterpretationBox[`formatted`, Form[expr], opts...]```
#  with `formatted` a string or a string inside a StyleBox.
#
#  Form is `FullForm` or a form in `$BoxForm`
#  ==========================================
#
#  On the other hand, for FullForm, or forms in $BoxForm,
#  the result is of the form
#
#  ```TagBox[`formatted`,`Form`, `opts`]```
#  * For FullForm, `formatted` is a `StyleForm`, and TagBox does not have 
options.
#  * For $BoxForm's, `opts` is `Editable->True`, and `formatted` is a `FormBox`,
#      with the first element the boxed representation, and the second element 
keeping the
#     value of `Form`.
#
#  `expr` is a `Format` expression:
#  ================================
#
#  Another possibility is to state explicitly `Format[expr, form]` as the 
argument of MakeBoxes.
#  In that case, for forms in $PrintForms, the result is the same as if we 
evaluate over `form[expr]`.
#  For forms in `$BoxForms`, the result is similar to the one obtained from 
`form[expr]` but
#    * the result does not have the option `Editable->True`
#    * the second element of the TagBox is `Format[#1, form]&` instead of 
`form`.
#
#  `Format[expr, FullForm]` is not treated as `FullForm[expr]`, but as its 
literal expression:
#
#  ```MakeBoxes[Format[F[x],FullForm]]```
#  produces
#  ```RowBox[{"Format", "[", RowBox[{"F", "[","x","]"}], "]"}]
#
#
#  To run the tests in the interpreter:
#  ```
#  ./convert_yaml2json.py makeboxes_tests.yaml &&  $(WMAINTERPRETER) -f 
makeboxes_tests.m
#  ```
#
Basic Forms:
  Arithmetic:
    FullForm:
      expect: 'TagBox[StyleBox[RowBox[{"Plus", "[", RowBox[{"a", ",", 
RowBox[{"Times", "[", RowBox[{RowBox[{"-", "1"}], ",", "b"}], "]"}]}], "]"}], 
System`ShowSpecialCharacters-> False, System`ShowStringCharacters -> True, 
System`NumberMarks -> True], FullForm]'
      expr: MakeBoxes[a-b//FullForm]
    InputForm:
      expect: InterpretationBox[StyleBox["a - b", System`ShowStringCharacters 
-> True, NumberMarks-> True], InputForm[a - b], Editable -> True, AutoDelete -> 
True]
      expr: MakeBoxes[a-b//InputForm]
    OutputForm:
      expect: InterpretationBox[PaneBox["\"a - b\""], OutputForm[a - b], 
Editable-> False]
      expr: MakeBoxes[a-b//OutputForm]
    StandardForm:
      expect: RowBox[{"a", "-", "b"}]
      expr: MakeBoxes[a-b]
    TeXForm:
      expect: InterpretationBox["\"a-b\"", TeXForm[a-b], Editable -> True, 
AutoDelete-> True]
      expr: MakeBoxes[a-b//TeXForm]
  Expression:
    Format:
      expect: TagBox[FormBox[RowBox[List["F", "[", "x", "]"]], StandardForm], 
(Format[#1, StandardForm])&]
      expr: MakeBoxes[Format[F[x], StandardForm]]
    TraditionalForm:
      expect: TagBox[FormBox[RowBox[List["F", "(", "x", ")"]], 
TraditionalForm], TraditionalForm, Editable-> True]
      expr: MakeBoxes[F[x]//TraditionalForm]
    FullForm:
      expect: TagBox[StyleBox[RowBox[{"F", "[", "x", "]"}], 
ShowSpecialCharacters-> False, System`ShowStringCharacters -> True, 
System`NumberMarks -> True], FullForm]
      expr: MakeBoxes[F[x]//FullForm]
    InputForm:
      expect: InterpretationBox[StyleBox["F[x]", System`ShowStringCharacters -> 
True, NumberMarks-> True], InputForm[F[x]], Editable -> True, AutoDelete -> 
True]
      expr: MakeBoxes[F[x]//InputForm]
    OutputForm:
      expect: InterpretationBox[PaneBox["\"F[x]\""], OutputForm[F[x]], Editable 
->False]
      expr: MakeBoxes[F[x]//OutputForm]
    StandardForm:
      expect: RowBox[{"F", "[", "x", "]"}]
      expr: MakeBoxes[F[x]]
    TeXForm:
      expect: InterpretationBox["\"F(x)\"", TeXForm[F[x]], Editable -> True, 
AutoDelete-> True]
      expr: MakeBoxes[F[x]//TeXForm]
  Integer_negative:
    FullForm:
      expect: TagBox[StyleBox[RowBox[{"-", "14"}], ShowSpecialCharacters-> 
False, System`ShowStringCharacters -> True, System`NumberMarks -> True], 
FullForm]
      expr: MakeBoxes[-14//FullForm]
    InputForm:
      expect: InterpretationBox[StyleBox["-14", System`ShowStringCharacters -> 
True, System`NumberMarks -> True], InputForm[-14], Editable -> True, AutoDelete 
-> True]
      expr: MakeBoxes[-14//InputForm]
    OutputForm:
      expect: InterpretationBox[PaneBox["\"-14\""], OutputForm[-14], Editable 
-> False]
      expr: MakeBoxes[-14//OutputForm]
    StandardForm:
      expect: RowBox[{"-", "14"}]
      expr: MakeBoxes[-14]
    TeXForm:
      expect: 'InterpretationBox["\"-14\"", TeXForm[-14], Editable -> True, 
AutoDelete-> True]'
      expr: MakeBoxes[-14//TeXForm]
  Integer_positive:
    FullForm:
      expect: TagBox[StyleBox["14", System`ShowSpecialCharacters -> False, 
System`ShowStringCharacters-> True, System`NumberMarks -> True], FullForm]
      expr: MakeBoxes[14//FullForm]
    InputForm:
      expect: InterpretationBox[StyleBox["14", System`ShowStringCharacters -> 
True, NumberMarks-> True], InputForm[14], Editable -> True, AutoDelete -> True]
      expr: MakeBoxes[14//InputForm]
    OutputForm:
      expect: InterpretationBox[PaneBox["\"14\""], OutputForm[14], Editable -> 
False]
      expr: MakeBoxes[14//OutputForm]
    StandardForm:
      expect: "\"14\""
      expr: MakeBoxes[14]
    TeXForm:
      expect: 'InterpretationBox["\"14\"", TeXForm[14], Editable -> True, 
AutoDelete-> True]'
      expr: MakeBoxes[14//TeXForm]
  PrecisionReal:
    FullForm:
      expect: TagBox[StyleBox[RowBox[{"-", "14.`3."}], 
System`ShowSpecialCharacters -> False, System`ShowStringCharacters-> True, 
System`NumberMarks -> True], FullForm]
      expr: MakeBoxes[-14.`3//FullForm]
      msg: "In Mathics3, precision is always an integer number."
    InputForm:
      expr: MakeBoxes[-14.`3//InputForm]
      expect: InterpretationBox[StyleBox["-14.`3.", System`ShowStringCharacters 
-> True, NumberMarks-> True], InputForm[-14.`3], Editable -> True, AutoDelete 
-> True]
    OutputForm:
      expect: InterpretationBox[PaneBox["\"-14.\""], OutputForm[-14.0], 
Editable-> False]
      expr: MakeBoxes[-14.0//OutputForm]
    StandardForm:
      expect: RowBox[{"-","14.`3."}]
      expr: MakeBoxes[-14.`3]
    TeXForm:
      expr: MakeBoxes[-14.`3//TeXForm]
      expect: InterpretationBox["\"-14.0\"", TeXForm[-14.`3], Editable -> True, 
AutoDelete
        -> True]
  Symbol:
    FullForm:
      expect: TagBox[StyleBox["x", System`ShowSpecialCharacters -> False, 
System`ShowStringCharacters-> True, System`NumberMarks -> True], FullForm]
      expr: MakeBoxes[x//FullForm]
    InputForm:
      expect: InterpretationBox[StyleBox["x", System`ShowStringCharacters -> 
True, NumberMarks-> True], InputForm[x], Editable -> True, AutoDelete -> True]
      expr: MakeBoxes[x//InputForm]
    OutputForm:
      expect: InterpretationBox[PaneBox["\"x\""], OutputForm[x], Editable -> 
False]
      expr: MakeBoxes[x//OutputForm]
    StandardForm:
      expect: "\"x\""
      expr: MakeBoxes[x]
    TeXForm:
      expect: InterpretationBox["\"x\"", TeXForm[x], Editable -> True, 
AutoDelete-> True]
      expr: MakeBoxes[x//TeXForm]
Numbers:
  "MachineReal, positive":
    StandardForm:
      expr: MakeBoxes[1.4`]
      expect: "\"1.4`\""
      msg: "StandardForm always shows a precision mark."
    OutputForm:
      expr: MakeBoxes[1.4`//OutputForm]
      expect: InterpretationBox[PaneBox["\"1.4\""], OutputForm[1.4], Editable 
-> False]
      msg: "MachineReal, OutputForm."
  "MachineReal, negative":
    StandardForm:
      expr: MakeBoxes[-1.4`]
      expect: RowBox[{"-", "1.4`"}]
      msg: "StandardForm always shows a precision mark."
    OutputForm:
      expr: MakeBoxes[-1.4`//OutputForm]
      expect: InterpretationBox[PaneBox["\"-1.4\""], OutputForm[-1.4], Editable 
-> False]
      msg: "MachineReal, negative,  OutputForm."
  "MachineReal, Large":
    StandardForm:
      expr: MakeBoxes[34.*^3]
      expect: "\"34000.`\""
  "MachineReal, Very Large":
    StandardForm:
      expr: MakeBoxes[34.*^9]
      expect: "\"3.4`*^10\""
  "PrecisionReal, Few Digits":
    StandardForm:
      expr: MakeBoxes[3.142`3]
      expect: "\"3.142`3.\""
      msg: "StandardForm with PrecisionReal shows all the stored digits, and 
precision."
    OutputForm:
      expr: MakeBoxes[OutputForm[3.142`3]]
      expect: InterpretationBox[PaneBox["\"3.14\""], OutputForm[3.14], Editable 
-> False]
      msg: "OutputForm trims digits up to precision."
  "PrecisionReal, Many Digits":
    StandardForm:
      expr: MakeBoxes[1.4`20]
      expect: "\"1.4`20.\""
      msg: "In Mathics3, precision is always an integer number."
  "PrecisionReal, Many Accuracy":
    StandardForm:
      expr: MakeBoxes[1.5``20]
      expect: "\"1.5`20.176091259055685\""
      msg: "In Mathics3, precision is always an integer number."
  "PrecisionReal, Zero_LowPrec":
    StandardForm:
      expr: MakeBoxes[0.`3]
      expect: "\"0.`\""
  "PrecisionReal, Zero_LargePrec":
    StandardForm:
      expr: MakeBoxes[0.`30]
      expect: "\"0.`\""
  "PrecisionReal, Zero_Accuracy":
    StandardForm:
      expr: MakeBoxes[0.``30]
      expect: "\"0``30.\""
      msg: "In Mathics3, precision is always an integer number."
Graphics:
  "Disk":
    StandardForm:
      expr: "MakeBoxes[Graphics[{Disk[{0,0}, 1]}]]"
      expect: "GraphicsBox[{DiskBox[{0, 0}, 1]}]"
    OutputForm:
      expr: "MakeBoxes[Graphics[{Disk[{0,0}, 1]}]//OutputForm]"
      expect: InterpretationBox[PaneBox["\"-Graphics-\""], 
OutputForm[Graphics[{Disk[{0, 0}, 1]}]], Editable -> False]
  "Sphere":
    StandardForm:
      expr: "MakeBoxes[Graphics3D[{Sphere[{0,0,0}, 1]}]]"
      expect: "Graphics3DBox[{SphereBox[{0, 0,0}, 1]}]"
    OutputForm:
      expr: "MakeBoxes[Graphics3D[{Sphere[{0,0,0}, 1]}]//OutputForm]"
      expect: InterpretationBox[PaneBox["\"-Graphics3D-\""], 
OutputForm[Graphics3D[{Sphere[{0, 0, 0}, 1]}]], Editable -> False]
"Parsing string form":
  "RowBox":
    StandardForm:
      expr: "\\( a, b \\)"
      expect: RowBox[{"a", ",", "b"}]
      msg: "TODO: Parsing of special characters (like commas)."
  "FractionBox":
    StandardForm:
      expr: "\\(x \\/ y + z\\)"
      expect: RowBox[{FractionBox["x", "y"], "+", "z"}]
  "FractionBox bracket":
    StandardForm:
      expr: "\\(x \\/ (y + z)\\)"
      expect: FractionBox["x", RowBox[{"(", RowBox[{"y", "+", "z"}], ")"}]]
  "SqrtBox":
    StandardForm:
      expr: "\\( \\@ a + b \\)"
      expect: RowBox[{SqrtBox["a"], "+", "b"}]
  "FormBox":
    StandardForm:
      expr: "\\(TraditionalForm \\` a + b\\)"
      expect: FormBox[RowBox[{"a", "+", "b"}], TraditionalForm]

Reply via email to