From fda9a90c0bc7cc9404ed59f4a3b4d8e4ab751191 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 16:32:08 +0100 Subject: [PATCH 01/14] [setup/recipe] updated dependencies, test against py36 --- .travis.yml | 1 + appveyor.yml | 4 ++++ devtools/conda-recipe/bld.bat | 9 -------- devtools/conda-recipe/build.sh | 2 -- devtools/conda-recipe/meta.yaml | 40 ++++++++++----------------------- setup.py | 4 ++-- 6 files changed, 19 insertions(+), 41 deletions(-) delete mode 100644 devtools/conda-recipe/bld.bat delete mode 100755 devtools/conda-recipe/build.sh diff --git a/.travis.yml b/.travis.yml index 140dbe257..48995acf4 100644 --- a/.travis.yml +++ b/.travis.yml @@ -21,6 +21,7 @@ env: - CONDA_PY=2.7 CONDA_NPY=1.11 - CONDA_PY=3.4 CONDA_NPY=1.10 - CONDA_PY=3.5 CONDA_NPY=1.11 + - CONDA_PY=3.6 CONDA_NPY=1.11 before_install: - devtools/ci/travis/install_miniconda.sh diff --git a/appveyor.yml b/appveyor.yml index fcaa521d3..bc71c515d 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -23,6 +23,10 @@ environment: CONDA_PY: "34" ARCH: "64" + - MINICONDA_PYTHON: "C:\\Miniconda3-x64" + CONDA_PY: "36" + ARCH: "64" + install: - "SET PATH=%MINICONDA_PYTHON%;%MINICONDA_PYTHON%\\Scripts;%PATH%;" diff --git a/devtools/conda-recipe/bld.bat b/devtools/conda-recipe/bld.bat deleted file mode 100644 index 38163a4c3..000000000 --- a/devtools/conda-recipe/bld.bat +++ /dev/null @@ -1,9 +0,0 @@ -if not defined APPVEYOR ( - echo not on appveyor - "%PYTHON%" setup.py install -) else ( - echo on appveyor - cmd /E:ON /V:ON /C %APPVEYOR_BUILD_FOLDER%\devtools\ci\appveyor\run_with_env.cmd "%PYTHON%" setup.py install -) -set build_status=%ERRORLEVEL% -if %build_status% == 1 exit 1 diff --git a/devtools/conda-recipe/build.sh b/devtools/conda-recipe/build.sh deleted file mode 100755 index 4dad93a1c..000000000 --- a/devtools/conda-recipe/build.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/bash -$PYTHON setup.py install diff --git a/devtools/conda-recipe/meta.yaml b/devtools/conda-recipe/meta.yaml index 5c5b74408..3cc79b7b3 100644 --- a/devtools/conda-recipe/meta.yaml +++ b/devtools/conda-recipe/meta.yaml @@ -7,54 +7,38 @@ source: path: ../.. build: - preserve_egg_dir: True + script: python -B setup.py install --single-version-externally-managed --record record.txt requirements: build: - - python - - setuptools - cython >=0.20 - - bhmm >=0.6,<0.7 - - joblib >0.8.4 - - matplotlib - - mdtraj >=1.7 - - mock - - funcsigs - - msmtools >=1.1.3 - - thermotools >=0.2.3 - - nose - - numpy x.x - - pyyaml - - scipy - - six - - psutil >=3.1.1 - - decorator >=4.0.0 - - progress_reporter <=1.2 - - run: + - mdtraj >=1.8 + - numpy x.x - python + - scipy - setuptools + run: - bhmm >=0.6,<0.7 + - decorator >=4.0.0 - joblib >0.8.4 - matplotlib - mdtraj >=1.7 - mock - - funcsigs - - msmtools >=1.1.3 - - thermotools >=0.2.3 + - msmtools >=1.2 - numpy x.x + - progress_reporter <=1.2 + - psutil >=3.1.1 + - python - pyyaml - scipy + - setuptools - six >=1.10 - - psutil >=3.1.1 - - decorator >=4.0.0 - - progress_reporter <=1.2 + - thermotools >=0.2.3 test: requires: - pytest - pytest-cov - #- pytest-xdist imports: - pyemma diff --git a/setup.py b/setup.py index afbfbd64d..c287354f6 100755 --- a/setup.py +++ b/setup.py @@ -262,9 +262,9 @@ def run(self): # runtime dependencies install_requires=['numpy>=1.7.0', 'scipy>=0.11', - 'mdtraj>=1.7.0', + 'mdtraj>=1.8.0', 'matplotlib', - 'msmtools>=1.1.4', + 'msmtools>=1.2', 'thermotools>=0.2.3', 'bhmm>=0.6,<0.7', 'joblib>0.8.4', From dddd70de47c76217e830efbb49abb3fae2430191 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 16:38:05 +0100 Subject: [PATCH 02/14] preserve egg_dir --- devtools/conda-recipe/meta.yaml | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/devtools/conda-recipe/meta.yaml b/devtools/conda-recipe/meta.yaml index 3cc79b7b3..6d43afde4 100644 --- a/devtools/conda-recipe/meta.yaml +++ b/devtools/conda-recipe/meta.yaml @@ -7,12 +7,13 @@ source: path: ../.. build: + preserve_egg_dir: True script: python -B setup.py install --single-version-externally-managed --record record.txt requirements: build: - - cython >=0.20 - - mdtraj >=1.8 + - cython + - mdtraj - numpy x.x - python - scipy @@ -22,7 +23,7 @@ requirements: - decorator >=4.0.0 - joblib >0.8.4 - matplotlib - - mdtraj >=1.7 + - mdtraj - mock - msmtools >=1.2 - numpy x.x From cd69792a81efa2d24171e508443fc8501e50fb10 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 16:59:54 +0100 Subject: [PATCH 03/14] test --- pyemma/conftest.py | 1 + 1 file changed, 1 insertion(+) diff --git a/pyemma/conftest.py b/pyemma/conftest.py index f56e4cc7a..23b094a49 100644 --- a/pyemma/conftest.py +++ b/pyemma/conftest.py @@ -17,6 +17,7 @@ def decorate(func): def get_extension_names(): + return [] import json, pkg_resources extensions_file = pkg_resources.resource_filename('pyemma', '_extensions.json') with open(extensions_file) as f: From 004076575980d94d8a281b7d70e9bf781cd35baa Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 17:07:22 +0100 Subject: [PATCH 04/14] remove pytest workaround (fixed upstream) --- pyemma/conftest.py | 26 -------------------------- setup.py | 19 +------------------ 2 files changed, 1 insertion(+), 44 deletions(-) diff --git a/pyemma/conftest.py b/pyemma/conftest.py index 23b094a49..9297df445 100644 --- a/pyemma/conftest.py +++ b/pyemma/conftest.py @@ -7,29 +7,3 @@ def no_progress_bars(): import pyemma pyemma.config.show_progress_bars = False pyemma.config.use_trajectory_lengths_cache = False - - -def static_var(name, value): - def decorate(func): - setattr(func, name, value) - return func - return decorate - - -def get_extension_names(): - return [] - import json, pkg_resources - extensions_file = pkg_resources.resource_filename('pyemma', '_extensions.json') - with open(extensions_file) as f: - inp = json.load(f) - extension_stubs = [e.split('.')[-1] for e in inp] - return extension_stubs - - -# this hook should ignore setuptools generated stub loaders for extension, -# because they cause PathMismatch errors in pytest during discovery. -@static_var('extension_stubs', get_extension_names()) -def pytest_ignore_collect(path, config): - - if any(path.basename.startswith(e) for e in pytest_ignore_collect.extension_stubs): - return True diff --git a/setup.py b/setup.py index c287354f6..c1ee94941 100755 --- a/setup.py +++ b/setup.py @@ -219,23 +219,6 @@ def run_tests(self): versioneer_cmds['test'] = PyTest - from setuptools.command.egg_info import egg_info - - class extensions_json(egg_info): - def run(self): - f = os.path.join(os.path.dirname(os.path.abspath(__file__)), 'pyemma', '_extensions.json') - print("Generating {}".format(f)) - extension_names = [e.name for e in extensions()] - - with open(f, 'wb') as fp: - import json - s = json.dumps(extension_names).encode('ascii') - fp.write(s) - - egg_info.run(self) - - versioneer_cmds['egg_info'] = extensions_json - return versioneer_cmds @@ -293,7 +276,7 @@ def run(self): ] metadata['package_data'] = { - 'pyemma': ['pyemma.cfg', 'logging.yml', '_extensions.json', 'setup.cfg'], + 'pyemma': ['pyemma.cfg', 'logging.yml', 'setup.cfg'], 'pyemma.coordinates.tests': ['data/*'], 'pyemma.msm.tests': ['data/*'], 'pyemma.datasets': ['*.npz'], From 75e6865fb0dba95a061c4a786f334a06b104f42e Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 17:17:04 +0100 Subject: [PATCH 05/14] unsat --- devtools/conda-recipe/meta.yaml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/conda-recipe/meta.yaml b/devtools/conda-recipe/meta.yaml index 6d43afde4..57511ec72 100644 --- a/devtools/conda-recipe/meta.yaml +++ b/devtools/conda-recipe/meta.yaml @@ -28,7 +28,7 @@ requirements: - msmtools >=1.2 - numpy x.x - progress_reporter <=1.2 - - psutil >=3.1.1 + - psutil >3.1 - python - pyyaml - scipy From 08539f3aa46d74cd9b2f79921cf551a67fb8f2ca Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 17:25:28 +0100 Subject: [PATCH 06/14] [circle] use omnia --- circle.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/circle.yml b/circle.yml index 7ece6be08..4e4fb2092 100644 --- a/circle.yml +++ b/circle.yml @@ -15,7 +15,7 @@ checkout: dependencies: override: - devtools/ci/circle/install_miniconda.sh - - conda config --add channels conda-forge + - conda config --add channels omnia - conda config --set always_yes true - conda install conda-build From 858b098c331eec8078c4bc8bcb68e27cba07ca96 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 17:26:07 +0100 Subject: [PATCH 07/14] [appveyor] dont use conda-forge --- appveyor.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/appveyor.yml b/appveyor.yml index bc71c515d..2363b82e0 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -32,8 +32,8 @@ install: - conda config --set always_yes true - conda config --add channels omnia - - conda config --add channels conda-forge - - conda install -q conda-build=2.1.2 jinja2 +# - conda config --add channels conda-forge + - conda install -q conda-build=2.1.4 jinja2 # use agg backend in matplotlib to avoid gui popup, which can not be closed. - echo %userprofile% From 9f2a3731b3064476969942173bc9a6b8e87315d2 Mon Sep 17 00:00:00 2001 From: "Martin K. Scherer" Date: Fri, 17 Feb 2017 17:26:33 +0100 Subject: [PATCH 08/14] [travis] dont use conda-forge --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 48995acf4..120ee722b 100644 --- a/.travis.yml +++ b/.travis.yml @@ -27,7 +27,7 @@ before_install: - devtools/ci/travis/install_miniconda.sh - conda config --set always_yes true - conda config --add channels omnia -- conda config --add channels conda-forge +#- conda config --add channels conda-forge - conda install -q $common_py_deps script: From 6b24d94b639b3e0cc3e1617795b032c33ee62967 Mon Sep 17 00:00:00 2001 From: Martin Scherer Date: Sat, 18 Feb 2017 09:47:17 +0100 Subject: [PATCH 09/14] [appveyor] use cmd_in_env --- appveyor.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/appveyor.yml b/appveyor.yml index 2363b82e0..cc35cefbc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -44,7 +44,7 @@ build: false # Not a C# project, build stuff at the test step instead. test_script: # run testsuite and upload test results to AppVeyor; return exit code of testsuite - - conda build -q devtools/conda-recipe + - "%CMD_IN_ENV% conda build -q devtools/conda-recipe" #on_success: # - devtools/ci/appveyor/after_success.bat From eeeb9f9eeebc83e08a2827599983ccca95c43002 Mon Sep 17 00:00:00 2001 From: Martin Scherer Date: Sat, 18 Feb 2017 10:06:33 +0100 Subject: [PATCH 10/14] [travis] use conda-build-2.1.4 --- .travis.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.travis.yml b/.travis.yml index 120ee722b..c769d70e9 100644 --- a/.travis.yml +++ b/.travis.yml @@ -11,7 +11,7 @@ sudo: false env: global: - PATH=$HOME/miniconda/bin:$PATH - - common_py_deps="conda-build=2.1.2" + - common_py_deps="conda-build=2.1.4" - PACKAGENAME=pyemma - ORGNAME=omnia - PYTHONHASHSEED=0 From 2846d018ca27d9e731ff468b264f517b580e455f Mon Sep 17 00:00:00 2001 From: Martin Scherer Date: Sat, 18 Feb 2017 13:49:12 +0100 Subject: [PATCH 11/14] [codecov] use bash script --- .travis.yml | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/.travis.yml b/.travis.yml index c769d70e9..ef5c2cf19 100644 --- a/.travis.yml +++ b/.travis.yml @@ -35,7 +35,5 @@ script: after_success: - pwd; ls -alh -#- bash <(curl -s https://codecov.io/bash) -s $HOME -- pip install codecov -- codecov --file $HOME/coverage.xml +- bash <(curl -s https://codecov.io/bash) -s $HOME -e CONDA_PY,CONDA_NPY From ab364a67299d3efbbe40feb4c3eca244b6e60723 Mon Sep 17 00:00:00 2001 From: Martin Scherer Date: Sat, 18 Feb 2017 14:06:48 +0100 Subject: [PATCH 12/14] link flags osx --- devtools/conda-recipe/bld.bat | 1 + devtools/conda-recipe/build.sh | 6 ++++++ devtools/conda-recipe/meta.yaml | 1 - 3 files changed, 7 insertions(+), 1 deletion(-) create mode 100644 devtools/conda-recipe/bld.bat create mode 100644 devtools/conda-recipe/build.sh diff --git a/devtools/conda-recipe/bld.bat b/devtools/conda-recipe/bld.bat new file mode 100644 index 000000000..c8a7eacfb --- /dev/null +++ b/devtools/conda-recipe/bld.bat @@ -0,0 +1 @@ +%PYTHON% setup.py install --single-version-externally-managed --record record.txt diff --git a/devtools/conda-recipe/build.sh b/devtools/conda-recipe/build.sh new file mode 100644 index 000000000..6dc773ab9 --- /dev/null +++ b/devtools/conda-recipe/build.sh @@ -0,0 +1,6 @@ +#!/bin/bash +if [[ $OSTYPE == darwin* ]]; then + export CFLAGS="-headerpad_max_install_names" + export CXXFLAGS=$CFLAGS +fi +$PYTHON setup.py install --single-version-externally-managed --record record.txt diff --git a/devtools/conda-recipe/meta.yaml b/devtools/conda-recipe/meta.yaml index 57511ec72..7faef6caa 100644 --- a/devtools/conda-recipe/meta.yaml +++ b/devtools/conda-recipe/meta.yaml @@ -8,7 +8,6 @@ source: build: preserve_egg_dir: True - script: python -B setup.py install --single-version-externally-managed --record record.txt requirements: build: From 442d9b270e333d86fe9dbaff71aa67c1e8808097 Mon Sep 17 00:00:00 2001 From: Martin Scherer Date: Sat, 18 Feb 2017 14:50:11 +0100 Subject: [PATCH 13/14] try to use -headerpad --- devtools/conda-recipe/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/conda-recipe/build.sh b/devtools/conda-recipe/build.sh index 6dc773ab9..a2f64c0bc 100644 --- a/devtools/conda-recipe/build.sh +++ b/devtools/conda-recipe/build.sh @@ -1,6 +1,6 @@ #!/bin/bash if [[ $OSTYPE == darwin* ]]; then - export CFLAGS="-headerpad_max_install_names" + export CFLAGS="-headerpad" export CXXFLAGS=$CFLAGS fi $PYTHON setup.py install --single-version-externally-managed --record record.txt From 3b4930dd919efe629969d6a1e12c6e534578d7b5 Mon Sep 17 00:00:00 2001 From: Martin Scherer Date: Sat, 18 Feb 2017 15:11:06 +0100 Subject: [PATCH 14/14] Revert "try to use -headerpad" This reverts commit 442d9b270e333d86fe9dbaff71aa67c1e8808097. --- devtools/conda-recipe/build.sh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/devtools/conda-recipe/build.sh b/devtools/conda-recipe/build.sh index a2f64c0bc..6dc773ab9 100644 --- a/devtools/conda-recipe/build.sh +++ b/devtools/conda-recipe/build.sh @@ -1,6 +1,6 @@ #!/bin/bash if [[ $OSTYPE == darwin* ]]; then - export CFLAGS="-headerpad" + export CFLAGS="-headerpad_max_install_names" export CXXFLAGS=$CFLAGS fi $PYTHON setup.py install --single-version-externally-managed --record record.txt