Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update requirements, drop Python 2.7 support #126

Merged
merged 8 commits into from
Aug 6, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
48 changes: 7 additions & 41 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -70,6 +70,7 @@ references:
command: |
conda config --set always_yes yes --set changeps1 no
conda config --add channels conda-forge
conda install python=$CONDA_PYTHON_VER
conda install virtualenv==16.0.0
conda install tox
- run:
Expand Down Expand Up @@ -120,16 +121,6 @@ jobs:
- run:
<<: *run-style-check

python27:
docker:
- image: circleci/python:2.7.14-jessie
environment:
- TEST_TOX_ENV: "py27"
- COVERAGE_TOX_ENV: "coverage-py27"
- BUILD_TOX_ENV: "build-py27"
- TEST_WHEELINSTALL_ENV: "wheelinstall-py27"
<<: *ci-steps

python35:
docker:
- image: circleci/python:3.5.4-jessie
Expand Down Expand Up @@ -161,49 +152,36 @@ jobs:
- TEST_WHEELINSTALL_ENV: "wheelinstall-py37"
<<: *ci-steps

miniconda27:
docker:
- image: continuumio/miniconda:4.6.14
environment:
- TEST_TOX_ENV: "py27"
- BUILD_TOX_ENV: "build-py27"
- TEST_WHEELINSTALL_ENV: "wheelinstall-py27"
<<: *conda-steps

miniconda35:
docker:
- image: continuumio/miniconda3:4.1.11
- image: continuumio/miniconda3:4.3.27p0
environment:
- CONDA_PYTHON_VER: "3.5"
- TEST_TOX_ENV: "py35"
- BUILD_TOX_ENV: "build-py35"
- TEST_WHEELINSTALL_ENV: "wheelinstall-py35"
<<: *conda-steps

miniconda36:
docker:
- image: continuumio/miniconda3:4.3.14
- image: continuumio/miniconda3:4.6.14
environment:
- CONDA_PYTHON_VER: "3.6"
- TEST_TOX_ENV: "py36"
- BUILD_TOX_ENV: "build-py36"
- TEST_WHEELINSTALL_ENV: "wheelinstall-py36"
<<: *conda-steps

miniconda37:
docker:
- image: continuumio/miniconda3:4.5.12
- image: continuumio/miniconda3:4.6.14
environment:
- CONDA_PYTHON_VER: "3.7"
- TEST_TOX_ENV: "py37"
- BUILD_TOX_ENV: "build-py37"
- TEST_WHEELINSTALL_ENV: "wheelinstall-py37"
<<: *conda-steps

gallery27:
docker:
- image: circleci/python:2.7.14-jessie
environment:
- TEST_TOX_ENV: "gallery-py27"
<<: *gallery-steps

gallery35:
docker:
- image: circleci/python:3.5.4-jessie
Expand Down Expand Up @@ -278,24 +256,18 @@ workflows:
jobs:
- flake8:
<<: *no_filters
- python27:
<<: *no_filters
- python35:
<<: *no_filters
- python36:
<<: *no_filters
- python37:
<<: *no_filters
- miniconda27:
<<: *no_filters
- miniconda35:
<<: *no_filters
- miniconda36:
<<: *no_filters
- miniconda37:
<<: *no_filters
- gallery27:
<<: *no_filters
- gallery35:
<<: *no_filters
- gallery36:
Expand All @@ -305,15 +277,12 @@ workflows:
- deploy-dev:
requires:
- flake8
- python27
- python35
- python36
- python37
- miniconda27
- miniconda35
- miniconda36
- miniconda37
- gallery27
- gallery35
- gallery36
- gallery37
Expand All @@ -323,15 +292,12 @@ workflows:
- deploy-release:
requires:
- flake8
- python27
- python35
- python36
- python37
- miniconda27
- miniconda35
- miniconda36
- miniconda37
- gallery27
- gallery35
- gallery36
- gallery37
Expand Down
18 changes: 9 additions & 9 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -1,29 +1,29 @@
---
name: Bug report
about: Create a report to help us improve
about: Create a report to help us fix a bug
title: ''
labels: bug
assignees: ''

---

1) Bug
## Description

If you are reporting a bug please provide the following:
Steps to Reproduce
<!--Please provide the following in your bug report:-->

Provide a minimal code snippet here to reproduce this error.
## Steps to Reproduce

Environment
<!--Provide a minimal code snippet here to reproduce this error.-->

Please describe your environment according to the following bullet points.
## Environment

<!--Please describe your environment according to the following bullet points.-->

Python Executable: Conda or Python
Python Version: Python 2.7 or Python 3.6
Python Version: Python 3.5, 3.6, or 3.7
Operating System: Windows, macOS or Linux
HDMF Version: Version of HDMF used


## Checklist

