diff --git a/.azure-pipelines/azure-pipelines-base.yml b/.azure-pipelines/azure-pipelines-base.yml index 27035d3cf9..8eea1b094f 100644 --- a/.azure-pipelines/azure-pipelines-base.yml +++ b/.azure-pipelines/azure-pipelines-base.yml @@ -11,25 +11,21 @@ jobs: strategy: matrix: Python_39: - python.version: 3.9 + python.version: "3.9" PyPIGithub: false name: "Python 3.9" - Python_38_preview: - python.version: 3.8 + Python_39_preview: + python.version: "3.9" PyPIGithub: true - name: "Python 3.8" + name: "Python 3.9" Python_38: - python.version: 3.8 + python.version: "3.8" PyPIGithub: false name: "Python 3.8" Python_37: - python.version: 3.7 + python.version: "3.7" PyPIGithub: false name: "Python 3.7" - Python_36: - python.version: 3.6 - PyPIGithub: false - name: "Python 3.6" steps: - task: UsePythonVersion@0 diff --git a/.azure-pipelines/azure-pipelines-benchmarks.yml b/.azure-pipelines/azure-pipelines-benchmarks.yml index 4f2bcfd1ba..a8c1c76e5a 100644 --- a/.azure-pipelines/azure-pipelines-benchmarks.yml +++ b/.azure-pipelines/azure-pipelines-benchmarks.yml @@ -5,9 +5,9 @@ jobs: timeoutInMinutes: 360 strategy: matrix: - Python_38: - python.version: 3.8 - name: "Python 3.8 - benchmarks" + Python_39: + python.version: "3.9" + name: "Python 3.9 - benchmarks" steps: diff --git a/.azure-pipelines/azure-pipelines-docs.yml b/.azure-pipelines/azure-pipelines-docs.yml index 7b07383edc..5188df0b98 100644 --- a/.azure-pipelines/azure-pipelines-docs.yml +++ b/.azure-pipelines/azure-pipelines-docs.yml @@ -11,9 +11,9 @@ jobs: timeoutInMinutes: 360 strategy: matrix: - Python_38: - python.version: 3.8 - name: "Python 3.8 - docs" + Python_39: + python.version: "3.9" + name: "Python 3.9 - docs" steps: - script: | diff --git a/.azure-pipelines/azure-pipelines-external.yml b/.azure-pipelines/azure-pipelines-external.yml index 7686af045e..81434c3be7 100644 --- a/.azure-pipelines/azure-pipelines-external.yml +++ b/.azure-pipelines/azure-pipelines-external.yml @@ -10,25 +10,20 @@ jobs: timeoutInMinutes: 360 strategy: matrix: - Python_38_Latest: - python.version: 3.8 + Python_39_Latest: + python.version: "3.9" pystan.version: "latest" cmdstanpy.version: "latest" pymc3.version: "latest" - pyro.version: "latest" - pytorch.version: "latest" emcee.version: "latest" name: "External latest" - Python_38_Special_versions: - python.version: 3.8 + Python_39_Special_versions: + python.version: "3.9" pystan.version: 2.19.1.1 cmdstanpy.version: 0.9.67 pymc3.version: "github" - pyro.version: 1.2 - pytorch.version: 1.4 emcee.version: 2 - tensorflow.version: 1 name: "External special" steps: @@ -51,11 +46,7 @@ jobs: python -m pip install --upgrade pip python -m pip install wheel - if [ "$(pytorch.version)" = "latest" ]; then - python -m pip --no-cache-dir install torch -f https://download.pytorch.org/whl/cpu/torch_stable.html - else - python -m pip --no-cache-dir install torch=="$(pytorch.version)" -f https://download.pytorch.org/whl/cpu/torch_stable.html - fi + python -m pip --no-cache-dir install torch -f https://download.pytorch.org/whl/cpu/torch_stable.html if [ "$(pystan.version)" = "latest" ]; then python -m pip --no-cache-dir install pystan @@ -73,12 +64,6 @@ jobs: python -m pip --no-cache-dir install cmdstanpy=="$(cmdstanpy.version)" fi - if [ "$(pyro.version)" = "latest" ]; then - python -m pip --no-cache-dir install pyro-ppl - else - python -m pip --no-cache-dir install pyro-ppl=="$(pyro.version)" - fi - if [ "$(emcee.version)" = "latest" ]; then python -m pip --no-cache-dir install emcee h5py else @@ -92,7 +77,8 @@ jobs: python -m pip --no-cache-dir install pymc3 fi - grep -Ev '^pystan|^cmdstanpy|^pyro|^emcee|^pymc3' requirements-external.txt | xargs python -m pip install + grep -Ev '^pystan|^cmdstanpy|^emcee|^pymc3' requirements-external.txt | xargs python -m pip install + displayName: 'Install packages' - script: | diff --git a/.azure-pipelines/azure-pipelines-wheel.yml b/.azure-pipelines/azure-pipelines-wheel.yml index e6ad05b357..2783e19816 100644 --- a/.azure-pipelines/azure-pipelines-wheel.yml +++ b/.azure-pipelines/azure-pipelines-wheel.yml @@ -12,9 +12,9 @@ jobs: timeoutInMinutes: 360 strategy: matrix: - Python_38: - python.version: 3.8 - name: "Python 3.8 - wheel" + Python_39: + python.version: "3.9" + name: "Python 3.9 - wheel" steps: diff --git a/CHANGELOG.md b/CHANGELOG.md index 808aa92733..1bb4c5c7d7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,7 @@ ### New features ### Maintenance and fixes +* Drop Python 3.6 support ([1430](https://github.com/arviz-devs/arviz/pull/1430)) * Bokeh 3 compatibility. ([1919](https://github.com/arviz-devs/arviz/pull/1919)) ### Deprecation diff --git a/README.md b/README.md index 87d8d49b26..c477e5a8b5 100644 --- a/README.md +++ b/README.md @@ -156,7 +156,7 @@ python setup.py install ## Dependencies -ArviZ is tested on Python 3.6, 3.7 and 3.8, and depends on NumPy, SciPy, xarray, and Matplotlib. +ArviZ is tested on Python 3.7, 3.8 and 3.9, and depends on NumPy, SciPy, xarray, and Matplotlib. ## Citation diff --git a/arviz/data/inference_data.py b/arviz/data/inference_data.py index ed1dd3f301..81069ff807 100644 --- a/arviz/data/inference_data.py +++ b/arviz/data/inference_data.py @@ -243,9 +243,9 @@ def groups(self) -> List[str]: class InferenceDataValuesView(ValuesView[xr.Dataset]): """ValuesView implementation for InferenceData, to allow it to implement Mapping.""" - def __init__( + def __init__( # pylint: disable=super-init-not-called self, parent: "InferenceData" - ) -> None: # pylint: disable=super-init-not-called + ) -> None: """Create a new InferenceDataValuesView from an InferenceData object.""" self.parent = parent @@ -277,9 +277,9 @@ def values(self) -> "InferenceData.InferenceDataValuesView": class InferenceDataItemsView(ItemsView[str, xr.Dataset]): """ItemsView implementation for InferenceData, to allow it to implement Mapping.""" - def __init__( + def __init__( # pylint: disable=super-init-not-called self, parent: "InferenceData" - ) -> None: # pylint: disable=super-init-not-called + ) -> None: """Create a new InferenceDataItemsView from an InferenceData object.""" self.parent = parent diff --git a/scripts/create_testenv.sh b/scripts/create_testenv.sh index a568a98567..1206aba982 100755 --- a/scripts/create_testenv.sh +++ b/scripts/create_testenv.sh @@ -7,8 +7,8 @@ command -v conda >/dev/null 2>&1 || { exit 1; } -# if no python specified, use Travis version, or else 3.8 -PYTHON_VERSION=${PYTHON_VERSION:-${TRAVIS_PYTHON_VERSION:-3.8}} +# if no python specified, use 3.9 +PYTHON_VERSION=${PYTHON_VERSION:-3.9} PYSTAN_VERSION=${PYSTAN_VERSION:-latest} PYTORCH_VERSION=${PYTORCH_VERSION:-latest} PYRO_VERSION=${PYRO_VERSION:-latest} diff --git a/setup.py b/setup.py index dd632f7c84..416253e8c0 100644 --- a/setup.py +++ b/setup.py @@ -66,9 +66,9 @@ def get_version(): "License :: OSI Approved :: Apache Software License", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", "Topic :: Scientific/Engineering", "Topic :: Scientific/Engineering :: Visualization", "Topic :: Scientific/Engineering :: Mathematics",