From c85cefb466f3dab768f638a95f826668e6047152 Mon Sep 17 00:00:00 2001 From: Theodor Isacsson Date: Mon, 7 Oct 2024 15:42:36 -0700 Subject: [PATCH] Support Python 3.9-3.13 --- .circleci/config.yml | 26 ++++++++++--------- pyproject.toml | 4 +-- .../python-3.9-3.13-c79f4b7c8eba4d47.yaml | 5 ++++ requirements.txt | 13 +++++----- 4 files changed, 28 insertions(+), 20 deletions(-) create mode 100644 releasenotes/notes/python-3.9-3.13-c79f4b7c8eba4d47.yaml diff --git a/.circleci/config.yml b/.circleci/config.yml index f644d54d..7389df2f 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -9,7 +9,7 @@ commands: parameters: cibw-version: type: string - default: 2.15.0 + default: 2.21.2 steps: - run: name: run cibuildwheel @@ -39,7 +39,7 @@ jobs: type: string docker: - - image: cimg/python:3.9 + - image: cimg/python:3.12 environment: <<: *global-environment @@ -62,7 +62,7 @@ jobs: type: string machine: - image: ubuntu-2004:202101-01 + image: default resource_class: arm.medium @@ -118,7 +118,7 @@ jobs: deploy-all: docker: - - image: cimg/python:3.9 + - image: cimg/python:3.12 steps: - attach_workspace: @@ -137,7 +137,7 @@ jobs: build-sdist: docker: - - image: cimg/python:3.9 + - image: cimg/python:3.12 steps: - checkout @@ -155,7 +155,7 @@ jobs: test-sdist: docker: - - image: cimg/python:3.9 + - image: cimg/python:3.12 steps: - checkout @@ -210,7 +210,7 @@ workflows: - build-and-test-linux: &build matrix: parameters: - python-version: &python-versions [3.8.9, 3.9.4, 3.10.0, 3.11.0, 3.12.0] + python-version: &python-versions [3.9.4, 3.10.0, 3.11.0, 3.12.0, 3.13.0rc3] - build-and-test-linux-aarch64: matrix: parameters: @@ -224,22 +224,24 @@ workflows: - build-and-test-windows: *build - test-sdist: requires: - - build-sdist + - build-sdist - test-dependencies: requires: - build-and-test-linux matrix: parameters: python-version: *python-versions - dependency-versions: ["dwave-networkx==0.8.10 fasteners==0.15 homebase==1.0.1 networkx==2.4 oldest-supported-numpy rectangle-packer==2.0.1 scipy==1.7.3", # oldest supported - "dwave-networkx fasteners homebase networkx numpy rectangle-packer scipy", # latest + dependency-versions: ["dwave-networkx==0.8.10 fasteners==0.15 homebase==1.0.1 networkx==2.4 oldest-supported-numpy scipy==1.7.3", # oldest supported + "dwave-networkx fasteners homebase networkx numpy scipy", # latest ] exclude: # SciPy 1.7.3 doesn't support Python 3.11 - python-version: 3.11.0 - dependency-versions: "dwave-networkx==0.8.10 fasteners==0.15 homebase==1.0.1 networkx==2.4 oldest-supported-numpy rectangle-packer==2.0.1 scipy==1.7.3" + dependency-versions: "dwave-networkx==0.8.10 fasteners==0.15 homebase==1.0.1 networkx==2.4 oldest-supported-numpy scipy==1.7.3" - python-version: 3.12.0 - dependency-versions: "dwave-networkx==0.8.10 fasteners==0.15 homebase==1.0.1 networkx==2.4 oldest-supported-numpy rectangle-packer==2.0.1 scipy==1.7.3" + dependency-versions: "dwave-networkx==0.8.10 fasteners==0.15 homebase==1.0.1 networkx==2.4 oldest-supported-numpy scipy==1.7.3" + - python-version: 3.13.0rc3 + dependency-versions: "dwave-networkx==0.8.10 fasteners==0.15 homebase==1.0.1 networkx==2.4 oldest-supported-numpy scipy==1.7.3" deploy: jobs: diff --git a/pyproject.toml b/pyproject.toml index 62e5e556..b90349fb 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,11 +17,11 @@ classifiers = [ "Operating System :: MacOS", "Programming Language :: Python", "Programming Language :: Python :: 3", - "Programming Language :: Python :: 3.8", "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", ] dependencies = [ @@ -39,7 +39,7 @@ maintainers = [ {name = "D-Wave Inc.", email = "tools@dwavesys.com"}, ] name = "minorminer" -requires-python = ">= 3.8" +requires-python = ">= 3.9" [project.readme] file = "README.rst" diff --git a/releasenotes/notes/python-3.9-3.13-c79f4b7c8eba4d47.yaml b/releasenotes/notes/python-3.9-3.13-c79f4b7c8eba4d47.yaml new file mode 100644 index 00000000..07182919 --- /dev/null +++ b/releasenotes/notes/python-3.9-3.13-c79f4b7c8eba4d47.yaml @@ -0,0 +1,5 @@ +--- +features: + - Add support for Python 3.13. +upgrade: + - Drop support for Python 3.8. diff --git a/requirements.txt b/requirements.txt index c2ae93ce..0cda99da 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,7 +1,8 @@ -numpy==1.22.3 -scipy==1.8.0 -networkx==2.4 -dwave-networkx>=0.8.11 -fasteners==0.15 +# working environment for Python>=3.8, <=3.12 +numpy==2.0.2 +scipy==1.13.1 +networkx==3.2.1 +dwave-networkx==0.8.15 +fasteners==0.19 homebase==1.0.1 -Cython==3.0.6 +Cython==3.0.11