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]
