From 063114c3d059db26e5a7083b2a0b72b6a764f325 Mon Sep 17 00:00:00 2001 From: Ben Jeffery Date: Tue, 9 Mar 2021 13:22:08 +0000 Subject: [PATCH] Require Python 3.6 --- .circleci/config.yml | 5 +++-- .github/workflows/docker/shared.env | 1 - .github/workflows/tests.yml | 2 +- .github/workflows/wheels.yml | 11 ++++++----- .mergify.yml | 6 +++--- .pre-commit-config.yaml | 2 +- docs/development.rst | 4 ++-- docs/installation.rst | 2 +- python/CHANGELOG.rst | 4 ++++ python/setup.py | 3 +-- 10 files changed, 22 insertions(+), 18 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 3d291d9a61..dae5c0ff42 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -2,7 +2,7 @@ version: 2.1 jobs: build: docker: - - image: circleci/python:3.6-buster + - image: circleci/python:3.7-buster working_directory: /home/circleci/tskit steps: - checkout @@ -11,7 +11,7 @@ jobs: # It's sometimes necessary to nuke the cache, and the simplest # way to do it is to change the key. We can increment this # version number when we want to do this. - key: tskit-{{ .Branch }}-v1 + key: tskit-{{ .Branch }}-v4 - run: name: Checkout submodules command: | @@ -23,6 +23,7 @@ jobs: libgsl-dev # Install meson to the system packages so we can run it as root sudo pip install meson==0.55 + pip install numpy==1.19.5 pip install --user -r python/requirements/CI-complete/requirements.txt pip install twine --user # Remove tskit installed by msprime diff --git a/.github/workflows/docker/shared.env b/.github/workflows/docker/shared.env index 68d954862c..b4e9c78b49 100644 --- a/.github/workflows/docker/shared.env +++ b/.github/workflows/docker/shared.env @@ -2,5 +2,4 @@ PYTHON_VERSIONS=( cp39-cp39 cp38-cp38 cp37-cp37m - cp36-cp36m ) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 65b6dfb613..ea4a6e429e 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -29,7 +29,7 @@ jobs: runs-on: ${{ matrix.os }} strategy: matrix: - python: [ 3.6, 3.9 ] + python: [ 3.7, 3.9 ] os: [ macos-latest, ubuntu-latest, windows-latest ] defaults: run: diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 5621b64798..9cc3668b4a 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -9,13 +9,14 @@ on: - '*' release: types: [published] + pull_request: jobs: OSX: runs-on: macos-latest strategy: matrix: - python: [3.6, 3.7, 3.8, 3.9] + python: [3.7, 3.8, 3.9] steps: - name: Checkout uses: actions/checkout@v2 @@ -57,7 +58,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python: [3.6, 3.7, 3.8, 3.9] + python: [3.7, 3.8, 3.9] wordsize: [64] steps: - name: Checkout @@ -146,7 +147,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python: [3.6, 3.7, 3.8, 3.9] + python: [3.7, 3.8, 3.9] steps: - name: Download wheels uses: actions/download-artifact@v2 @@ -168,7 +169,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python: [3.6, 3.7, 3.8, 3.9] + python: [3.7, 3.8, 3.9] wordsize: [64] steps: - name: Download wheels @@ -191,7 +192,7 @@ jobs: needs: ['manylinux'] strategy: matrix: - python: [3.6, 3.7, 3.8, 3.9] + python: [3.7, 3.8, 3.9] steps: - name: Download wheels uses: actions/download-artifact@v2 diff --git a/.mergify.yml b/.mergify.yml index cae986613b..a1fdb0a5db 100644 --- a/.mergify.yml +++ b/.mergify.yml @@ -7,11 +7,11 @@ pull_request_rules: - label=AUTOMERGE-REQUESTED - status-success=Docs - status-success=Lint - - status-success=Python (3.6, macos-latest) + - status-success=Python (3.7, macos-latest) - status-success=Python (3.9, macos-latest) - - status-success=Python (3.6, ubuntu-latest) + - status-success=Python (3.7, ubuntu-latest) - status-success=Python (3.9, ubuntu-latest) - - status-success=Python (3.6, windows-latest) + - status-success=Python (3.7, windows-latest) - status-success=Python (3.9, windows-latest) - "status-success=ci/circleci: build" #- status-success=codecov/patch diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index f209af303a..06f9bf73a4 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -23,7 +23,7 @@ repos: rev: v2.7.4 hooks: - id: pyupgrade - args: [--py3-plus, --py36-plus] + args: [--py3-plus, --py37-plus] - repo: https://github.com/psf/black rev: 20.8b1 hooks: diff --git a/docs/development.rst b/docs/development.rst index 17c5cab708..96c9a1527b 100644 --- a/docs/development.rst +++ b/docs/development.rst @@ -60,7 +60,7 @@ Requirements ------------ To develop the Python code you will need a working C compiler and a -development installation of Python (>= 3.6). On Debian/Ubuntu we can install these +development installation of Python (>= 3.7). On Debian/Ubuntu we can install these with:: $ sudo apt install python3-dev build-essential doxygen @@ -416,7 +416,7 @@ This is most easily done using ``make``: If this has completed successfully you should see a file ``_tskit.cpython-XXXXXX.so`` in the current directory (the suffix depends on your platform and Python version; -with Python 3.6 on Linux it's ``_tskit.cpython-36m-x86_64-linux-gnu.so``). +with Python 3.7 on Linux it's ``_tskit.cpython-37m-x86_64-linux-gnu.so``). To make sure that your development environment is working, run some :ref:`tests `. diff --git a/docs/installation.rst b/docs/installation.rst index 6508e1588c..e0e550fce5 100644 --- a/docs/installation.rst +++ b/docs/installation.rst @@ -18,7 +18,7 @@ so it may already be installed if you use such software. Requirements ************ -Tskit requires Python 3.6+. There are no external C library dependencies. Python +Tskit requires Python 3.7+. There are no external C library dependencies. Python dependencies are installed automatically by ``pip`` or ``conda``. .. _sec_installation_conda: diff --git a/python/CHANGELOG.rst b/python/CHANGELOG.rst index 45e7267dc2..93ec6b45fa 100644 --- a/python/CHANGELOG.rst +++ b/python/CHANGELOG.rst @@ -32,6 +32,10 @@ population indexing and lossless node reordering with subset. (:user:`petrelharp`, :pr:`1097`) +**Breaking changes** + +- tskit now requires Python 3.6 (:user:`benjeffery`, :pr:`xxxx`) + -------------------- [0.3.4] - 2020-12-02 -------------------- diff --git a/python/setup.py b/python/setup.py index 32fc139153..b4247bd8d8 100644 --- a/python/setup.py +++ b/python/setup.py @@ -77,14 +77,13 @@ def finalize_options(self): author="tskit developers", version=tskit_version, author_email="admin@tskit.dev", - python_requires=">=3.6", + python_requires=">=3.7", classifiers=[ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "Topic :: Scientific/Engineering :: Bio-Informatics", "License :: OSI Approved :: MIT License", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.6", "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9",