Skip to content

Commit

Permalink
Remove libblas, mkl and m2w64-toolchain dependencies (#4932)
Browse files Browse the repository at this point in the history
* Remove libblas, mkl and m2w64-toolchain dependencies. As PyMC3 itself does not compile anything, it should not have these dependencies. Instead, it is aesaras job to specify its compile-chain dependencies. Closes #4715.

Add custom envs for testing.

Remove patsy dependency.

* Regenerate rerquirements.
  • Loading branch information
twiecki authored Oct 12, 2021
1 parent f184912 commit b54c8af
Show file tree
Hide file tree
Showing 12 changed files with 157 additions and 37 deletions.
24 changes: 12 additions & 12 deletions .github/workflows/pytest.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,12 +107,12 @@ jobs:
- name: Cache conda
uses: actions/cache@v1
env:
# Increase this value to reset cache if environment-dev-py37.yml has not changed
# Increase this value to reset cache if environment-test-py37.yml has not changed
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{
hashFiles('conda-envs/environment-dev-py37.yml') }}
hashFiles('conda-envs/environment-test-py37.yml') }}
- name: Cache multiple paths
uses: actions/cache@v2
env:
Expand All @@ -127,19 +127,19 @@ jobs:
hashFiles('requirements.txt') }}
- uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: pymc-dev-py37
activate-environment: pymc-test-py37
channel-priority: strict
environment-file: conda-envs/environment-dev-py37.yml
environment-file: conda-envs/environment-test-py37.yml
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!
- name: Install-pymc
run: |
conda activate pymc-dev-py37
conda activate pymc-test-py37
pip install -e .
pip install --pre -U polyagamma
python --version
- name: Run tests
run: |
conda activate pymc-dev-py37
conda activate pymc-test-py37
python -m pytest -vv --cov=pymc --cov-append --cov-report=xml --cov-report term --durations=50 $TEST_SUBSET
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v1
Expand Down Expand Up @@ -186,12 +186,12 @@ jobs:
- name: Cache conda
uses: actions/cache@v1
env:
# Increase this value to reset cache if conda-envs/environment-dev-py38.yml has not changed
# Increase this value to reset cache if conda-envs/environment-test-py38.yml has not changed
CACHE_NUMBER: 0
with:
path: ~/conda_pkgs_dir
key: ${{ runner.os }}-conda-${{ env.CACHE_NUMBER }}-${{
hashFiles('conda-envs/windows-environment-dev-py38.yml') }}
hashFiles('conda-envs/windows-environment-test-py38.yml') }}
- name: Cache multiple paths
uses: actions/cache@v2
env:
Expand All @@ -206,19 +206,19 @@ jobs:
hashFiles('requirements.txt') }}
- uses: conda-incubator/setup-miniconda@v2
with:
activate-environment: pymc-dev-py38
activate-environment: pymc-test-py38
channel-priority: strict
environment-file: conda-envs/windows-environment-dev-py38.yml
environment-file: conda-envs/windows-environment-test-py38.yml
use-only-tar-bz2: true # IMPORTANT: This needs to be set for caching to work properly!
- name: Install-pymc
run: |
conda activate pymc-dev-py38
conda activate pymc-test-py38
pip install -e .
pip install --pre -U polyagamma
python --version
- name: Run tests
# This job uses a cmd shell, therefore the environment variable syntax is different!
# The ">-" in the next line replaces newlines with spaces (see https://stackoverflow.com/a/66809682).
run: >-
conda activate pymc-dev-py38 &&
conda activate pymc-test-py38 &&
python -m pytest -vv --cov=pymc --cov-append --cov-report=xml --cov-report term --durations=50 %TEST_SUBSET%
6 changes: 2 additions & 4 deletions conda-envs/environment-dev-py37.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ dependencies:
- cachetools>=4.2.1
- cloudpickle
- fastprogress>=0.2.0
- h5py>=2.7
- ipython>=7.16
- libblas=*=*mkl
- mkl-service
- h5py
- ipython
- myst-nb
- numpy>=1.15
- numpydoc>=0.9
Expand Down
6 changes: 2 additions & 4 deletions conda-envs/environment-dev-py38.yml
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,8 @@ dependencies:
- cachetools>=4.2.1
- cloudpickle
- fastprogress>=0.2.0
- h5py>=2.7
- ipython>=7.16
- libblas=*=*mkl
- mkl-service
- h5py
- ipython
- myst-nb
- numpy>=1.15.0
- numpydoc>=0.9
Expand Down
6 changes: 2 additions & 4 deletions conda-envs/environment-dev-py39.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,11 @@ dependencies:
- cloudpickle
- fastprogress>=0.2.0
- h5py>=2.7
- ipython>=7.16
- libblas=*=*mkl
- mkl-service
- ipython
- myst-nb
- numpy>=1.15.0
- numpydoc>=0.9
- pandas>=0.24.0
- pandas
- pre-commit>=2.8.0
- pydata-sphinx-theme
- pytest-cov>=2.5
Expand Down
31 changes: 31 additions & 0 deletions conda-envs/environment-test-py37.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
name: pymc3-test-py37
channels:
- conda-forge
- defaults
dependencies:
- aesara>=2.1.0
- arviz>=0.11.2
- cachetools>=4.2.1
- cloudpickle
- fastprogress>=0.2.0
- h5py>=2.7
- ipython
- libblas=*=*mkl
- mkl-service
- myst-nb
- numpy>=1.15.0
- numpydoc>=0.9
- pandas=0.24
- pre-commit>=2.8.0
- pydata-sphinx-theme
- pytest-cov>=2.5
- pytest>=3.0
- python-graphviz
- python=3.7
- recommonmark>=0.4
- scipy>1.4.1
- sphinx-autobuild>=0.7
- sphinx-panels
- sphinx>=1.5
- typing-extensions
- watermark
32 changes: 32 additions & 0 deletions conda-envs/environment-test-py38.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: pymc3-test-py38
channels:
- conda-forge
- defaults
dependencies:
- aesara>=2.1.0
- arviz>=0.11.2
- cachetools>=4.2.1
- cloudpickle
- fastprogress>=0.2.0
- h5py>=2.7
- ipython
- libblas=*=*mkl
- mkl-service
- myst-nb
- nbsphinx>=0.4
- numpy>=1.15.0
- numpydoc>=0.9
- pandas
- pre-commit>=2.8.0
- pydata-sphinx-theme
- pytest-cov>=2.5
- pytest>=3.0
- python-graphviz
- python=3.8
- recommonmark>=0.4
- scipy>1.4.1
- sphinx-autobuild>=0.7
- sphinx-panels
- sphinx>=1.5
- typing-extensions>=3.7.4
- watermark
32 changes: 32 additions & 0 deletions conda-envs/environment-test-py39.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,32 @@
name: pymc3-test-py39
channels:
- conda-forge
- defaults
dependencies:
- aesara>=2.1.0
- arviz>=0.11.2
- cachetools
- cloudpickle
- fastprogress>=0.2.0
- h5py
- ipython>=7.16
- libblas=*=*mkl
- mkl-service
- myst-nb
- nbsphinx>=0.4
- numpy>=1.15.0
- numpydoc>=0.9
- pandas
- pre-commit>=2.8.0
- pydata-sphinx-theme
- pytest-cov>=2.5
- pytest>=3.0
- python-graphviz
- python=3.9
- recommonmark>=0.4
- scipy>1.4.1
- sphinx-autobuild>=0.7
- sphinx-panels
- sphinx>=1.5
- typing-extensions>=3.7.4
- watermark
10 changes: 3 additions & 7 deletions conda-envs/windows-environment-dev-py38.yml
Original file line number Diff line number Diff line change
Expand Up @@ -9,20 +9,16 @@ dependencies:
- cachetools>=4.2.1
- cloudpickle
- fastprogress>=0.2.0
- h5py>=2.7
- libpython
- mkl-service
- m2w64-toolchain
- numba
- h5py
- numpy>=1.15.0
- pandas>=0.24.0
- pandas
- pip
- python=3.8
- python-graphviz
- scipy>1.4.1
- typing-extensions>=3.7.4
# Extra stuff for dev, testing and docs build
- ipython>=7.16
- ipython
- myst-nb
- numpydoc>=0.9
- pre-commit>=2.8.0
Expand Down
36 changes: 36 additions & 0 deletions conda-envs/windows-environment-test-py38.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
name: pymc3-test-py38
channels:
- conda-forge
- defaults
dependencies:
# base dependencies (see install guide for Windows)
- aesara>=2.1.0
- arviz>=0.11.2
- cachetools
- cloudpickle
- fastprogress>=0.2.0
- h5py>=2.7
- libpython
- mkl-service
- m2w64-toolchain
- numpy>=1.15.0
- pandas
- pip
- python=3.8
- python-graphviz
- scipy>1.4.1
- typing-extensions>=3.7.4
# Extra stuff for dev, testing and docs build
- ipython>=7.16
- myst-nb
- nbsphinx>=0.4
- numpydoc>=0.9
- pre-commit>=2.8.0
- pydata-sphinx-theme
- pytest-cov>=2.5
- pytest>=3.0
- recommonmark>=0.4
- sphinx-autobuild>=0.7
- sphinx-panels
- sphinx>=1.5
- watermark
9 changes: 4 additions & 5 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,25 +2,24 @@
# See that file for comments about the need/usage of each dependency.

aesara>=2.1.0
arviz>=0.11.4
cachetools>=4.2.1
arviz>=0.11.2
cachetools
cloudpickle
fastprogress>=0.2.0
h5py>=2.7
ipython>=7.16
myst-nb
nbsphinx>=0.4
numpy>=1.15.0
numpydoc>=0.9
pandas>=0.24.0
pandas
pre-commit>=2.8.0
pydata-sphinx-theme
pytest-cov>=2.5
pytest>=3.0
recommonmark>=0.4
scipy>1.4.1
sphinx-autobuild>=0.7
sphinx-design
sphinx-notfound-page
sphinx-panels
sphinx>=1.5
typing-extensions>=3.7.4
Expand Down
1 change: 0 additions & 1 deletion requirements.txt
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,5 @@ cloudpickle
fastprogress>=0.2.0
numpy>=1.15.0
pandas>=0.24.0
patsy>=0.5.1
scipy>=1.4.1
typing-extensions>=3.7.4
1 change: 1 addition & 0 deletions scripts/generate_pip_deps_from_conda.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@
"pip",
"python",
"libblas",
"libblas=*=*mkl",
"libpython",
"m2w64-toolchain",
"mkl-service",
Expand Down

0 comments on commit b54c8af

Please sign in to comment.