From 5ca07c311c78c53df4eb1e0e657c6f8f9f75229d Mon Sep 17 00:00:00 2001 From: Itamar Turner-Trauring Date: Wed, 8 Mar 2023 16:36:18 -0500 Subject: [PATCH] Set up 3.11 in metadata and GitHub Actions. --- .github/workflows/ci.yml | 5 +++-- newsfragments/3982.feature | 1 + setup.py | 6 ++++-- 3 files changed, 8 insertions(+), 4 deletions(-) create mode 100644 newsfragments/3982.feature diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 4d67f09bd..e006d90ac 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -51,12 +51,13 @@ jobs: - "3.8" - "3.9" - "3.10" + - "3.11" include: # On macOS don't bother with 3.8, just to get faster builds. - os: macos-latest python-version: "3.9" - os: macos-latest - python-version: "3.10" + python-version: "3.11" # We only support PyPy on Linux at the moment. - os: ubuntu-latest python-version: "pypy-3.8" @@ -174,7 +175,7 @@ jobs: # 22.04 has some issue with Tor at the moment: # https://tahoe-lafs.org/trac/tahoe-lafs/ticket/3943 - os: ubuntu-20.04 - python-version: "3.9" + python-version: "3.11" force-foolscap: false steps: diff --git a/newsfragments/3982.feature b/newsfragments/3982.feature new file mode 100644 index 000000000..0d48fa476 --- /dev/null +++ b/newsfragments/3982.feature @@ -0,0 +1 @@ +Added support for Python 3.11. \ No newline at end of file diff --git a/setup.py b/setup.py index 98177bd41..c3928cf81 100644 --- a/setup.py +++ b/setup.py @@ -55,7 +55,9 @@ install_requires = [ # * foolscap >= 0.12.6 has an i2p.sam_endpoint() that takes kwargs # * foolscap 0.13.2 drops i2p support completely # * foolscap >= 21.7 is necessary for Python 3 with i2p support. + # * foolscap >= 23.3 is necessary for Python 3.11. "foolscap >= 21.7.0", + "foolscap >= 23.3.0; python_version > '3.10'", # * cryptography 2.6 introduced some ed25519 APIs we rely on. Note that # Twisted[conch] also depends on cryptography and Twisted[tls] @@ -380,8 +382,8 @@ setup(name="tahoe-lafs", # also set in __init__.py package_dir = {'':'src'}, packages=find_packages('src') + ['allmydata.test.plugins'], classifiers=trove_classifiers, - # We support Python 3.8 or later. 3.11 is not supported yet. - python_requires=">=3.8, <3.11", + # We support Python 3.8 or later + python_requires=">=3.8", install_requires=install_requires, extras_require={ # Duplicate the Twisted pywin32 dependency here. See