- [ ] Have you ensured the feature or change was not already [reported](https://github.com/hdmf-dev/hdmf/issues) ?
Expand Down
10 changes: 0 additions & 10 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,20 +26,10 @@ matrix:
- BUILD_TOX_ENV=build-py35
- TEST_WHEELINSTALL_ENV=wheelinstall-py35

- os: osx
language: generic
env:
- TRAVIS_PYTHON_VERSION=2.7.14
- TEST_TOX_ENV=py27
- COVERAGE_TOX_ENV=coverage-py27
- BUILD_TOX_ENV=build-py27
- TEST_WHEELINSTALL_ENV=wheelinstall-py27

cache:
directories:
- $HOME/.pyenv/versions/3.6.3
- $HOME/.pyenv/versions/3.5.4
- $HOME/.pyenv/versions/2.7.14

before_install:
- export PATH=$HOME/.pyenv/versions/$TRAVIS_PYTHON_VERSION/bin:$PATH
Expand Down
7 changes: 0 additions & 7 deletions appveyor.yml
Original file line number Diff line number Diff line change
Expand Up @@ -7,13 +7,6 @@ branches:
environment:
matrix:

- PYTHON_VERSION: 2.7
PYTHON: C:\\Python27-x64
TEST_TOX_ENV: py27
COVERAGE_TOX_ENV: coverage-py27
BUILD_TOX_ENV: build-py27
TEST_WHEELINSTALL_ENV: wheelinstall-py27

- PYTHON_VERSION: 3.6
PYTHON: C:\\Python36-x64
TEST_TOX_ENV: py36
Expand Down
3 changes: 2 additions & 1 deletion docs/source/getting_started.rst
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ Dependencies

HDMF has the following minimum requirements, which must be installed before you can get started using HDMF.

#. Python 2.7, Python 3.5 or Python 3.6
#. Python 3.5, 3.6, or 3.7
#. pip

------------
Expand All @@ -32,6 +32,7 @@ This will automatically install the following required dependencies:
#. requests
#. ruamel.yaml
#. six
#. chardet

Install release from Conda-forge
--------------------------------
Expand Down
4 changes: 2 additions & 2 deletions docs/source/software_process.rst
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,8 @@ Versioning and Releasing

HDMF uses versioneer_ for versioning source and wheel distributions. Versioneer creates a semi-unique release
name for the wheels that are created. It requires a version control system (git in HDMF's case) to generate a release name.
After all the tests pass, circleci creates both wheels(*.whl) and source distribution(*.tgz) for both Python 2 and Python 3
and uploads them back to github as a release_. Versioneer makes it possible to get the source distribution from github and create
After all the tests pass, CircleCI creates both wheels(*.whl) and source distribution(*.tgz) for Python 3
and uploads them back to GitHub as a release_. Versioneer makes it possible to get the source distribution from GitHub and create
wheels directly without having to use a version control system because it hardcodes versions in the source distribution.

.. _versioneer: https://github.com/warner/python-versioneer
Expand Down
4 changes: 1 addition & 3 deletions docs/source/update_requirements.rst
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ the following script:
requirements-(dev|doc).txt
==========================

Any of these requirements files can be updated updated using
Any of these requirements files can be updated using
the following scripts:

.. code::
Expand All @@ -63,5 +63,3 @@ the following scripts:

deactivate
rmvirtualenv hdmf-requirements

Note: If you create requirements files using Python 2.x, you should manually remove any entries for the `enum34` package before committing. This package is only required for versions of Python < 3.4, and should not be installed in later versions. Since our requirements files are shared across Python 2 and 3 we instead rely on `pip` to install this package only when it is required. (See `issue #677 <https://github.com/hdmf-dev/hdmf/issues/677>`_ for discussion.)
8 changes: 4 additions & 4 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,8 @@ certifi==2019.6.16
chardet==3.0.4
codecov==2.0.15
configparser==3.7.4
coverage==4.5.3
flake8==3.7.7
coverage==4.5.4
flake8==3.7.8
idna==2.8
linecache2==1.0.0
mccabe==0.6.1
Expand All @@ -13,8 +13,8 @@ pycodestyle==2.5.0
pyflakes==2.1.1
requests==2.22.0
six==1.12.0
tox==3.12.1
tox==3.13.2
traceback2==1.4.0
unittest2==1.1.0
urllib3==1.25.3
virtualenv==16.6.1
virtualenv==16.7.2
10 changes: 3 additions & 7 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -1,11 +1,7 @@
certifi==2019.6.16
chardet==3.0.4
h5py==2.9.0
idna==2.8
numpy==1.16.4
numpy==1.17.0
pandas==0.25.0
python-dateutil==2.8.0
requests==2.22.0
ruamel.yaml==0.15.97
ruamel.yaml==0.16.0
six==1.12.0
urllib3==1.25.3
pandas==0.24.2
4 changes: 2 additions & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,15 +31,15 @@
'ruamel.yaml',
'python-dateutil',
'six',
'requests'
'chardet'
],
'packages': pkgs,
'package_dir': {'': 'src'},
'classifiers': [
"Programming Language :: Python",
"Programming Language :: Python :: 2.7",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"License :: OSI Approved :: BSD License",
"Development Status :: 2 - Pre-Alpha",
"Intended Audience :: Developers",
Expand Down
21 changes: 1 addition & 20 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
# and then run "tox" from this directory.

[tox]
envlist = py27, py35, py36, py37
envlist = py35, py36, py37

[testenv]
usedevelop = True
Expand Down Expand Up @@ -33,10 +33,6 @@ commands =
python setup.py sdist
python setup.py bdist_wheel

[testenv:build-py27]
basepython = python2.7
commands = {[testenv:build]commands}

[testenv:build-py35]
basepython = python3.5
commands = {[testenv:build]commands}
Expand All @@ -56,11 +52,6 @@ commands =
coverage report -m
codecov -X fix

[testenv:coverage-py27]
passenv = CODECOV_TOKEN
basepython = python2.7
commands = {[testenv:coverage]commands}

[testenv:coverage-py35]
passenv = CODECOV_TOKEN
basepython = python3.5
Expand All @@ -77,10 +68,6 @@ basepython = python3.7
commands = {[testenv:coverage]commands}

# Envs that will test installation from a wheel
[testenv:wheelinstall-py27]
deps = null
commands = python -c "import hdmf"

[testenv:wheelinstall-py35]
deps = null
commands = python -c "import hdmf"
Expand All @@ -106,12 +93,6 @@ deps =
commands =
python test.py --example

[testenv:gallery-py27]
basepython = python2.7
deps = {[testenv:gallery]deps}
commands = {[testenv:gallery]commands}


[testenv:gallery-py35]
basepython = python3.5
deps = {[testenv:gallery]deps}
Expand Down