From 47cef09a7e56d8ae11391eab80ccc89d88f213e7 Mon Sep 17 00:00:00 2001 From: rocky Date: Fri, 3 Apr 2026 06:17:24 -0400 Subject: [PATCH 1/6] Roll in Python 3.14 and out 3.10 --- .github/workflows/isort-and-black-checks.yml | 4 ++-- .github/workflows/macos.yaml | 4 ++-- .github/workflows/ubuntu.yml | 6 +++--- .github/workflows/windows.yml | 12 ++++++------ mathicsscript/termshell.py | 4 ++-- pyproject.toml | 4 ++-- 6 files changed, 17 insertions(+), 17 deletions(-) diff --git a/.github/workflows/isort-and-black-checks.yml b/.github/workflows/isort-and-black-checks.yml index 865daa8..87ca38a 100644 --- a/.github/workflows/isort-and-black-checks.yml +++ b/.github/workflows/isort-and-black-checks.yml @@ -10,10 +10,10 @@ jobs: runs-on: ubuntu-latest steps: - uses: actions/checkout@v6 - - name: Set up Python 3.13 + - name: Set up Python 3.14 uses: actions/setup-python@v6 with: - python-version: 3.13 + python-version: 3.14 - name: Install click, black and isort run: pip install 'click==8.2.1' 'black==25.11.0' 'isort==5.13.2' - name: Run black --check --diff . diff --git a/.github/workflows/macos.yaml b/.github/workflows/macos.yaml index acefb31..d5f2402 100644 --- a/.github/workflows/macos.yaml +++ b/.github/workflows/macos.yaml @@ -1,4 +1,4 @@ -name: mathicsscript (OSX) +name: mathicsscript (MacOS) on: push: @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [macOS] - python-version: ['3.11', '3.12', '3.13'] + python-version: ['3.11', '3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 10ded43..3295c20 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -11,11 +11,11 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.13', '3.10', '3.11', '3.12'] + python-version: ['3.13', '3.11', '3.12', '3.14'] steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install dependencies diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 0d3980c..4772614 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -1,4 +1,4 @@ -name: Mathics (Windows) +name: mathicsscript (Windows) on: push: @@ -12,11 +12,11 @@ jobs: strategy: matrix: os: [windows] - python-version: ['3.11', '3.13'] + python-version: ['3.11', '3.14'] steps: - - uses: actions/checkout@v5 + - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v5 + uses: actions/setup-python@v6 with: python-version: ${{ matrix.python-version }} - name: Install dependencies @@ -29,12 +29,12 @@ jobs: pip install -e . git clone --depth 1 https://github.com/Mathics3/Mathics3-scanner.git cd Mathics3-scanner/ - pip install -e . + pip install --no-build-isoloation -e . bash -x admin-tools/make-JSON-tables.sh cd .. git clone --depth 1 https://github.com/Mathics3/mathics-core.git cd mathics-core/ - pip install -e . + pip install --no-build-isolation -e . bash -x admin-tools/make-JSON-tables.sh cd .. - name: Install mathicsscript diff --git a/mathicsscript/termshell.py b/mathicsscript/termshell.py index 9b03ace..d9accf9 100644 --- a/mathicsscript/termshell.py +++ b/mathicsscript/termshell.py @@ -13,6 +13,7 @@ from mathics.core.atoms import String from mathics.core.attributes import attribute_string_to_number from mathics.core.expression import Expression, from_python # strip_context, +from mathics.core.parser import MathicsLineFeeder from mathics.core.rules import Rule from mathics.core.symbols import Symbol, SymbolNull from mathics.core.systemsymbols import SymbolMessageName @@ -28,6 +29,7 @@ # FIXME: __main__ shouldn't be needed. Fix term_background from term_background.__main__ import is_dark_background + mma_lexer = MathematicaLexer() ALL_PYGMENTS_STYLES = list(get_all_styles()) + ["None"] @@ -55,8 +57,6 @@ if not osp.isfile(HISTFILE): pathlib.Path(HISTFILE).touch() -from mathics.core.parser import MathicsLineFeeder - SymbolPygmentsStylesAvailable = Symbol("Settings`PygmentsStylesAvailable") diff --git a/pyproject.toml b/pyproject.toml index f918caa..872cfba 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ build-backend = "setuptools.build_meta" name = "mathicsscript" description = "Command-line interface to Mathics3" dependencies = [ - "Mathics_Scanner>2.0.0", + "Mathics_Scanner>9.0.0", "Mathics3 >= 9.0.0", "click >= 8.0.0", "colorama", @@ -22,7 +22,7 @@ dependencies = [ "mathics_pygments>=1.0.2", "term-background >= 1.0.1", ] -requires-python = ">=3.10" +requires-python = ">=3.11" readme = "README.rst" license = "GPL-3.0-or-later" keywords = ["Mathematica", "Wolfram", "Interpreter", "Shell", "Math", "CAS"] From eedeb1ab4e1366f8e4b931c0acbedb3c1b45d7ad Mon Sep 17 00:00:00 2001 From: rocky Date: Fri, 3 Apr 2026 06:20:37 -0400 Subject: [PATCH 2/6] CI builds need --no-build-isolation --- .github/workflows/macos.yaml | 7 ++++--- .github/workflows/ubuntu.yml | 5 +++-- .github/workflows/windows.yml | 6 +++--- pyproject.toml | 4 ++-- 4 files changed, 12 insertions(+), 10 deletions(-) diff --git a/.github/workflows/macos.yaml b/.github/workflows/macos.yaml index d5f2402..0f86246 100644 --- a/.github/workflows/macos.yaml +++ b/.github/workflows/macos.yaml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [macOS] - python-version: ['3.11', '3.12', '3.13', '3.14'] + python-version: ['3.12', '3.13', '3.14'] steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} @@ -23,16 +23,17 @@ jobs: run: | brew install asymptote python3 -m pip install --upgrade pip + python3 -m pip install setuptools # We can comment out after next Mathics3-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/Mathics3-scanner.git cd Mathics3-scanner/ - pip install -e . + pip install --no-build-isolation -e . bash -x admin-tools/make-JSON-tables.sh cd .. git clone --depth 1 https://github.com/Mathics3/mathics-core.git cd mathics-core/ - pip install -e . + pip install --no-build-isolation -e . bash -x admin-tools/make-JSON-tables.sh cd .. - name: Install mathicsscript diff --git a/.github/workflows/ubuntu.yml b/.github/workflows/ubuntu.yml index 3295c20..22c14bc 100644 --- a/.github/workflows/ubuntu.yml +++ b/.github/workflows/ubuntu.yml @@ -22,15 +22,16 @@ jobs: run: | sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev asymptote python3 -m pip install --upgrade pip + python3 -m pip install setuptools # We can comment out after next Mathics3-Scanner release git clone --depth 1 https://github.com/Mathics3/Mathics3-scanner.git cd Mathics3-scanner/ - pip install -e . + pip install --no-build-isolation -e . bash -x admin-tools/make-JSON-tables.sh cd .. git clone --depth 1 https://github.com/Mathics3/mathics-core.git cd mathics-core/ - pip install -e . + pip install --no-build-isolation -e . bash -x admin-tools/make-JSON-tables.sh cd .. - name: Install mathicsscript diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml index 4772614..ba7b1c5 100644 --- a/.github/workflows/windows.yml +++ b/.github/workflows/windows.yml @@ -12,7 +12,7 @@ jobs: strategy: matrix: os: [windows] - python-version: ['3.11', '3.14'] + python-version: ['3.12', '3.14'] steps: - uses: actions/checkout@v6 - name: Set up Python ${{ matrix.python-version }} @@ -22,14 +22,14 @@ jobs: - name: Install dependencies run: | python3 -m pip install --upgrade pip - python3 -m pip install wheel + python3 -m pip install wheel setuptools set LLVM_DIR="C:\Program Files\LLVM" # We can comment out after next Mathics-Scanner release # python -m pip install -e "Mathics-Scanner[full] @ git+https://github.com/Mathics3/mathics-scanner" pip install -e . git clone --depth 1 https://github.com/Mathics3/Mathics3-scanner.git cd Mathics3-scanner/ - pip install --no-build-isoloation -e . + pip install --no-build-isolation -e . bash -x admin-tools/make-JSON-tables.sh cd .. git clone --depth 1 https://github.com/Mathics3/mathics-core.git diff --git a/pyproject.toml b/pyproject.toml index 872cfba..6a1165b 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -12,7 +12,7 @@ name = "mathicsscript" description = "Command-line interface to Mathics3" dependencies = [ "Mathics_Scanner>9.0.0", - "Mathics3 >= 9.0.0", + "Mathics3 > 9.0.0", "click >= 8.0.0", "colorama", "columnize", @@ -33,10 +33,10 @@ classifiers = [ "Intended Audience :: Developers", "Intended Audience :: Science/Research", "Programming Language :: Python", - "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", "Programming Language :: Python :: Implementation :: CPython", "Programming Language :: Python :: Implementation :: PyPy", "Topic :: Scientific/Engineering", From 19ac02082da1e3d5905231e9db5c3b4e6ee50926 Mon Sep 17 00:00:00 2001 From: rocky Date: Fri, 3 Apr 2026 08:59:13 -0400 Subject: [PATCH 3/6] Mathics_Scanner -> Mathics3_Scanner --- pyproject.toml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pyproject.toml b/pyproject.toml index 6a1165b..476f586 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -11,7 +11,7 @@ build-backend = "setuptools.build_meta" name = "mathicsscript" description = "Command-line interface to Mathics3" dependencies = [ - "Mathics_Scanner>9.0.0", + "Mathics3_Scanner>9.0.0", "Mathics3 > 9.0.0", "click >= 8.0.0", "colorama", From e0141a041fa25b46606eeec1f1226cea0b5e6ab1 Mon Sep 17 00:00:00 2001 From: rocky Date: Fri, 3 Apr 2026 09:30:39 -0400 Subject: [PATCH 4/6] Simplfiy bug report section --- .github/ISSUE_TEMPLATE/bug_report.md | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/bug_report.md b/.github/ISSUE_TEMPLATE/bug_report.md index 5701a1b..01ad99d 100644 --- a/.github/ISSUE_TEMPLATE/bug_report.md +++ b/.github/ISSUE_TEMPLATE/bug_report.md @@ -17,16 +17,11 @@ assignees: '' If the expression can be written in SymPy, does SymPy also exhibit the problem? --> -## How to Reproduce +## How to Reproduce and Output Given - -## Output Given - -