Skip to content

Commit

Permalink
Merge pull request #78 from tgsmith61591/release-1.1.0
Browse files Browse the repository at this point in the history
[MRG+2] Release 1.1.0
  • Loading branch information
tgsmith61591 authored Dec 27, 2018
2 parents e504247 + 2210b76 commit c5b9b2c
Show file tree
Hide file tree
Showing 41 changed files with 1,302 additions and 474 deletions.
69 changes: 59 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
version: 2

test-filters: &test-filters
tags:
only: /.*/
branches:
only: /.*/

jobs:
# For testing PyPy rather than CPython
pypy36:
Expand All @@ -22,6 +28,26 @@ jobs:
- ~/.ccache
- ~/.cache/pip

cpython36:
docker:
- image: python:3.6
working_directory: ~/pmdarima
steps:
- checkout
- run: make develop
- run: make test-unit
- run: codecov || echo "codecov upload failed"

cpython37:
docker:
- image: python:3.7
working_directory: ~/pmdarima
steps:
- checkout
- run: make develop
- run: make test-unit
- run: codecov || echo "codecov upload failed"

# For testing lint
test-linting:
docker:
Expand All @@ -41,6 +67,15 @@ jobs:
- run: ./build_tools/circle/before_install.sh
- run: ./build_tools/circle/regression_testing.sh

# Simple job that passes when all other tests have passed
testing-passed:
docker:
- image: bash:latest
steps:
- run:
name: pmdarima Testing passed
command: echo "All tests passed"

# For documentation deployment. You'll need the following environment vars
# in your Circle CI settings, otherwise this will not work.
#
Expand All @@ -60,15 +95,29 @@ jobs:

workflows:
version: 2

# All PyPy jobs:
testing:
pmdarima-pipeline:
jobs:
- pypy36
- test-linting
- regression-testing
# All testing jobs
- pypy36:
filters: *test-filters
- cpython36:
filters: *test-filters
- cpython37:
filters: *test-filters
- test-linting:
filters: *test-filters
- regression-testing:
filters: *test-filters
- testing-passed:
requires:
- pypy36
- cpython36
- cpython37
- test-linting
- regression-testing
filters: *test-filters

# All deployment
deploy:
jobs:
- deploy-doc
# All deployment jobs
- deploy-doc:
requires:
- testing-passed
24 changes: 24 additions & 0 deletions .codecov.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Prevent codecov from commenting
comment: false

# Opts scikit uses
coverage:
status:
project:
default:
# Commits pushed to master should not make the overall
# project coverage decrease by more than 1%:
target: auto
threshold: 1%

patch:
default:
# Be tolerant on slight code coverage diff on PRs to limit
# noisy red coverage status on github PRs.
# Note The coverage stats are still uploaded
# to codecov so that PR reviewers can see uncovered lines
# in the github diff if they install the codecov browser
# extension:
# https://github.com/codecov/browser-extension
target: auto
threshold: 1%
41 changes: 29 additions & 12 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,7 @@ matrix:
services:
- docker
env: DISTRIB="conda" PYTHON_VERSION="3.5" INSTALL_MKL="true"
NUMPY_VERSION="1.12.1" SCIPY_VERSION="0.19.0" CYTHON_VERSION="0.25.2"
COVERAGE=true SCIKIT_LEARN_VERSION="0.18" STATSMODELS_VERSION="0.9.0"
NUMPY_VERSION="1.12.1" SCIKIT_LEARN_VERSION="0.18" STATSMODELS_VERSION="0.9.0"
DEPLOY=true CACHEC=true DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
DOCKER_CONTAINER_NAME="pmdarimacontainer"

Expand All @@ -49,25 +48,41 @@ matrix:
services:
- docker
env: DISTRIB="conda" PYTHON_VERSION="3.6.1" INSTALL_MKL="true"
CYTHON_VERSION="0.25.2" COVERAGE=false SCIKIT_LEARN_VERSION="0.19"
STATSMODELS_VERSION="0.9.0" DEPLOY=true CACHEC=true
DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
DOCKER_CONTAINER_NAME="pmdarimacontainer"
SCIKIT_LEARN_VERSION="0.19" STATSMODELS_VERSION="0.9.0" DEPLOY=true CACHEC=true
NUMPY_VERSION="1.12.1" DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
DOCKER_CONTAINER_NAME="pmdarimacontainer"

