Skip to content

Commit 161705b

Browse files
committed
merge
2 parents 9595b07 + e4bb914 commit 161705b

File tree

469 files changed

+43246
-26182
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

469 files changed

+43246
-26182
lines changed

.github/ISSUE_TEMPLATE/feature_request.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@ labels: ''
66
assignees: ''
77

88
---
9+
*Note: If the feature is about adding or filling out existing deficiency in the Mathics3 language, please file this as an [issue](https://github.com/Mathics3/mathics-core/issues/new?assignees=&labels=&projects=&template=bug_report.md&title=).*
910

1011
**Is your feature request related to a problem? Please describe.**
1112
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
Lines changed: 12 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Mathics (Consistency Checks)
1+
name: Mathics3 (Consistency Checks)
22

33
on:
44
push:
@@ -11,22 +11,28 @@ jobs:
1111
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
python-version: ['3.10']
14+
python-version: ['3.11']
1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717
- name: Set up Python ${{ matrix.python-version }}
18-
uses: actions/setup-python@v2
18+
uses: actions/setup-python@v5
1919
with:
2020
python-version: ${{ matrix.python-version }}
2121
- name: Install dependencies
2222
run: |
23-
sudo apt update -qq && sudo apt install llvm-dev
23+
sudo apt update -qq && sudo apt install llvm-dev remake
2424
python -m pip install --upgrade pip
2525
# We can comment out after next Mathics-Scanner release
26-
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
26+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
27+
git clone https://github.com/Mathics3/mathics-scanner.git
28+
cd mathics-scanner/
29+
pip install -e .
30+
cd ..
31+
2732
- name: Install Mathics with minimum dependencies
2833
run: |
2934
make develop
3035
- name: Test Mathics Consistency and Style
3136
run: |
3237
make check-consistency-and-style
38+
make check-builtin-manifest

.github/workflows/isort-and-black-checks.yml

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,24 +9,24 @@ jobs:
99
build:
1010
runs-on: ubuntu-latest
1111
steps:
12-
- uses: actions/checkout@v3
13-
- name: Set up Python 3.9
14-
uses: actions/setup-python@v2
12+
- uses: actions/checkout@v4
13+
- name: Set up Python 3.11
14+
uses: actions/setup-python@v5
1515
with:
16-
python-version: 3.9
16+
python-version: 3.11
1717
- name: Install click, black and isort
18-
run: pip install 'click==8.0.4' 'black==22.3.0' 'isort==5.10.1'
18+
run: pip install 'click==8.0.4' 'black==23.12.1' 'isort==5.13.2'
1919
- name: Run isort --check .
2020
run: isort --check .
21-
- name: Run isort --check .
21+
- name: Run black --check .
2222
run: black --check .
23-
- name: If needed, commit black changes to the pull request
24-
if: failure()
25-
run: |
26-
black .
27-
git config --global user.name 'autoblack'
28-
git config --global user.email 'rocky@users.noreply.github.com'
29-
git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY
30-
git checkout $GITHUB_HEAD_REF
31-
git commit -am "fixup: Format Python code with Black"
32-
git push
23+
# - name: If needed, commit black changes to the pull request
24+
# if: failure()
25+
# run: |
26+
# black .
27+
# git config --global user.name 'autoblack'
28+
# git config --global user.email 'rocky@users.noreply.github.com'
29+
# git remote set-url origin https://x-access-token:${{ secrets.GITHUB_TOKEN }}@github.com/$GITHUB_REPOSITORY
30+
# git checkout $GITHUB_HEAD_REF
31+
# git commit -am "fixup: Format Python code with Black"
32+
# git push

.github/workflows/macos.yml

Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
name: Mathics3 (macOS)
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches: '**'
8+
9+
jobs:
10+
build:
11+
env:
12+
LDFLAGS: "-L/usr/local/opt/llvm@14/lib"
13+
CPPFLAGS: "-I/usr/local/opt/llvm@14/include"
14+
runs-on: macos-latest
15+
strategy:
16+
matrix:
17+
os: [macOS]
18+
python-version: ['3.9', '3.10']
19+
steps:
20+
- uses: actions/checkout@v4
21+
- name: Set up Python ${{ matrix.python-version }}
22+
uses: actions/setup-python@v5
23+
with:
24+
python-version: ${{ matrix.python-version }}
25+
- name: Install OS dependencies
26+
run: |
27+
brew install llvm@14 tesseract remake
28+
python -m pip install --upgrade pip
29+
- name: Install Mathics3 with full Python dependencies
30+
run: |
31+
# We can comment out after next Mathics-Scanner release
32+
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
33+
git clone https://github.com/Mathics3/mathics-scanner.git
34+
cd mathics-scanner/
35+
pip install -e .
36+
cd ..
37+
# python -m pip install Mathics-Scanner[full]
38+
remake -x develop-full
39+
- name: Test Mathics3
40+
run: |
41+
make -j3 check

.github/workflows/mypy.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,40 @@
1+
name: Mathics3 (Type checking)
2+
3+
on:
4+
push:
5+
branches: [ master ]
6+
pull_request:
7+
branches: [ master ]
8+
9+
jobs:
10+
build:
11+
runs-on: ubuntu-latest
12+
strategy:
13+
matrix:
14+
python-version: ['3.12']
15+
steps:
16+
- uses: actions/checkout@v4
17+
- name: Set up Python ${{ matrix.python-version }}
18+
uses: actions/setup-python@v5
19+
with:
20+
python-version: ${{ matrix.python-version }}
21+
- name: Install dependencies
22+
run: |
23+
sudo apt update -qq && sudo apt install llvm-dev remake
24+
python -m pip install --upgrade pip
25+
# We can comment out after next Mathics-Scanner release
26+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
27+
git clone https://github.com/Mathics3/mathics-scanner.git
28+
cd mathics-scanner/
29+
pip install -e .
30+
cd ..
31+
32+
- name: Install Mathics with minimum dependencies
33+
run: |
34+
make develop
35+
- name: Run mypy
36+
run: |
37+
pip install mypy==1.13 sympy==1.12
38+
touch ./mathics-scanner/mathics_scanner/py.typed
39+
pip install ./mathics-scanner/
40+
mypy --install-types --non-interactive mathics

.github/workflows/osx.yml

Lines changed: 0 additions & 37 deletions
This file was deleted.

.github/workflows/pyodide.yml

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,64 @@
1+
# Copied from SymPy https://github.com/sympy/sympy/pull/27183
2+
3+
name: Mathics3 (Pyodide)
4+
5+
on:
6+
push:
7+
branches: [ master ]
8+
pull_request:
9+
branches: [ master ]
10+
11+
jobs:
12+
pyodide-test:
13+
runs-on: ubuntu-latest
14+
env:
15+
PYODIDE_VERSION: 0.27.0a2
16+
# PYTHON_VERSION and EMSCRIPTEN_VERSION are determined by PYODIDE_VERSION.
17+
# The appropriate versions can be found in the Pyodide repodata.json
18+
# "info" field, or in Makefile.envs:
19+
# https://github.com/pyodide/pyodide/blob/main/Makefile.envs#L2
20+
PYTHON_VERSION: 3.12.1
21+
EMSCRIPTEN_VERSION: 3.1.58
22+
NODE_VERSION: 20
23+
steps:
24+
- name: Checkout
25+
uses: actions/checkout@v4
26+
27+
- name: Set up Python ${{ env.PYTHON_VERSION }}
28+
uses: actions/setup-python@v5
29+
with:
30+
python-version: ${{ env.PYTHON_VERSION }}
31+
32+
- name: Set up Emscripten toolchain
33+
uses: mymindstorm/setup-emsdk@v14
34+
with:
35+
version: ${{ env.EMSCRIPTEN_VERSION }}
36+
actions-cache-folder: emsdk-cache
37+
38+
- name: Install pyodide-build
39+
run: pip install pyodide-build
40+
41+
- name: Set up Node.js
42+
uses: actions/setup-node@v4
43+
with:
44+
node-version: ${{ env.NODE_VERSION }}
45+
46+
- name: Set up Pyodide virtual environment and run tests
47+
run: |
48+
# Set up Pyodide virtual environment
49+
pyodide xbuildenv install ${{ env.PYODIDE_VERSION }}
50+
pyodide venv .venv-pyodide
51+
52+
# Activate the virtual environment
53+
source .venv-pyodide/bin/activate
54+
55+
pip install "setuptools>=70.0.0" PyYAML click packaging pytest
56+
57+
git clone https://github.com/Mathics3/mathics-scanner.git
58+
cd mathics-scanner/
59+
pip install --no-build-isolation -e .
60+
cd ..
61+
62+
make mathics/data/op-tables.json mathics/data/operator-tables.json
63+
pip install --no-build-isolation -e .
64+
make -j3 check

.github/workflows/ubuntu-cython.yml

Lines changed: 13 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
name: Mathics (ubuntu full with Cython)
1+
name: Mathics3 (ubuntu full with Cython)
22

33
on:
44
push:
@@ -10,22 +10,28 @@ jobs:
1010
build:
1111
env:
1212
USE_CYTHON: 1
13-
runs-on: ubuntu-20.04
13+
runs-on: ubuntu-latest
1414
strategy:
1515
matrix:
16-
python-version: [3.9]
16+
python-version: ['3.12']
1717
steps:
18-
- uses: actions/checkout@v3
18+
- uses: actions/checkout@v4
1919
- name: Set up Python ${{ matrix.python-version }}
20-
uses: actions/setup-python@v2
20+
uses: actions/setup-python@v5
2121
with:
2222
python-version: ${{ matrix.python-version }}
2323
- name: Install dependencies
2424
run: |
25-
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev
25+
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev tesseract-ocr
2626
python -m pip install --upgrade pip
2727
# We can comment out after next Mathics-Scanner release
28-
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
28+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
29+
git clone https://github.com/Mathics3/mathics-scanner.git
30+
cd mathics-scanner/
31+
pip install -e .
32+
cd ..
33+
34+
# python -m pip install Mathics-Scanner[full]
2935
- name: Install Mathics with full dependencies
3036
run: |
3137
make develop-full-cython

.github/workflows/ubuntu.yml

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,32 +1,38 @@
1-
name: Mathics (ubuntu)
1+
name: Mathics3 (ubuntu)
22

33
on:
44
push:
55
branches: [ master ]
66
pull_request:
7-
branches: [ master ]
7+
branches: '**'
88

99
jobs:
1010
build:
11-
runs-on: ubuntu-20.04
11+
runs-on: ubuntu-latest
1212
strategy:
1313
matrix:
14-
python-version: [3.6, 3.7, 3.8, 3.9]
14+
python-version: ['3.12', '3.11', '3.8', '3.9', '3.10']
1515
steps:
16-
- uses: actions/checkout@v3
16+
- uses: actions/checkout@v4
1717
- name: Set up Python ${{ matrix.python-version }}
18-
uses: actions/setup-python@v2
18+
uses: actions/setup-python@v5
1919
with:
2020
python-version: ${{ matrix.python-version }}
21-
- name: Install dependencies
21+
- name: Install OS dependencies
22+
run: |
23+
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev tesseract-ocr remake
24+
- name: Install Mathics3 with full dependencies
2225
run: |
23-
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev
2426
python -m pip install --upgrade pip
2527
# We can comment out after next Mathics-Scanner release
26-
python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
27-
- name: Install Mathics with full dependencies
28-
run: |
29-
make develop-full
28+
# python -m pip install -e git+https://github.com/Mathics3/mathics-scanner#egg=Mathics-Scanner[full]
29+
git clone https://github.com/Mathics3/mathics-scanner.git
30+
cd mathics-scanner/
31+
pip install -e .
32+
cd ..
33+
34+
# python -m pip install Mathics-Scanner[full]
35+
remake -x develop-full
3036
- name: Test Mathics
3137
run: |
3238
make -j3 check

0 commit comments

Comments
 (0)