diff --git a/.pyup.yml b/.pyup.yml new file mode 100644 index 0000000000..0c85ee8e03 --- /dev/null +++ b/.pyup.yml @@ -0,0 +1,24 @@ +# pyup.io config file +# see https://pyup.io/docs/configuration/ for all available options + +schedule: every month + +requirements: + - requirements.txt: + pin: False + update: False + - requirements_test.txt: + pin: False + update: False + - requirements_rtfd.txt: + pin: False + update: False + - requirements_dev.txt: + pin: True + update: all + - requirements_dev_npy.txt: + pin: True + update: all + - requirements_dev_optional.txt: + pin: True + update: all diff --git a/appveyor.yml b/appveyor.yml index 987b51c1c4..67058550dc 100644 --- a/appveyor.yml +++ b/appveyor.yml @@ -12,49 +12,29 @@ environment: matrix: - - PYTHON: "C:\\Python27" - PYTHON_VERSION: "2.7" - NUMPY_VERSION: "1.15.2" - - PYTHON: "C:\\Python27-x64" PYTHON_VERSION: "2.7" - NUMPY_VERSION: "1.15.2" DISTUTILS_USE_SDK: "1" - - PYTHON: "C:\\Python35" - PYTHON_VERSION: "3.5" - NUMPY_VERSION: "1.15.2" - - PYTHON: "C:\\Python35-x64" PYTHON_VERSION: "3.5" - NUMPY_VERSION: "1.15.2" - - - PYTHON: "C:\\Python36" - PYTHON_VERSION: "3.6" - NUMPY_VERSION: "1.15.2" - PYTHON: "C:\\Python36-x64" PYTHON_VERSION: "3.6" - NUMPY_VERSION: "1.15.2" - - - PYTHON: "C:\\Python37" - PYTHON_VERSION: "3.7" - NUMPY_VERSION: "1.15.2" - PYTHON: "C:\\Python37-x64" PYTHON_VERSION: "3.7" - NUMPY_VERSION: "1.15.2" install: - "SET PATH=%PYTHON%;%PYTHON%\\Scripts;%PATH%" + - "%CMD_IN_ENV% python -m pip install -U pip setuptools wheel" + - "%CMD_IN_ENV% python -m pip install -rrequirements_test.txt" + - "%CMD_IN_ENV% python -m pip install -rrequirements_dev_npy.txt" + - "%CMD_IN_ENV% python -m pip install --no-binary=numcodecs -rrequirements_dev.txt" + - "%CMD_IN_ENV% python setup.py install" + - "%CMD_IN_ENV% python -m pip freeze" build: off test_script: - - "%CMD_IN_ENV% python -m pip install -U pip setuptools wheel" - - "%CMD_IN_ENV% python -m pip install numpy==%NUMPY_VERSION%" - - "%CMD_IN_ENV% python -m pip install cython==0.29" - - "%CMD_IN_ENV% python -m pip install -v --no-binary=numcodecs numcodecs==0.5.5" - - "%CMD_IN_ENV% python -m pip install -rrequirements_dev.txt" - - "%CMD_IN_ENV% python setup.py install" - "%CMD_IN_ENV% python -m pytest -v --pyargs zarr" diff --git a/requirements.txt b/requirements.txt index 8720210cf5..ab79134cb7 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,5 +1,5 @@ asciitree -pytest -numpy fasteners numcodecs +numpy +pytest diff --git a/requirements_dev.txt b/requirements_dev.txt index 23de426def..2ad18f372c 100644 --- a/requirements_dev.txt +++ b/requirements_dev.txt @@ -1,61 +1,3 @@ asciitree==0.3.3 -asn1crypto==0.24.0 -atomicwrites==1.2.1 -attrs==18.2.0 -bleach==3.0.2 -boto3==1.9.26 -botocore==1.12.26 -certifi==2018.10.15 -cffi==1.11.5 -chardet==3.0.4 -cmarkgfm==0.4.2 -configparser==3.5.0 -coverage==4.5.1 -coveralls==1.5.1 -cryptography==2.3.1 -Cython==0.29 -docopt==0.6.2 -docutils==0.14 -enum34==1.1.6 fasteners==0.14.1 -filelock==3.0.9 -flake8==3.5.0 -funcsigs==1.0.2 -future==0.16.0 -h5py==2.8.0 -idna==2.7 -ipaddress==1.0.22 -jmespath==0.9.3 -mccabe==0.6.1 -monotonic==1.5 -more-itertools==4.3.0 -msgpack-python==0.5.6 numcodecs==0.5.5 -pathlib2==2.3.2 -pkginfo==1.4.2 -pluggy==0.8.0 -py==1.7.0 -pycodestyle==2.3.1 -pycparser==2.19 -pyflakes==1.6.0 -Pygments==2.2.0 -pyOpenSSL==18.0.0 -pytest==3.9.1 -pytest-cov==2.6.0 -python-dateutil==2.7.3 -readme-renderer==22.0 -requests==2.19.1 -requests-toolbelt==0.8.0 -setuptools-scm==3.1.0 -s3fs==0.1.6 -s3transfer==0.1.13 -scandir==1.9.0 -six==1.11.0 -toml==0.10.0 -tox==3.5.2 -tox-travis==0.11 -tqdm==4.27.0 -twine==1.12.1 -urllib3==1.23 -virtualenv==16.0.0 -webencodings==0.5.1 diff --git a/requirements_dev_npy.txt b/requirements_dev_npy.txt new file mode 100644 index 0000000000..78b80223e2 --- /dev/null +++ b/requirements_dev_npy.txt @@ -0,0 +1,4 @@ +# Break this out into a separate file to allow testing against +# different versions of numpy. This file should pin to the latest +# numpy version. +numpy==1.15.4 diff --git a/requirements_dev_optional.txt b/requirements_dev_optional.txt index a4e7c2a6bd..1ea71451d9 100644 --- a/requirements_dev_optional.txt +++ b/requirements_dev_optional.txt @@ -1,2 +1,3 @@ +# These packages are currently not available on Windows. bsddb3==6.2.6 lmdb==0.94 diff --git a/requirements_test.txt b/requirements_test.txt new file mode 100644 index 0000000000..a668f130cc --- /dev/null +++ b/requirements_test.txt @@ -0,0 +1,11 @@ +coverage +coveralls +cython +flake8 +h5py +msgpack-python +pytest +pytest-cov +s3fs +setuptools-scm +tox diff --git a/tox.ini b/tox.ini index 7435b01f45..d443dec5df 100644 --- a/tox.ini +++ b/tox.ini @@ -30,11 +30,14 @@ commands = py37: python -m doctest -o NORMALIZE_WHITESPACE -o ELLIPSIS docs/tutorial.rst docs/spec/v2.rst # pep8 checks py37: flake8 --max-line-length=100 zarr + # print environment for debugging + pip freeze deps = py27: backports.lzma py36-npy113: numpy==1.13.3 py36-npy114: numpy==1.14.6 - py27,py35,py36-npy115,py37: numpy==1.15.2 + py27,py35,py36-npy115,py37: -rrequirements_dev_npy.txt + -rrequirements_test.txt -rrequirements_dev.txt # linux only -rrequirements_dev_optional.txt