# This test runs on linux 3.7 & as of v1.1.0+, deploys python 3.7 wheel
- os: linux
dist: trusty
services:
- docker
env: DISTRIB="conda" PYTHON_VERSION="3.7.1" INSTALL_MKL="true"
SCIKIT_LEARN_VERSION="0.20.1" STATSMODELS_VERSION="0.9.0"
DEPLOY=true CACHEC=true NUMPY_VERSION="1.15.4"
DOCKER_IMAGE="quay.io/pypa/manylinux1_x86_64"
DOCKER_CONTAINER_NAME="pmdarimacontainer"

# This environment tests Python 3.5 support on MAC OS X
- os: osx
language: generic
env: DISTRIB="conda" PYTHON_VERSION="3.5"
NUMPY_VERSION="1.12.1" SCIPY_VERSION="0.19.0" CYTHON_VERSION="0.25.2"
COVERAGE=true SCIKIT_LEARN_VERSION="0.18" STATSMODELS_VERSION="0.9.0"
NUMPY_VERSION="1.12.1" SCIKIT_LEARN_VERSION="0.18" STATSMODELS_VERSION="0.9.0"
DEPLOY=true CACHEC=false

# This environment tests Python 3.6 support on MAC OS X
- os: osx
language: generic
env: DISTRIB="conda" PYTHON_VERSION="3.6" CYTHON_VERSION="0.25.2"
COVERAGE=true SCIKIT_LEARN_VERSION="0.20" STATSMODELS_VERSION="0.9.0"
DEPLOY=true CACHEC=false
env: DISTRIB="conda" PYTHON_VERSION="3.6"
SCIKIT_LEARN_VERSION="0.20" STATSMODELS_VERSION="0.9.0"
DEPLOY=true CACHEC=false

# This environment tests Python 3.7 support on MAC OS X
- os: osx
language: generic
env: DISTRIB="conda" PYTHON_VERSION="3.7"
SCIKIT_LEARN_VERSION="0.20" STATSMODELS_VERSION="0.9.0"
DEPLOY=true CACHEC=false

install: source build_tools/travis/install.sh
before_script: bash build_tools/travis/before_script.sh
Expand All @@ -81,7 +96,9 @@ after_success:
- source build_tools/travis/after_success.sh # || echo "shell_session_update failed"
# Build the wheels every time so we can debug
- bash build_tools/travis/build_wheels.sh
- ls dist/

before_deploy:
- bash build_tools/travis/after_wheel_build.sh

