diff --git a/.circleci/config.yml b/.circleci/config.yml index f681d57d..f91d719a 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -6,7 +6,7 @@ orbs: jobs: build: docker: - - image: cimg/python:3.9 + - image: cimg/python:3.10 steps: - checkout @@ -25,7 +25,7 @@ jobs: - run: name: Install test dependencies command: | - pyenv global 3.9 + pyenv global 3.10 pip install uv uv pip install --system -r pyproject.toml --extra test pyenv rehash diff --git a/.github/workflows/docker/shared.env b/.github/workflows/docker/shared.env index c10e471e..2929d0f4 100644 --- a/.github/workflows/docker/shared.env +++ b/.github/workflows/docker/shared.env @@ -1,6 +1,6 @@ PYTHON_VERSIONS=( + cp313-cp313 cp312-cp312 cp311-cp311 cp310-cp310 - cp39-cp39 ) diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 810030bd..3958c7c3 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -17,7 +17,7 @@ jobs: strategy: fail-fast: false matrix: - python: [ 3.9, "3.12" ] + python: [ "3.10", 3.13 ] os: [ macos-latest, ubuntu-24.04, windows-latest ] defaults: run: @@ -46,7 +46,6 @@ jobs: - name: Install cyvcf2 #Fails if done via conda due to no windows support. if: matrix.os != 'windows-latest' run: | - #Install these by pip so we don't pull in cbgen with conda as it isn't available on 3.12 uv pip install sgkit==0.9.0 cyvcf2==0.31.1 yarl==1.9.4 aiohttp==3.9.5 requests==2.32.3 - name: Install sgkit only on windows diff --git a/.github/workflows/wheels.yml b/.github/workflows/wheels.yml index 721b2ca2..364d3811 100644 --- a/.github/workflows/wheels.yml +++ b/.github/workflows/wheels.yml @@ -15,7 +15,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python: [3.9, "3.10", 3.11, 3.12] + python: ["3.10", 3.11, 3.12, 3.13] steps: - name: Checkout uses: actions/checkout@v4.2.2 @@ -44,7 +44,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python: [3.9, "3.10", 3.11, 3.12] + python: ["3.10", 3.11, 3.12, 3.13] wordsize: [64] steps: - name: Checkout @@ -79,10 +79,10 @@ jobs: with: submodules: true - - name: Set up Python 3.9 + - name: Set up Python 3.10 uses: actions/setup-python@v5.4.0 with: - python-version: 3.9 + python-version: "3.10" - name: Build sdist shell: bash @@ -112,7 +112,7 @@ jobs: runs-on: macos-latest strategy: matrix: - python: [3.9, "3.10", 3.11, 3.12] + python: ["3.10", 3.11, 3.12, 3.13] steps: - name: Download wheels uses: actions/download-artifact@v4.2.0 @@ -135,7 +135,7 @@ jobs: runs-on: windows-latest strategy: matrix: - python: [3.9, "3.10", 3.11, 3.12] + python: ["3.10", 3.11, 3.12, 3.13] wordsize: [64] steps: - name: Download wheels @@ -161,7 +161,7 @@ jobs: needs: ['manylinux'] strategy: matrix: - python: [3.9, "3.10", 3.11, 3.12] + python: ["3.10", 3.11, 3.12, 3.13] steps: - name: Download wheels uses: actions/download-artifact@v4.2.0 diff --git a/CHANGELOG.md b/CHANGELOG.md index 9a3d3628..bb5903f9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,11 @@ # Changelog +## [0.4.2] - 2025-XX-XX + +** Changes ** + +- Drop Python 3.9 support, require Python >= 3.10 ({pr}`1044`, {user}`benjeffery`) + ## [0.4.1] - 2024-04-19 ** Changes ** diff --git a/pyproject.toml b/pyproject.toml index f0d85b5f..e3def2db 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,16 +18,16 @@ authors = [ ] description = "Infer tree sequences from genetic variation data." readme = "README.md" -requires-python = ">=3.9" +requires-python = ">=3.10" license = {text = "GNU GPLv3+"} classifiers = [ "Programming Language :: C", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: 3.13", "Programming Language :: Python :: 3 :: Only", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Development Status :: 3 - Alpha",