Skip to content

Commit 8120d4b

Browse files
authored
Merge pull request #1392 from mathics/optional-requires
Administriva: fix up optional package requirements
2 parents 2c057bb + a44aac4 commit 8120d4b

8 files changed

Lines changed: 31 additions & 12 deletions

File tree

.github/workflows/osx.yml

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,9 +24,9 @@ jobs:
2424
brew install llvm@11
2525
python -m pip install --upgrade pip
2626
LLVM_CONFIG=/usr/local/Cellar/llvm@11/11.1.0/bin/llvm-config pip install llvmlite
27-
- name: Install Mathics
27+
- name: Install Mathics with full dependencies
2828
run: |
29-
make develop
29+
make develop-full
3030
- name: Test Mathics
3131
run: |
3232
pip install -r requirements-dev.txt

.github/workflows/ubuntu.yml

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -22,10 +22,9 @@ jobs:
2222
run: |
2323
sudo apt-get update -qq && sudo apt-get install -qq liblapack-dev llvm-dev
2424
python -m pip install --upgrade pip
25-
- name: Install Mathics
25+
- name: Install Mathics with full dependencies
2626
run: |
27-
sed -i "s/'sympy==[0-9]\.[0-9]\.[0-9]', //" setup.py
28-
make develop
27+
make develop-full
2928
- name: Test Mathics
3029
run: |
3130
pip install -r requirements-dev.txt

.github/workflows/windows.yml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ jobs:
3131
python setup.py install
3232
- name: Test Mathics
3333
run: |
34+
pip install -r requirements-extra.txt
3435
pip install -r requirements-dev.txt
3536
set PYTEST_WORKERS="-n3"
3637
make check

MANIFEST.in

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,5 @@ include ChangeLog
44
include COPYING.txt
55
include FUTURE.rst
66
include Makefile
7-
include mathics/Makefile
87
recursive-include mathics *.py
98
recursive-include test *.py *.m

Makefile

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,17 @@ build:
3737
develop:
3838
$(PIP) install -e .
3939

40+
#: Set up to run from the source tree with full dependencies
41+
develop-full:
42+
$(PIP) install -e .
43+
$(PIP) install -r requirements-extra.txt
44+
45+
4046
#: Make distirbution: wheels, eggs, tarball
4147
dist:
4248
./admin-tools/make-dist.sh
4349

44-
#: Install mathics
50+
#: Install Mathics
4551
install:
4652
$(PYTHON) setup.py install
4753

requirements-dev.txt

Lines changed: 0 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,3 @@
1-
# Optional packages which add functionality or speed things up
2-
scikit-image # FindMinimum can use this
3-
lxml # for HTML parsing used in builtin/fileformats/html
4-
wordcloud # Used in builtin/image.py by WordCloud()
5-
61
# Additional packages used in testing
72
pytest
83
pytest-xdist

requirements-extra.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
# Optional packages which add functionality or speed things up
2+
scikit-image # FindMinimum can use this
3+
lxml # for HTML parsing used in builtin/fileformats/html
4+
wordcloud # Used in builtin/image.py by WordCloud()

setup.py

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,7 @@
2222
2323
"""
2424

25+
import re
2526
import sys
2627
import os.path as osp
2728
import platform
@@ -52,6 +53,19 @@ def read(*rnames):
5253
is_PyPy = platform.python_implementation() == "PyPy"
5354

5455
INSTALL_REQUIRES = []
56+
# stores __version__ in the current namespace
57+
exec(compile(open("mathics/version.py").read(), "mathics/version.py", "exec"))
58+
59+
extra_requires = []
60+
for line in open("requirements-extra.txt").read().split("\n"):
61+
if line and not line.startswith("#"):
62+
requires = re.sub(r"([^#]+)(\s*#.*$)?", r"\1", line)
63+
extra_requires.append(requires)
64+
65+
EXTRA_REQUIRES = {
66+
"full": extra_requires
67+
}
68+
5569
DEPENDENCY_LINKS = [
5670
"http://github.com/Mathics3/mathics-scanner/tarball/master#egg=Mathics_Scanner-1.0.0.dev"
5771
]
@@ -137,6 +151,7 @@ def subdirs(root, file="*.*", depth=10):
137151
"mathics.formatter",
138152
],
139153
install_requires=INSTALL_REQUIRES,
154+
extra_requires=EXTRA_REQUIRES,
140155
dependency_links=DEPENDENCY_LINKS,
141156
package_data={
142157
"mathics": [

0 commit comments

Comments
 (0)