# TODO: do we want "always?"
notifications:
Expand Down
1 change: 1 addition & 0 deletions AUTHORS.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,7 @@ The following people have been core contributors to `pyramid`'s development:
* [Gary Foreman](https://github.com/garyForeman)
* [Charles Drotar](https://github.com/charlesdrotar)
* [Steven Hoelscher](https://github.com/shoelsch)
* [Aaron Smith](https://github.com/aaronreidsmith)

__Please do not email the authors directly with questions or issues.__ Rather, use
the [issues](https://github.com/tgsmith61591/pyramid/issues) page. Furthermore, issues
Expand Down
20 changes: 8 additions & 12 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -24,22 +24,18 @@ develop: requirements
install: requirements
$(PYTHON) setup.py install

# test-sphinxext:
# $(NOSETESTS) -s -v doc/sphinxext/
#test-doc:
#ifeq ($(BITS),64)
# $(NOSETESTS) -s -v doc/*.rst doc/modules/ doc/datasets/ \
# doc/developers doc/tutorial/basic doc/tutorial/statistical_inference \
# doc/tutorial/text_analytics
#endif

test-requirements:
$(PYTHON) -m pip install pytest pytest-cov flake8
$(PYTHON) -m pip install pytest flake8 matplotlib pytest-mpl

coverage-dependencies:
$(PYTHON) -m pip install coverage pytest-cov codecov

test-lint: test-requirements
$(PYTHON) -m flake8 pmdarima --filename='*.py' --ignore E803,F401,F403,W293,W504

test-unit: test-requirements
$(PYTHON) -m pytest -v --durations=20 --cov-config .coveragerc --cov pmdarima
test-unit: test-requirements coverage-dependencies
$(PYTHON) -m pytest -v --durations=20 --mpl --mpl-baseline-path=pytest_images --cov-config .coveragerc --cov pmdarima -p no:logging

test: develop test-unit test-lint
# Coverage creates all these random little artifacts we don't want
rm .coverage.* || echo "No coverage artifacts to remove"
18 changes: 7 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,9 @@
[![PyPI version](https://badge.fury.io/py/pmdarima.svg)](https://badge.fury.io/py/pmdarima)
[![Linux build status](https://travis-ci.org/tgsmith61591/pmdarima.svg?branch=master)](https://travis-ci.org/tgsmith61591/pmdarima)
[![Build status](https://ci.appveyor.com/api/projects/status/0ntddrmtrdopt5rf?svg=true)](https://ci.appveyor.com/project/tgsmith61591/pmdarima)
[![Build status](https://ci.appveyor.com/api/projects/status/0ntddrmtrdopt5rf/branch/master?svg=true)](https://ci.appveyor.com/project/tgsmith61591/pmdarima/branch/master)
[![CircleCI](https://circleci.com/gh/tgsmith61591/pmdarima.svg?style=svg)](https://circleci.com/gh/tgsmith61591/pmdarima)
[![codecov](https://codecov.io/gh/tgsmith61591/pmdarima/branch/master/graph/badge.svg)](https://codecov.io/gh/tgsmith61591/pmdarima)
![Supported versions](https://img.shields.io/badge/python-3.5-blue.svg)
![Supported versions](https://img.shields.io/badge/python-3.6-blue.svg)
![Supported versions](https://img.shields.io/badge/python-3.5+-blue.svg)

# pmdarima

Expand Down Expand Up @@ -44,17 +43,14 @@ from pmdarima.arima import auto_arima

`pmdarima` is available in pre-built Wheel files for the following Python versions:

* Python 3.5:
* Mac
* Linux (manylinux)
* Windows (32 & 64-bit)
* Python 3.6:
* Mac
* Linux (manylinux)
* Python 3.5+:
* Mac (64-bit)
* Linux (64-bit manylinux)
* Windows (32 & 64-bit)

If a wheel doesn't exist for your platform, you can still `pip install` and it will
build from the source distribution tarball.
build from the source distribution tarball, however you'll need `cython>=0.28` and
`gcc` (Mac/Linux) or `MinGW` (Windows) in order to build the package from source.


### Documentation
Expand Down
20 changes: 13 additions & 7 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -39,6 +39,18 @@ environment:
PMDARIMA_MPL_DEBUG: "true"
PYTHON: "C:\\Python36-x64"

- PYTHON_ARCH: "32"
PYTHON_VERSION: "3.7.0"
MPL_VERSION: "2.2.3"
PMDARIMA_MPL_DEBUG: "true"
PYTHON: "C:\\Python37"

- PYTHON_ARCH: "64"
PYTHON_VERSION: "3.7.0"
MPL_VERSION: "2.2.3"
PMDARIMA_MPL_DEBUG: "true"
PYTHON: "C:\\Python37-x64"

# Because we only have a single worker, we don't want to waste precious
# appveyor CI time and make other PRs wait for repeated failures in a failing
# PR. The following option cancels pending jobs in a given PR after the first
Expand Down Expand Up @@ -81,14 +93,8 @@ install:
build: false

test_script:
# Change to a non-source folder to make sure we run the tests on the
# installed library
- mkdir "../empty_folder"
- "cd ../empty_folder"

# Test with pytest
- "pytest --showlocals --durations=20 --pyargs pmdarima"
- "cd ../pmdarima"
- "pytest --showlocals --durations=20 --mpl --mpl-baseline-path=pytest_images --pyargs pmdarima"

after_test:
- set PATH=%BK_PATH%
Expand Down
8 changes: 5 additions & 3 deletions build_tools/appveyor/requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,13 @@
numpy
scipy
# Pin Cython to avoid bug with 0.28.x on Python 3.7
cython==0.27.3
scikit-learn>=0.17
cython>=0.29
scikit-learn>=0.19
pandas>=0.19
statsmodels>=0.9.0
patsy
pytest
pytest-mpl
wheel
twine
twine
matplotlib
Loading

0 comments on commit c5b9b2c

Please sign in to comment.