Skip to content
This repository has been archived by the owner on Jul 28, 2023. It is now read-only.

Commit

Permalink
Drop support for Python 3.5 (#750)
Browse files Browse the repository at this point in the history
* Drop support for Python 3.5

This commit drops support for running with python 3.5. It marks the
minimum supported version of the package as python 3.6, removes python
3.5 package pins, removes the 3.5 CI jobs, and removes the warning on
python 3.5. Looking at the PyPI stats since the deprecation period
started the number of users on Python 3.5 has diminished significantly,
but not disappeared. There were 90 downloads with pip from pypi out of
total of 16,615 total pip downloads in the last 30 days. Compared to the
roughly 10% figure when we deprecated Python 3.5.

Merging this means we can not release until after the documented EoL
date for Python 3.5 support of September 13. This shouldn't be a problem
because with Qiskit/qiskit#4767 we will need to coordinate the
release of all the qiskit elements and are planning to do that after
09/13/2020.

It's worth noting that we should start planning to deprecate python 3.6
support sooner rather than later it goes EoL upstream at the end of
next year [1] and some of our other upstream dependencies (mainly numpy
et al) are going to remove support before the upstream Python EoL date
[2].

[1] https://devguide.python.org/#branchstatus
[2] https://numpy.org/neps/nep-0029-deprecation_policy.html

* Add release notes

* Update version in release note

Co-authored-by: Jessie Yu <jessieyu@us.ibm.com>
  • Loading branch information
mtreinish and jyu00 authored Sep 16, 2020
1 parent 4352c64 commit 66619bb
Show file tree
Hide file tree
Showing 6 changed files with 15 additions and 30 deletions.
22 changes: 3 additions & 19 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,7 @@ stage_linux: &stage_linux
<<: *stage_generic
os: linux
language: python
python: 3.5
python: 3.6

stage_osx: &stage_osx
<<: *stage_generic
Expand Down Expand Up @@ -82,9 +82,6 @@ stage_win: &stage_win
|
export PATH="/c/Python${PYTHON_VERSION}:/c/Python${PYTHON_VERSION}/Scripts:${PATH}"
case $PYTHON_VERSION in
35)
choco install python --version 3.5.4
;;
36)
choco install python --version 3.6.5
;;
Expand Down Expand Up @@ -115,7 +112,7 @@ jobs:
include:
# "lint and and pure python test" stage
###########################################################################
# Linter and style check (GNU/Linux, Python 3.5)
# Linter and style check (GNU/Linux, Python 3.7)
- stage: lint and pure python test
<<: *stage_linux
if: type != cron
Expand All @@ -129,7 +126,7 @@ jobs:
if: type != cron
script: make mypy

# Run the tests against without compilation (GNU/Linux, Python 3.5)
# Run the tests against without compilation (GNU/Linux, Python 3.6)
- stage: lint and pure python test
<<: *stage_linux
if: type != cron
Expand All @@ -156,14 +153,6 @@ jobs:
dist: xenial
python: 3.8

# OSX, Python 3.5.6 (via pyenv)
- stage: test
<<: *stage_osx
if: type != cron
env:
- MPLBACKEND=ps
- PYTHON_VERSION=3.5.6

# OSX, Python 3.6.5 (via pyenv)
- stage: test
<<: *stage_osx
Expand Down Expand Up @@ -228,11 +217,6 @@ jobs:
<<: *stage_win
env:
- PYTHON_VERSION=36
# Windows, Python 3.5
- if: type = cron
<<: *stage_win
env:
- PYTHON_VERSION=35
- if: tag IS present
language: python
python: "3.6"
Expand Down
8 changes: 2 additions & 6 deletions azure-pipelines.yml
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,6 @@ jobs:
# condition: eq(variables['Build.Reason'], 'PullRequest')
strategy:
matrix:
Python35:
python.version: '3.5'
Python36:
python.version: '3.6'
Python37:
Expand Down Expand Up @@ -44,10 +42,8 @@ jobs:
condition: eq(variables['Build.Reason'], 'Schedule')
strategy:
matrix:
Python35:
python.version: '3.5'
# Python36:
# python.version: '3.6'
Python36:
python.version: '3.6'
# Python37:
# python.version: '3.7'
steps:
Expand Down
7 changes: 7 additions & 0 deletions releasenotes/notes/drop-py35-0eec8b799e9ae407.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
---
upgrade:
- |
The deprecated support for running qiskit-ibmq-provider with Python 3.5 has
been removed. To use qiskit-ibmq-provider >=0.10.0 you will now need at
least Python 3.6. If you are using Python 3.5 the last version which will
work is qiskit-ibmq-provider 0.9.x.
3 changes: 1 addition & 2 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,7 @@ pycodestyle
pylint>=2.4
pylintfileheader>=0.0.2
vcrpy
pproxy==1.2.2; python_version <= '3.5'
pproxy==2.1.8; python_version > '3.5'
pproxy==2.1.8
Sphinx>=1.8.3,<3.1.0
sphinx-rtd-theme>=0.4.0
sphinx-tabs>=1.1.11
Expand Down
3 changes: 1 addition & 2 deletions setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,6 @@
"Operating System :: MacOS",
"Operating System :: POSIX :: Linux",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.5",
"Programming Language :: Python :: 3.6",
"Programming Language :: Python :: 3.7",
"Programming Language :: Python :: 3.8",
Expand All @@ -84,7 +83,7 @@
'qiskit.providers.ibmq.random'],
install_requires=REQUIREMENTS,
include_package_data=True,
python_requires=">=3.5",
python_requires=">=3.6",
zip_safe=False,
extras_require={'visualization': ['matplotlib>=2.1', 'ipywidgets>=7.3.0',
"seaborn>=0.9.0", "plotly>=4.4",
Expand Down
2 changes: 1 addition & 1 deletion tox.ini
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
[tox]
minversion = 2.1
envlist = py35, py36, py37, lint, docs
envlist = py36, py37, lint, docs
skipsdist = True

[testenv]
Expand Down

0 comments on commit 66619bb

Please sign in to comment.