From fc8620c4d4a749ea9be8d0340aa485c92edb7385 Mon Sep 17 00:00:00 2001 From: Michał Górny Date: Sat, 21 Jan 2023 20:32:10 +0100 Subject: Require Python 3.9+ MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Michał Górny --- .github/workflows/ci.yaml | 2 +- README.rst | 2 +- gemato/compression.py | 18 ++++++------------ pyproject.toml | 2 +- tox.ini | 2 +- 5 files changed, 10 insertions(+), 16 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index f9bf49f..cd98a10 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -4,7 +4,7 @@ jobs: build: strategy: matrix: - python-version: ["3.8", "3.9", "3.10", "3.11.0-alpha - 3.11", "pypy-3.8", "pypy-3.9"] + python-version: ["3.9", "3.10", "3.11", "pypy-3.9"] variant: ["", "-norequests-noresponses", "-noresponses"] gpg: ["no-gpg", "vanilla-gpg"] fail-fast: false diff --git a/README.rst b/README.rst index 835622f..248fd05 100644 --- a/README.rst +++ b/README.rst @@ -73,7 +73,7 @@ behavior. Those are: Requirements ============ gemato is written in Python and compatible with implementations -of Python 3.8+. gemato is currently tested against CPython 3.8 +of Python 3.9+. gemato is currently tested against CPython 3.9 through 3.11 and PyPy3. gemato core depends only on standard Python library modules. diff --git a/gemato/compression.py b/gemato/compression.py index fbb2da9..88fa80b 100644 --- a/gemato/compression.py +++ b/gemato/compression.py @@ -1,5 +1,5 @@ # gemato: compressed file support -# (c) 2017-2022 Michał Górny +# (c) 2017-2023 Michał Górny # Licensed under the terms of 2-clause BSD license import bz2 @@ -7,21 +7,15 @@ import gzip import io import lzma import os.path -import sys from gemato.exceptions import UnsupportedCompression -# NB: bz2 (and gzip in py<3.8) uses generic OSError -if sys.hexversion >= 0x03080000: - InvalidCompressedFileExceptions = ( - gzip.BadGzipFile, - lzma.LZMAError, - ) -else: - InvalidCompressedFileExceptions = ( - lzma.LZMAError, - ) +# NB: bz2 uses generic OSError +InvalidCompressedFileExceptions = ( + gzip.BadGzipFile, + lzma.LZMAError, +) def open_compressed_file(suffix, f, mode='rb'): diff --git a/pyproject.toml b/pyproject.toml index cf6d282..465193e 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ classifiers = [ "Programming Language :: Python :: 3 :: Only", "Topic :: Security :: Cryptography", ] -requires-python = ">=3.8" +requires-python = ">=3.9" [project.optional-dependencies] pretty-log = ["rich"] diff --git a/tox.ini b/tox.ini index d9171ba..c7fafd6 100644 --- a/tox.ini +++ b/tox.ini @@ -1,5 +1,5 @@ [tox] -envlist = qa,py38,py39,py310,pypy3,py3-nogpg,py3-norequests-noresponses,py3-noresponses +envlist = qa,py{39,310,311},pypy3,py3-nogpg,py3-norequests-noresponses,py3-noresponses skip_missing_interpreters = True # we operate on sources anyway skipsdist = True -- cgit v1.2.3