From 45f4edd68b028a363a2e890842a4099c1dfc35c6 Mon Sep 17 00:00:00 2001 From: Kevin Phoenix Date: Fri, 1 May 2026 12:39:40 -0700 Subject: [PATCH] Upgrade to Python 3.12 (#538) * Update CI for 3.12 * Update docs for 3.12 * Update pyproject.toml for 3.12 --- .github/workflows/ci.yml | 2 +- .readthedocs.yml | 29 +++++++++++------------------ pyproject.toml | 22 ++++++++-------------- 3 files changed, 20 insertions(+), 33 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 9adbdde..a5c7b25 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -29,7 +29,7 @@ jobs: - name: Setup uv uses: astral-sh/setup-uv@445689ea25e0de0a23313031f5fe577c74ae45a1 # v6 - name: Sync dependencies - run: uv sync -p 3.10 + run: uv sync -p 3.12 - name: Run tests run: uv run pytest tests diff --git a/.readthedocs.yml b/.readthedocs.yml index 8cb0229..001b113 100644 --- a/.readthedocs.yml +++ b/.readthedocs.yml @@ -2,25 +2,18 @@ # See https://docs.readthedocs.io/en/stable/config-file/v2.html for details version: 2 - -sphinx: - configuration: docs/conf.py - submodules: include: all - -build: - os: ubuntu-22.04 - tools: - python: "3.10" - jobs: - pre_install: - - pip install -U pip - - pip install git+https://github.com/angr/archinfo.git - +sphinx: + configuration: docs/conf.py +formats: [pdf] python: install: - - method: pip - path: . - extra_requirements: - - docs + - method: uv + command: sync + extras: all + groups: [docs] +build: + os: ubuntu-24.04 + tools: + python: "3.12" diff --git a/pyproject.toml b/pyproject.toml index ec2cfca..da123a4 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -15,12 +15,11 @@ license-files = [ classifiers = [ "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.10", - "Programming Language :: Python :: 3.11", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", + "Programming Language :: Python :: 3.14", ] -requires-python = ">=3.10" +requires-python = ">=3.12" dependencies = [ "bitstring", "cffi>=1.0.3;implementation_name == 'cpython'", @@ -36,24 +35,20 @@ Homepage = "https://api.angr.io/projects/pyvex/en/latest/" Repository = "https://github.com/angr/pyvex" [project.optional-dependencies] -docs = [ - "furo", - "myst-parser", - "sphinx", - "sphinx-autodoc-typehints", -] fuzzing = [ "atheris>=2.3.0", ] -testing = [ - "pytest", - "pytest-xdist", -] [dependency-groups] dev = [ "pytest>=8.4.1", ] +docs = [ + "furo", + "myst-parser", + "sphinx", + "sphinx-autodoc-typehints", +] [tool.scikit-build] build-dir = "scikit_build" @@ -73,7 +68,6 @@ input = "pyvex/__init__.py" [tool.black] line-length = 120 -target-version = ['py310'] force-exclude = ''' /( vex