diff --git a/.github/workflows/checks.yml b/.github/workflows/checks.yml index 85f63940f..2202659c5 100644 --- a/.github/workflows/checks.yml +++ b/.github/workflows/checks.yml @@ -35,7 +35,7 @@ jobs: strategy: matrix: - python-version: ['3.7', '3.8', '3.9', '3.10'] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] steps: - name: Checkout repository @@ -86,7 +86,7 @@ jobs: - name: Install dependencies run: | sudo apt-get update - sudo apt-get install -qy groff html2text python3-cffi python3-brotli libpango-1.0-0 libharfbuzz0b libpangoft2-1.0-0 libxml2-dev libxml2-utils + sudo apt-get install -qy groff html2text python3-cffi python3-brotli libpango-1.0-0 libharfbuzz0b libpangoft2-1.0-0 libxml2-dev libxml2-utils libxslt-dev echo "Installing pip + wheel..." python -m pip install --upgrade pip wheel echo "Installing requirements.txt + test dependencies..." @@ -109,7 +109,7 @@ jobs: strategy: matrix: - python-version: ['3.7', '3.8', '3.9', '3.10'] + python-version: ['3.7', '3.8', '3.9', '3.10', '3.11'] steps: - name: Checkout repository diff --git a/docker/dev.Dockerfile b/docker/dev.Dockerfile index da6a16009..c664994b9 100644 --- a/docker/dev.Dockerfile +++ b/docker/dev.Dockerfile @@ -6,6 +6,7 @@ ENV DEBIAN_FRONTEND noninteractive WORKDIR /root # Install dependencies +# libxml2-dev and libxslt-dev are requirements for lxml under Python 3.11 RUN apt-get update --fix-missing && \ apt-get install -y software-properties-common && \ add-apt-repository ppa:deadsnakes/ppa && \ @@ -21,7 +22,12 @@ RUN apt-get update --fix-missing && \ python3.8-distutils \ python3.9 \ python3.9-dev \ - python3.9-distutils && \ + python3.9-distutils \ + libxml2-dev \ + libxslt-dev \ + python3.11 \ + python3.11-dev \ + python3.11-distutils && \ rm -rf /var/lib/apt/lists/* /var/log/dpkg.log && \ apt-get autoremove -y && \ apt-get clean -y diff --git a/setup.py b/setup.py index 2c8986d4f..205048ad5 100644 --- a/setup.py +++ b/setup.py @@ -58,6 +58,7 @@ 'Programming Language :: Python :: 3.8', 'Programming Language :: Python :: 3.9', 'Programming Language :: Python :: 3.10', + 'Programming Language :: Python :: 3.11', ], license="BSD-3-Clause", diff --git a/tox.ini b/tox.ini index 09032ad2a..7193b2b69 100644 --- a/tox.ini +++ b/tox.ini @@ -4,7 +4,7 @@ # and then run "tox" from this directory. [tox] -envlist = py{37,38,39,310}-{linux,macos,windows} +envlist = py{37,38,39,310,311}-{linux,macos,windows} [gh-actions] python = @@ -12,6 +12,7 @@ python = 3.8: py38 3.9: py39 3.10: py310 + 3.11: py311 [gh-actions:env] PLATFORM =