Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 1 addition & 6 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
Expand Up @@ -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

<!--
$mathicsscript -e 'E ^ (Pi I)' # adjust expression E ^ (Pi I) for the specific bug

-->

## Output Given

<!--
Please include not just the error message but all output leading to the message which includes echoing input and messages up to the error.
For a command-line environment include command invocation and all the output produced.

Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/isort-and-black-checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -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 .
Expand Down
13 changes: 8 additions & 5 deletions .github/workflows/macos.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: mathicsscript (OSX)
name: mathicsscript (MacOS)

on:
push:
Expand All @@ -12,7 +12,7 @@ jobs:
strategy:
matrix:
os: [macOS]
python-version: ['3.11', '3.12', '3.13']
python-version: ['3.12', '3.13', '3.14']
steps:
- uses: actions/checkout@v6
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -23,16 +23,19 @@ 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 ..
# We can comment out after next Mathics3-pygments release
python -m pip install -e git+https://github.com/Mathics3/Mathics3-pygments#egg=Mathics3-pygments
# We can comment out after next mathics-core release
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
Expand Down
15 changes: 10 additions & 5 deletions .github/workflows/ubuntu.yml
Original file line number Diff line number Diff line change
Expand Up @@ -11,26 +11,31 @@ 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
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 ..
# We can comment out after next Mathics3-pygments release
python -m pip install -e git+https://github.com/Mathics3/Mathics3-pygments#egg=Mathics3-pygments
# We can comment out after next mathics-core release
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
Expand Down
19 changes: 10 additions & 9 deletions .github/workflows/windows.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
name: Mathics (Windows)
name: mathicsscript (Windows)

on:
push:
Expand All @@ -12,29 +12,30 @@ jobs:
strategy:
matrix:
os: [windows]
python-version: ['3.11', '3.13']
python-version: ['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
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 -e .
pip install --no-build-isolation -e .
bash -x admin-tools/make-JSON-tables.sh
cd ..
# We can comment out after next Mathics3-pygments release
python -m pip install -e git+https://github.com/Mathics3/Mathics3-pygments#egg=Mathics3-pygments
# We can comment out after next mathics-core release
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
Expand Down
4 changes: 2 additions & 2 deletions mathicsscript/termshell.py
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand All @@ -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"]
Expand Down Expand Up @@ -55,8 +57,6 @@
if not osp.isfile(HISTFILE):
pathlib.Path(HISTFILE).touch()

from mathics.core.parser import MathicsLineFeeder

SymbolPygmentsStylesAvailable = Symbol("Settings`PygmentsStylesAvailable")


Expand Down
10 changes: 5 additions & 5 deletions pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -11,18 +11,18 @@ build-backend = "setuptools.build_meta"
name = "mathicsscript"
description = "Command-line interface to Mathics3"
dependencies = [
"Mathics_Scanner>2.0.0",
"Mathics3 >= 9.0.0",
"Mathics3_Scanner>9.0.0",
"Mathics3 > 9.0.0",
"click >= 8.0.0",
"colorama",
"columnize",
"networkx",
"prompt_toolkit>=3.0.18",
"Pygments>=2.9.0", # Want something late enough that has the "inkpot" style
"mathics_pygments>=1.0.2",
"Mathics3_pygments>9.0.0",
"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"]
Expand All @@ -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",
Expand Down