From cc5aade4a30ce70bbd0894d94ccf3c21b8bbdeb3 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 13:09:06 -0500 Subject: [PATCH 01/22] update setup.py --- setup.py | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/setup.py b/setup.py index 88a3cae3..cdff94bc 100644 --- a/setup.py +++ b/setup.py @@ -1,15 +1,13 @@ # coding: utf-8 - -from setuptools import setup, find_packages - from distutils.command.build_py import build_py +from setuptools import setup -import os +package = "spreg" with open("README.md", encoding="utf8") as file: long_description = file.read() -with open("spreg/__init__.py", "r") as f: +with open("%s/__init__.py" % package, "r") as f: exec(f.readline()) @@ -39,18 +37,18 @@ def setup_package(): extras_reqs = reqs setup( - name="spreg", + name=package, version=__version__, description="PySAL Spatial Econometrics Package", long_description=long_description, long_description_content_type="text/markdown", maintainer="PySAL Developers", maintainer_email="pysal-dev@googlegroups.com", - url="http://pysal.org", - download_url="https://pypi.python.org/pypi/spreg", + url="pysal.org/%s/" % package, + download_url="https://pypi.python.org/pypi/%s" % package, license="BSD", - py_modules=["spreg"], - packages=find_packages(), + py_modules=[package], + packages=[package], keywords="spatial statistics", classifiers=[ "Development Status :: 5 - Production/Stable", From 1b785d05fc1ffc62ce21acf733f56aeb152a4629 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 13:15:24 -0500 Subject: [PATCH 02/22] adding .coveragerc --- .coveragerc | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 .coveragerc diff --git a/.coveragerc b/.coveragerc new file mode 100644 index 00000000..3b5f99ee --- /dev/null +++ b/.coveragerc @@ -0,0 +1,30 @@ +# .coveragerc to control coverage.py +[run] +branch = True +source = spaghetti + +[report] +# Regexes for lines to exclude from consideration +exclude_lines = + # Have to re-enable the standard pragma + pragma: no cover + + # Don't complain about missing debug-only code: + def __repr__ + if self\.debug + + # Don't complain if tests don't hit defensive assertion code: + raise AssertionError + raise NotImplementedError + + # Don't complain if non-runnable code isn't run: + if 0: + if __name__ == .__main__.: + +ignore_errors = True +omit = + */tests/* + *__init__.py + +[html] +directory = coverage_html_report From 98fbc0c8fe8ddd6091437348ae46293495d3b15d Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:25:07 -0500 Subject: [PATCH 03/22] update badges for CI and coverage --- README.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index f62423a3..225cecae 100644 --- a/README.md +++ b/README.md @@ -1,7 +1,7 @@ # spreg -[![Build Status](https://travis-ci.com/pysal/spreg.svg?branch=master)](https://travis-ci.com/pysal/spreg) -[![Coverage Status](https://coveralls.io/repos/github/pysal/spreg/badge.svg?branch=master)](https://coveralls.io/github/pysal/spreg?branch=master&service=github) +[![unittests](https://github.com/pysal/spreg/workflows/.github/workflows/unittests.yml/badge.svg)](https://github.com/pysal/spreg/actions?query=workflow%3A.github%2Fworkflows%2Funittests.yml) +[![codecov](https://codecov.io/gh/pysal/spreg/branch/master/graph/badge.svg?token=9VrJpIYIl3)](https://codecov.io/gh/pysal/spreg) ![PyPI - Python Version](https://img.shields.io/pypi/pyversions/spreg) ![PyPI](https://img.shields.io/pypi/v/spreg) ![Conda (channel only)](https://img.shields.io/conda/vn/conda-forge/spreg) From c05a9d8200abfb44aba881fe10ee43df15461af8 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:25:26 -0500 Subject: [PATCH 04/22] adding .coveragerc --- .coveragerc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.coveragerc b/.coveragerc index 3b5f99ee..0cbd83dc 100644 --- a/.coveragerc +++ b/.coveragerc @@ -1,7 +1,7 @@ # .coveragerc to control coverage.py [run] branch = True -source = spaghetti +source = spreg [report] # Regexes for lines to exclude from consideration From d28aa81980f338facd2c49edf29a164afe6e5672 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:27:15 -0500 Subject: [PATCH 05/22] intial GHA CI attempt - py37,GIT --- .github/workflows/unittests.yml | 57 +++++++++++++++++++++++++++++++++ 1 file changed, 57 insertions(+) create mode 100644 .github/workflows/unittests.yml diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml new file mode 100644 index 00000000..e8e6954d --- /dev/null +++ b/.github/workflows/unittests.yml @@ -0,0 +1,57 @@ + on: + push: + branches: + - '*' + pull_request: + branches: + - '*' + schedule: + - cron: '59 23 * * *' + + jobs: + unittests: + name: conda (${{ matrix.os }}, ${{ matrix.environment-file }}) + runs-on: ${{ matrix.os }} + timeout-minutes: 30 + strategy: + matrix: + os: [ubuntu-latest] # [macos-latest, ubuntu-latest, windows-latest] + environment-file: [ci/37-GIT-PLUS.yaml] + #exclude: + # - environment-file: ci/36-PYPI-PLUS.yaml + # os: windows-latest + # - environment-file: ci/36-GIT-PLUS.yaml + # os: windows-latest + defaults: + run: + shell: bash -l {0} + steps: + - uses: actions/checkout@v2 + - uses: actions/cache@v2 + env: + CACHE_NUMBER: 0 + with: + path: ~/conda_pkgs_dir + key: ${{ matrix.os }}-conda-${{ env.CACHE_NUMBER }}-${{ hashFiles(matrix.environment-file) }} + - uses: conda-incubator/setup-miniconda@v2 + with: + miniconda-version: 'latest' + mamba-version: '*' + channels: conda-forge + channel-priority: true + auto-update-conda: false + auto-activate-base: false + environment-file: ${{ matrix.environment-file }} + activate-environment: test + use-only-tar-bz2: true + - run: mamba info --all + - run: mamba list + - run: conda config --show-sources + - run: conda config --show + - run: pytest -v spreg --cov=spreg --doctest-modules --cov-config=.coveragerc --cov-report=xml + - name: codecov (${{ matrix.os }}, ${{ matrix.environment-file }}) + uses: codecov/codecov-action@v1 + with: + token: ${{ secrets.CODECOV_TOKEN }} + file: ./coverage.xml + name: spreg-codecov From 06d295dba26325e1d60adc167918058eadf87ed9 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:28:21 -0500 Subject: [PATCH 06/22] removing .travis.yml --- .travis.yml | 76 ----------------------------------------------------- 1 file changed, 76 deletions(-) delete mode 100644 .travis.yml diff --git a/.travis.yml b/.travis.yml deleted file mode 100644 index 3026a506..00000000 --- a/.travis.yml +++ /dev/null @@ -1,76 +0,0 @@ -dist: xenial -language: python -sudo: true -branches: - only: - - master - - panel - -python: - - 3.6 - - 3.7 - -env: - - PYSAL_PYPI=true PYSAL_PLUS=true - - PYSAL_PYPI=true PYSAL_PLUS=false - - PYSAL_PYPI=false PYSAL_PLUS=true - - PYSAL_PYPI=false PYSAL_PLUS=false - - -matrix: - allow_failures: - - python: 3.6 - env: PYSAL_PYPI=false PYSAL_PLUS=false - - python: 3.6 - env: PYSAL_PYPI=false PYSAL_PLUS=true - - python: 3.7 - env: PYSAL_PYPI=false PYSAL_PLUS=false - - python: 3.7 - env: PYSAL_PYPI=false PYSAL_PLUS=true - - -before_install: - - wget https://repo.continuum.io/miniconda/Miniconda3-latest-Linux-x86_64.sh -O miniconda.sh - - chmod +x miniconda.sh - - ./miniconda.sh -b -p ./miniconda - - export PATH=`pwd`/miniconda/bin:$PATH - - conda update --yes conda - - conda config --add channels conda-forge --force - - conda config --set channel_priority strict - - conda create -y --name test-env python=$TRAVIS_PYTHON_VERSION --file requirements.txt --file requirements_tests.txt - - source activate test-env - -install: - - conda install --yes pip - - if "$PYSAL_PYPI"; then - echo 'testing pypi libpysal' && pip install libpysal; - else - echo 'testing git libpysal'; - git clone https://github.com/pysal/libpysal.git; - cd libpysal; pip install .; cd ../; - fi; - - if "$PYSAL_PLUS"; then - echo 'testing PLUS' && conda install --yes --file requirements_plus.txt; - fi; - -script: - - python setup.py sdist >/dev/null - - python setup.py install - - pytest --cov spreg; -notifications: - email: - recipients: - - sjsrey@gmail.com - - levi.john.wolf@gmail.com - - dfolch@gmail.com - - daniel.arribas.bel@gmail.com - - weikang9009@gmail.com - - tayoshan@gmail.com - - jgaboardi@gmail.com - - phil.stphns@gmail.com - - pedrovma@gmail.com - on_success: change - on_failure: change - -after_success: - - coveralls From d4a2eccd81a570691b2f8094d13e82a9d0ca4bc6 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:40:05 -0500 Subject: [PATCH 07/22] turn off in-module doctests for now (NEEDS ATTN) --- .github/workflows/unittests.yml | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index e8e6954d..e7c9669b 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -48,7 +48,8 @@ - run: mamba list - run: conda config --show-sources - run: conda config --show - - run: pytest -v spreg --cov=spreg --doctest-modules --cov-config=.coveragerc --cov-report=xml + #- run: pytest -v spreg --cov=spreg --doctest-modules --cov-config=.coveragerc --cov-report=xml + - run: pytest -v spreg --cov=spreg --cov-config=.coveragerc --cov-report=xml - name: codecov (${{ matrix.os }}, ${{ matrix.environment-file }}) uses: codecov/codecov-action@v1 with: From 366f1537183ceed60a4b416ce414b31da14ecc81 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:45:29 -0500 Subject: [PATCH 08/22] add codecov to test reqs --- requirements_tests.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/requirements_tests.txt b/requirements_tests.txt index c47d7b13..85c891be 100644 --- a/requirements_tests.txt +++ b/requirements_tests.txt @@ -1,4 +1,6 @@ +codecov +coverage pytest pytest-cov -coverage -coveralls +twine +wheel From 00de405983b420f151ed32ec5151624224b43eca Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:45:52 -0500 Subject: [PATCH 09/22] add customized codecov schema (will need update) --- codecov.yml | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) create mode 100644 codecov.yml diff --git a/codecov.yml b/codecov.yml new file mode 100644 index 00000000..6ba476bc --- /dev/null +++ b/codecov.yml @@ -0,0 +1,22 @@ +codecov: + notify: + after_n_builds: 3 +coverage: + range: 50..95 + round: nearest + precision: 1 + status: + project: + default: + threshold: 2% + patch: + default: + threshold: 2% + target: 80% + ignore: + - "tests/*" +comment: + layout: "reach, diff, files" + behavior: once + after_n_builds: 24 + require_changes: true From 8ffd59979983d5f7ad131ae5286ac4ac5c1826e3 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 14:47:20 -0500 Subject: [PATCH 10/22] mac, ubuntu, & windows testing --- .github/workflows/unittests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index e7c9669b..0e5f638a 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -15,7 +15,7 @@ timeout-minutes: 30 strategy: matrix: - os: [ubuntu-latest] # [macos-latest, ubuntu-latest, windows-latest] + os: [macos-latest, ubuntu-latest, windows-latest] environment-file: [ci/37-GIT-PLUS.yaml] #exclude: # - environment-file: ci/36-PYPI-PLUS.yaml From 890fb160e993db4063203792cb16c9cd1993460b Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 15:06:18 -0500 Subject: [PATCH 11/22] attempt 3.7 PYPI-PLUS (mac, ubuntu) --- .github/workflows/unittests.yml | 4 ++-- ci/37-PYPI-PLUS.yaml | 26 ++++++++++++++++++++++++++ codecov.yml | 2 +- 3 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 ci/37-PYPI-PLUS.yaml diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 0e5f638a..b324ebc8 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -15,8 +15,8 @@ timeout-minutes: 30 strategy: matrix: - os: [macos-latest, ubuntu-latest, windows-latest] - environment-file: [ci/37-GIT-PLUS.yaml] + os: [macos-latest, ubuntu-latest] #[macos-latest, ubuntu-latest, windows-latest] + environment-file: [ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml] #exclude: # - environment-file: ci/36-PYPI-PLUS.yaml # os: windows-latest diff --git a/ci/37-PYPI-PLUS.yaml b/ci/37-PYPI-PLUS.yaml new file mode 100644 index 00000000..3a381eec --- /dev/null +++ b/ci/37-PYPI-PLUS.yaml @@ -0,0 +1,26 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.7 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # optional + - bokeh>=0.11.1 + - folium>=0.2.1 + - geopandas>=0.2 + - geojson>=1.3.2 + - matplotlib>=1.5.1 + - mplleaflet>=0.0.5 + - numba + - numexpr + - scikit-learn>=0.17.1 + - seaborn>=0.7.0 + - statsmodels>=0.6.1 diff --git a/codecov.yml b/codecov.yml index 6ba476bc..19c0e20d 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 3 + after_n_builds: 4 coverage: range: 50..95 round: nearest From 80ad6d1a5b9db29ea2f99af8c9a630ab17f97b3b Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 15:20:27 -0500 Subject: [PATCH 12/22] add 3.6 PLUS testing envs --- ci/36-GIT-PLUS.yaml | 25 +++++++++++++++++++++++++ ci/36-PYPI-PLUS.yaml | 26 ++++++++++++++++++++++++++ 2 files changed, 51 insertions(+) create mode 100644 ci/36-GIT-PLUS.yaml create mode 100644 ci/36-PYPI-PLUS.yaml diff --git a/ci/36-GIT-PLUS.yaml b/ci/36-GIT-PLUS.yaml new file mode 100644 index 00000000..5db50670 --- /dev/null +++ b/ci/36-GIT-PLUS.yaml @@ -0,0 +1,25 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.6 + # required + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # optional + - bokeh>=0.11.1 + - folium>=0.2.1 + - geopandas>=0.2 + - geojson>=1.3.2 + - matplotlib>=1.5.1 + - mplleaflet>=0.0.5 + - numba + - numexpr + - scikit-learn>=0.17.1 + - seaborn>=0.7.0 + - statsmodels>=0.6.1 diff --git a/ci/36-PYPI-PLUS.yaml b/ci/36-PYPI-PLUS.yaml new file mode 100644 index 00000000..c7bca376 --- /dev/null +++ b/ci/36-PYPI-PLUS.yaml @@ -0,0 +1,26 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.6 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # optional + - bokeh>=0.11.1 + - folium>=0.2.1 + - geopandas>=0.2 + - geojson>=1.3.2 + - matplotlib>=1.5.1 + - mplleaflet>=0.0.5 + - numba + - numexpr + - scikit-learn>=0.17.1 + - seaborn>=0.7.0 + - statsmodels>=0.6.1 From f840ec2807f9d0575654d44304d6c79505b4c21b Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 15:20:53 -0500 Subject: [PATCH 13/22] run 3.6 PLUS testing --- .github/workflows/unittests.yml | 2 +- codecov.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index b324ebc8..3609df14 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -16,7 +16,7 @@ strategy: matrix: os: [macos-latest, ubuntu-latest] #[macos-latest, ubuntu-latest, windows-latest] - environment-file: [ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml] + environment-file: [ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml] #exclude: # - environment-file: ci/36-PYPI-PLUS.yaml # os: windows-latest diff --git a/codecov.yml b/codecov.yml index 19c0e20d..305be77d 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 4 + after_n_builds: 8 coverage: range: 50..95 round: nearest From ebc85c166b52612ab277abd31dbf6f523b1fe592 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 16:30:05 -0500 Subject: [PATCH 14/22] forgot libpysal on 3.6 PLUS --- ci/36-GIT-PLUS.yaml | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/ci/36-GIT-PLUS.yaml b/ci/36-GIT-PLUS.yaml index 5db50670..2c0d367f 100644 --- a/ci/36-GIT-PLUS.yaml +++ b/ci/36-GIT-PLUS.yaml @@ -23,3 +23,7 @@ dependencies: - scikit-learn>=0.17.1 - seaborn>=0.7.0 - statsmodels>=0.6.1 + # required + - pip + - pip: + - git+https://github.com/pysal/libpysal.git@master From dc694338bc8d297e7b195ae9c354a14c6d0b0a44 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 16:39:56 -0500 Subject: [PATCH 15/22] add 3.6,7 standard testing envs --- ci/36-GIT.yaml | 17 +++++++++++++++++ ci/36-PYPI.yaml | 14 ++++++++++++++ ci/37-GIT.yaml | 17 +++++++++++++++++ ci/37-PYPI.yaml | 14 ++++++++++++++ 4 files changed, 62 insertions(+) create mode 100644 ci/36-GIT.yaml create mode 100644 ci/36-PYPI.yaml create mode 100644 ci/37-GIT.yaml create mode 100644 ci/37-PYPI.yaml diff --git a/ci/36-GIT.yaml b/ci/36-GIT.yaml new file mode 100644 index 00000000..e21a7bbd --- /dev/null +++ b/ci/36-GIT.yaml @@ -0,0 +1,17 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.6 + # required + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # required + - pip + - pip: + - git+https://github.com/pysal/libpysal.git@master diff --git a/ci/36-PYPI.yaml b/ci/36-PYPI.yaml new file mode 100644 index 00000000..e733824c --- /dev/null +++ b/ci/36-PYPI.yaml @@ -0,0 +1,14 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.6 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov diff --git a/ci/37-GIT.yaml b/ci/37-GIT.yaml new file mode 100644 index 00000000..1225f6a6 --- /dev/null +++ b/ci/37-GIT.yaml @@ -0,0 +1,17 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.7 + # required + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # required + - pip + - pip: + - git+https://github.com/pysal/libpysal.git@master diff --git a/ci/37-PYPI.yaml b/ci/37-PYPI.yaml new file mode 100644 index 00000000..868e5248 --- /dev/null +++ b/ci/37-PYPI.yaml @@ -0,0 +1,14 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.7 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov From 0a5f243971795a53d6b0942f5d94d48df6870468 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 16:40:56 -0500 Subject: [PATCH 16/22] run 3.6,7 standard testing --- .github/workflows/unittests.yml | 2 +- codecov.yml | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 3609df14..a081a5ed 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -16,7 +16,7 @@ strategy: matrix: os: [macos-latest, ubuntu-latest] #[macos-latest, ubuntu-latest, windows-latest] - environment-file: [ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml] + environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml] #exclude: # - environment-file: ci/36-PYPI-PLUS.yaml # os: windows-latest diff --git a/codecov.yml b/codecov.yml index 305be77d..fe11deed 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 8 + after_n_builds: 16 coverage: range: 50..95 round: nearest From 285572cd2146d2c6dfb6c1a2ac41e24788322ffb Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 16:57:12 -0500 Subject: [PATCH 17/22] add 3.8 testing envs --- ci/38-GIT-PLUS.yaml | 35 +++++++++++++++++++++++++++++++++++ ci/38-GIT.yaml | 17 +++++++++++++++++ ci/38-PYPI-PLUS.yaml | 26 ++++++++++++++++++++++++++ ci/38-PYPI.yaml | 14 ++++++++++++++ 4 files changed, 92 insertions(+) create mode 100644 ci/38-GIT-PLUS.yaml create mode 100644 ci/38-GIT.yaml create mode 100644 ci/38-PYPI-PLUS.yaml create mode 100644 ci/38-PYPI.yaml diff --git a/ci/38-GIT-PLUS.yaml b/ci/38-GIT-PLUS.yaml new file mode 100644 index 00000000..595a3575 --- /dev/null +++ b/ci/38-GIT-PLUS.yaml @@ -0,0 +1,35 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.8 + # required + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # optional + - bokeh>=0.11.1 + - folium>=0.2.1 + - geopandas>=0.2 + - geojson>=1.3.2 + - matplotlib>=1.5.1 + - mplleaflet>=0.0.5 + - numba + - numexpr + - scikit-learn>=0.17.1 + - seaborn>=0.7.0 + - statsmodels>=0.6.1 + # for docs build action (this env only) + - nbsphinx + - numpydoc + - sphinx>=1.4.3 + - sphinxcontrib-bibtex<2.0.0 + - sphinx_bootstrap_theme + # required + - pip + - pip: + - git+https://github.com/pysal/libpysal.git@master diff --git a/ci/38-GIT.yaml b/ci/38-GIT.yaml new file mode 100644 index 00000000..6508cfe7 --- /dev/null +++ b/ci/38-GIT.yaml @@ -0,0 +1,17 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.8 + # required + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # required + - pip + - pip: + - git+https://github.com/pysal/libpysal.git@master diff --git a/ci/38-PYPI-PLUS.yaml b/ci/38-PYPI-PLUS.yaml new file mode 100644 index 00000000..ab3fba1a --- /dev/null +++ b/ci/38-PYPI-PLUS.yaml @@ -0,0 +1,26 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.8 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # optional + - bokeh>=0.11.1 + - folium>=0.2.1 + - geopandas>=0.2 + - geojson>=1.3.2 + - matplotlib>=1.5.1 + - mplleaflet>=0.0.5 + - numba + - numexpr + - scikit-learn>=0.17.1 + - seaborn>=0.7.0 + - statsmodels>=0.6.1 diff --git a/ci/38-PYPI.yaml b/ci/38-PYPI.yaml new file mode 100644 index 00000000..c57fb789 --- /dev/null +++ b/ci/38-PYPI.yaml @@ -0,0 +1,14 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.8 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov From 24feb1ad7fe76d8427a064d7bf0aa16882be71e1 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 16:57:44 -0500 Subject: [PATCH 18/22] run 3.8 testing --- .github/workflows/unittests.yml | 11 +++++++++-- codecov.yml | 2 +- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index a081a5ed..556b561e 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -15,13 +15,18 @@ timeout-minutes: 30 strategy: matrix: - os: [macos-latest, ubuntu-latest] #[macos-latest, ubuntu-latest, windows-latest] - environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml] + ############################################ uncomment this chunk when Windows testing gets worked out + #os: [macos-latest, ubuntu-latest, windows-latest] + ############################################ + os: [macos-latest, ubuntu-latest] + environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml, ci/38-GIT-PLUS.yaml, ci/38-PYPI-PLUS.yaml, ci/38-GIT.yaml, ci/38-PYPI.yaml] + ############################################ uncomment this chunk when Windows testing gets worked out #exclude: # - environment-file: ci/36-PYPI-PLUS.yaml # os: windows-latest # - environment-file: ci/36-GIT-PLUS.yaml # os: windows-latest + ############################################ defaults: run: shell: bash -l {0} @@ -48,7 +53,9 @@ - run: mamba list - run: conda config --show-sources - run: conda config --show + ############################################## uncomment this chunk when docstring testing gets worked out #- run: pytest -v spreg --cov=spreg --doctest-modules --cov-config=.coveragerc --cov-report=xml + ############################################## - run: pytest -v spreg --cov=spreg --cov-config=.coveragerc --cov-report=xml - name: codecov (${{ matrix.os }}, ${{ matrix.environment-file }}) uses: codecov/codecov-action@v1 diff --git a/codecov.yml b/codecov.yml index fe11deed..af5e6f05 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 16 + after_n_builds: 24 coverage: range: 50..95 round: nearest From d3d672a611dd5ebdc03505109fcf9409f6328736 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 17:19:38 -0500 Subject: [PATCH 19/22] add 3.9 testing envs --- ci/39-GIT-PLUS.yaml | 35 +++++++++++++++++++++++++++++++++++ ci/39-GIT.yaml | 17 +++++++++++++++++ ci/39-PYPI-PLUS.yaml | 26 ++++++++++++++++++++++++++ ci/39-PYPI.yaml | 14 ++++++++++++++ codecov.yml | 2 +- setup.py | 2 +- 6 files changed, 94 insertions(+), 2 deletions(-) create mode 100644 ci/39-GIT-PLUS.yaml create mode 100644 ci/39-GIT.yaml create mode 100644 ci/39-PYPI-PLUS.yaml create mode 100644 ci/39-PYPI.yaml diff --git a/ci/39-GIT-PLUS.yaml b/ci/39-GIT-PLUS.yaml new file mode 100644 index 00000000..3cffa0b9 --- /dev/null +++ b/ci/39-GIT-PLUS.yaml @@ -0,0 +1,35 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.9 + # required + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # optional + - bokeh>=0.11.1 + - folium>=0.2.1 + - geopandas>=0.2 + - geojson>=1.3.2 + - matplotlib>=1.5.1 + - mplleaflet>=0.0.5 + - numba + - numexpr + - scikit-learn>=0.17.1 + - seaborn>=0.7.0 + - statsmodels>=0.6.1 + # for docs build action (this env only) + - nbsphinx + - numpydoc + - sphinx>=1.4.3 + - sphinxcontrib-bibtex<2.0.0 + - sphinx_bootstrap_theme + # required + - pip + - pip: + - git+https://github.com/pysal/libpysal.git@master diff --git a/ci/39-GIT.yaml b/ci/39-GIT.yaml new file mode 100644 index 00000000..e91c5fb4 --- /dev/null +++ b/ci/39-GIT.yaml @@ -0,0 +1,17 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.9 + # required + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # required + - pip + - pip: + - git+https://github.com/pysal/libpysal.git@master diff --git a/ci/39-PYPI-PLUS.yaml b/ci/39-PYPI-PLUS.yaml new file mode 100644 index 00000000..ab8a69e0 --- /dev/null +++ b/ci/39-PYPI-PLUS.yaml @@ -0,0 +1,26 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.9 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov + # optional + - bokeh>=0.11.1 + - folium>=0.2.1 + - geopandas>=0.2 + - geojson>=1.3.2 + - matplotlib>=1.5.1 + - mplleaflet>=0.0.5 + - numba + - numexpr + - scikit-learn>=0.17.1 + - seaborn>=0.7.0 + - statsmodels>=0.6.1 diff --git a/ci/39-PYPI.yaml b/ci/39-PYPI.yaml new file mode 100644 index 00000000..c88b4363 --- /dev/null +++ b/ci/39-PYPI.yaml @@ -0,0 +1,14 @@ +name: test +channels: + - conda-forge +dependencies: + - python=3.9 + # required + - libpysal + - numpy>=1.3 + - pandas>=1.0 + - scipy>=0.11 + # testing/formatting + - codecov + - pytest + - pytest-cov diff --git a/codecov.yml b/codecov.yml index af5e6f05..e0114baf 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 24 + after_n_builds: 32 coverage: range: 50..95 round: nearest diff --git a/setup.py b/setup.py index cdff94bc..19f58678 100644 --- a/setup.py +++ b/setup.py @@ -61,8 +61,8 @@ def setup_package(): "Programming Language :: Python", "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", + "Programming Language :: Python :: 3.8", ], - # package_data={'libpysal':list(example_data_files)}, install_requires=install_reqs, extras_require=extras_reqs, cmdclass={"build_py": build_py}, From e78f1c8335cbec77fc0d34ccd741bc18f28726c9 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 17:19:53 -0500 Subject: [PATCH 20/22] run 3.9 testing --- .github/workflows/unittests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index 556b561e..e0ac71eb 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -19,7 +19,7 @@ #os: [macos-latest, ubuntu-latest, windows-latest] ############################################ os: [macos-latest, ubuntu-latest] - environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml, ci/38-GIT-PLUS.yaml, ci/38-PYPI-PLUS.yaml, ci/38-GIT.yaml, ci/38-PYPI.yaml] + environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/38-GIT.yaml, ci/38-PYPI.yaml, ci/38-GIT-PLUS.yaml, ci/38-PYPI-PLUS.yaml, ci/39-GIT.yaml, ci/39-PYPI.yaml, ci/39-GIT-PLUS.yaml, ci/39-PYPI-PLUS.yaml] ############################################ uncomment this chunk when Windows testing gets worked out #exclude: # - environment-file: ci/36-PYPI-PLUS.yaml From ac5c014b5e2433dedb0ded87b3687af51e8b64c3 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 17:26:13 -0500 Subject: [PATCH 21/22] bump build_docs.yml Python version --- .github/workflows/build_docs.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/build_docs.yml b/.github/workflows/build_docs.yml index 9bb6ae12..471bda88 100644 --- a/.github/workflows/build_docs.yml +++ b/.github/workflows/build_docs.yml @@ -12,7 +12,7 @@ strategy: matrix: os: ['ubuntu-latest'] - environment-file: [ci/37-GIT-PLUS.yaml] + environment-file: [ci/38-GIT-PLUS.yaml] experimental: [false] defaults: run: From 6ca3531852d1c50caed7537550f2bb5c14a4f901 Mon Sep 17 00:00:00 2001 From: James Gaboardi Date: Thu, 31 Dec 2020 17:38:54 -0500 Subject: [PATCH 22/22] Py39 deps not there yet --- .github/workflows/unittests.yml | 13 ++++++++----- ci/37-GIT-PLUS.yaml | 6 ------ codecov.yml | 2 +- 3 files changed, 9 insertions(+), 12 deletions(-) diff --git a/.github/workflows/unittests.yml b/.github/workflows/unittests.yml index e0ac71eb..afc19eea 100644 --- a/.github/workflows/unittests.yml +++ b/.github/workflows/unittests.yml @@ -15,11 +15,14 @@ timeout-minutes: 30 strategy: matrix: - ############################################ uncomment this chunk when Windows testing gets worked out + os: [macos-latest, ubuntu-latest] + ############################################ replace above with this chunk when Windows testing gets worked out #os: [macos-latest, ubuntu-latest, windows-latest] ############################################ - os: [macos-latest, ubuntu-latest] - environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/38-GIT.yaml, ci/38-PYPI.yaml, ci/38-GIT-PLUS.yaml, ci/38-PYPI-PLUS.yaml, ci/39-GIT.yaml, ci/39-PYPI.yaml, ci/39-GIT-PLUS.yaml, ci/39-PYPI-PLUS.yaml] + environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/38-GIT.yaml, ci/38-PYPI.yaml, ci/38-GIT-PLUS.yaml, ci/38-PYPI-PLUS.yaml] + ############################################ replace above with this chunk when Python 3.9 dependecies get worked out + #environment-file: [ci/36-GIT.yaml, ci/36-PYPI.yaml, ci/36-GIT-PLUS.yaml, ci/36-PYPI-PLUS.yaml, ci/37-GIT.yaml, ci/37-PYPI.yaml, ci/37-GIT-PLUS.yaml, ci/37-PYPI-PLUS.yaml, ci/38-GIT.yaml, ci/38-PYPI.yaml, ci/38-GIT-PLUS.yaml, ci/38-PYPI-PLUS.yaml, ci/39-GIT.yaml, ci/39-PYPI.yaml, ci/39-GIT-PLUS.yaml, ci/39-PYPI-PLUS.yaml] + ############################################ ############################################ uncomment this chunk when Windows testing gets worked out #exclude: # - environment-file: ci/36-PYPI-PLUS.yaml @@ -53,10 +56,10 @@ - run: mamba list - run: conda config --show-sources - run: conda config --show - ############################################## uncomment this chunk when docstring testing gets worked out + - run: pytest -v spreg --cov=spreg --cov-config=.coveragerc --cov-report=xml + ############################################## replace above with this chunk when docstring testing gets worked out #- run: pytest -v spreg --cov=spreg --doctest-modules --cov-config=.coveragerc --cov-report=xml ############################################## - - run: pytest -v spreg --cov=spreg --cov-config=.coveragerc --cov-report=xml - name: codecov (${{ matrix.os }}, ${{ matrix.environment-file }}) uses: codecov/codecov-action@v1 with: diff --git a/ci/37-GIT-PLUS.yaml b/ci/37-GIT-PLUS.yaml index 16d47120..bc5fb596 100644 --- a/ci/37-GIT-PLUS.yaml +++ b/ci/37-GIT-PLUS.yaml @@ -23,12 +23,6 @@ dependencies: - scikit-learn>=0.17.1 - seaborn>=0.7.0 - statsmodels>=0.6.1 - # for docs build action (this env only) - - nbsphinx - - numpydoc - - sphinx>=1.4.3 - - sphinxcontrib-bibtex<2.0.0 - - sphinx_bootstrap_theme # required - pip - pip: diff --git a/codecov.yml b/codecov.yml index e0114baf..af5e6f05 100644 --- a/codecov.yml +++ b/codecov.yml @@ -1,6 +1,6 @@ codecov: notify: - after_n_builds: 32 + after_n_builds: 24 coverage: range: 50..95 round: nearest