Skip to content

Commit

Permalink
Release 8.0.0 (#1319)
Browse files Browse the repository at this point in the history
Perform mostly administrative stuff that is needed for release. Change version number, use PyPI mathics-scanner, update CHANGES.rst, etc.
  • Loading branch information
rocky authored Jan 26, 2025
1 parent e1bd5dc commit e09f8da
Show file tree
Hide file tree
Showing 12 changed files with 685 additions and 1,016 deletions.
11 changes: 6 additions & 5 deletions .github/workflows/consistency-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,12 +22,13 @@ jobs:
run: |
sudo apt update -qq && sudo apt install llvm-dev remake
python -m pip install --upgrade pip
# We can comment out after next Mathics-Scanner release
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
git clone https://github.com/Mathics3/mathics-scanner.git
cd mathics-scanner/
pip install -e .
cd ..
# We can comment out after next Mathics-Scanner release
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
# git clone https://github.com/Mathics3/mathics-scanner.git
# cd mathics-scanner/
# pip install -e .
# cd ..
- name: Install Mathics with minimum dependencies
run: |
Expand Down
13 changes: 7 additions & 6 deletions .github/workflows/mypy.yml
Original file line number Diff line number Diff line change
Expand Up @@ -22,20 +22,21 @@ jobs:
run: |
sudo apt update -qq && sudo apt install llvm-dev remake
python -m pip install --upgrade pip
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
# We can comment out after next Mathics-Scanner release
git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git
cd mathics-scanner/
pip install -e .
cd ..
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
# We can comment out after next Mathics-Scanner release
# git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# cd mathics-scanner/
# pip install -e .
# cd ..
- name: Install Mathics with minimum dependencies
run: |
make develop
- name: Run mypy
run: |
pip install mypy==1.13 sympy==1.12
git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
touch ./mathics-scanner/mathics_scanner/py.typed
pip install ./mathics-scanner/
mypy --install-types --non-interactive mathics
10 changes: 5 additions & 5 deletions .github/workflows/pyodide.yml
Original file line number Diff line number Diff line change
Expand Up @@ -55,12 +55,12 @@ jobs:
pip install "setuptools>=70.0.0" PyYAML click packaging pytest
# We can comment out after next Mathics-Scanner release
git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git
cd mathics-scanner/
pip install --no-build-isolation -e .
cd ..
# cd mathics-scanner/
# pip install --no-build-isolation -e .
# cd ..
make mathics/data/op-tables.json mathics/data/operator-tables.json
pip install --no-build-isolation -e .
make mathics/data/op-tables.json mathics/data/operator-tables.json
make -j3 check
6 changes: 3 additions & 3 deletions .github/workflows/ubuntu-cython.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,10 +30,10 @@ jobs:
pip install -e .
cd ..
# We can comment out after next Mathics-Scanner release
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
# git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git
cd mathics-scanner/
# cd mathics-scanner/
pip install -e .
cd ..
Expand Down
12 changes: 6 additions & 6 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -31,14 +31,14 @@ jobs:
cd ..
# We can comment out after next Mathics-Scanner release
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git
cd mathics-scanner/
pip install -e .
python -m mathics_scanner.generate.build_tables
cd ..
# cd mathics-scanner/
# pip install -e .
# python -m mathics_scanner.generate.build_tables
# cd ..
# python -m pip install Mathics-Scanner[full]
python -m pip install Mathics-Scanner[full]
remake -x develop-full
- name: Test Mathics
run: |
Expand Down
11 changes: 6 additions & 5 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,13 +39,14 @@ jobs:
pip install -e .
cd ..
# We can comment out after next Mathics-Scanner release
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
# git clone --depth 1 https://github.com/Mathics3/mathics-scanner.git
# git clone --single-branch --branch operator-refactor-part1.5 https://github.com/Mathics3/mathics-scanner.git
cd mathics-scanner
# cd mathics-scanner
# pip install -e .
# python -m mathics_scanner.generate.build_tables
# cd ..
pip install -e .
python -m mathics_scanner.generate.build_tables
cd ..
# python -m pip install Mathics-Scanner[full]
make develop-full
Expand Down
3 changes: 3 additions & 0 deletions .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,10 @@ repos:
- id: check-merge-conflict
- id: debug-statements
stages: [pre-commit]
exclude: ChangeLog-spell-corrected.diff
- id: end-of-file-fixer
stages: [pre-commit]
exclude: ChangeLog-spell-corrected.diff
- repo: https://github.com/pycqa/isort
rev: 5.13.2
hooks:
Expand All @@ -19,4 +21,5 @@ repos:
hooks:
- id: black
language_version: python3
exclude: 'mathics/version.py'
stages: [pre-commit]
30 changes: 25 additions & 5 deletions CHANGES.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,14 +4,19 @@ CHANGES
8.0.0
-----

Jan 26, 2025

This release is to get out some of the major changes that have gone on
already in advance of redoing Boxing and Formatting.

Code now supports the emscripten platform, so this code can be installed
in pyodide using ``micropip.install``.

Operators are now controlled from a new operators YAML table from the
``mathics-scanner`` repository. A pass was made over the Mathics parser
to handle box operators more properly. More work is needed here.

We started adding more debugging capabilites:
We started adding more debugging capabilities:

* ``Breakpoint[]``
* ``Stack[]``, and
Expand All @@ -23,12 +28,12 @@ And in the ``Mathics3-Trepan`` repository:
* ``Debugger[]``, and
* ``TraceActivate[]``

Option ``--post-mortem`` was added which goes into the `trepan3k debugger <https https://pypi.org/project/trepan3k/>`_ on an unrecoverable error. This option is available on other front-ends..
Option ``--post-mortem`` was added which goes into the `trepan3k debugger <https https://pypi.org/project/trepan3k/>`_ on an unrecoverable error. This option is available on other front ends..

This debuggign code is very much alpha quality, but it greatly
This debugging code is very much alpha quality, but it greatly
improves the ability to debug problems in loading existing packages
written from Mathematica. So packages ``BoolEval`` and ``CleanSlate``
were added to the repostiory.
were added to the repository.

Also as a result of the improved ability to debug Mathics3, we now
provide a version of Rubi 4.17 using git submodules . To use this you
Expand Down Expand Up @@ -85,6 +90,12 @@ By `@davidar <https://github.com/davidar>`_:
* ``SquaresR``
* ``Subfactorial``

Documentation
+++++++++++++

* Unicode operators appears in Django documentation. In the PDF, AMSLaTeX is used.
* Summaries of builtin functions have been improved and regularized

``mathics`` command line
++++++++++++++++++++++++

Expand All @@ -98,14 +109,19 @@ WMA Compatibility
* ``GetEnvironment`` expanded to handle ``[]`` and ``{var1, var2,...}`` forms
* The system ``packages`` directory has been renamed ``Packages`` to conformance with WMA.
* ``$Path`` now includes a ``Packages`` directory under ``$HOME``.
* All of the 100 or so Unicode operators without a pre-defined meaning are now supported

Internals
---------

* More of the on-OO evaluation code that forms what might be an
instruction evaluator has been moved out of module
instruction evaluator has been moved out of the module
``mathics.builtins`` put in ``mathics.eval``. This includes code for
plotting, and making boxes.
* nested ``TimeConstraint[]`` works via external Python module ``stopit``.
* ``Pause[]`` is more interuptable
* More code has been linted, more type errors removed, and docstrings added/improved


Performance
-----------
Expand Down Expand Up @@ -133,6 +149,8 @@ Bugs
----

* Fix infinite recursion when formatting ``Sequence[...]``
* Parsing ``\(`` ... ``\)`` improved
* Fixed #1105, #1106, #1107, #1172 #1173, #1195, #1205, #1221, #1223, and #1228 among others

Mathics3 Packages
+++++++++++++++++
Expand All @@ -159,6 +177,8 @@ Python Package Updates
7.0.0
-----

Aug 9, 2024

Some work was done here in support of planned future improvements like
lazy loading of builtin functions. A bit of effort was also spent to
modernize Python code and style, add more type annotations, remove
Expand Down
Loading

0 comments on commit e09f8da

Please sign in to comment.