From 15423eab21eed8345a9c625b921499c8df995c8c Mon Sep 17 00:00:00 2001 From: Tobias Gruetzmacher Date: Sun, 18 Feb 2024 17:26:54 +0100 Subject: [PATCH] Drop support for Python 3.7 --- .github/workflows/ci.yaml | 2 +- Jenkinsfile | 1 - README.md | 2 +- dosagelib/__init__.py | 13 +++++-------- dosagelib/plugins/t.py | 5 +---- pyproject.toml | 7 ++----- tox.ini | 3 +-- 7 files changed, 11 insertions(+), 22 deletions(-) diff --git a/.github/workflows/ci.yaml b/.github/workflows/ci.yaml index 33990ed9e..15a247d60 100644 --- a/.github/workflows/ci.yaml +++ b/.github/workflows/ci.yaml @@ -13,7 +13,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ["3.7", "3.8", "3.9", "3.10", "3.11", "3.12"] + python-version: ["3.8", "3.9", "3.10", "3.11", "3.12"] steps: - uses: actions/checkout@v4 diff --git a/Jenkinsfile b/Jenkinsfile index db7d2c10c..880f9fa62 100644 --- a/Jenkinsfile +++ b/Jenkinsfile @@ -4,7 +4,6 @@ def pys = [ [name: 'Python 3.10', docker: '3.10-bookworm', tox:'py310', main: false], [name: 'Python 3.9', docker: '3.9-bookworm', tox:'py39', main: false], [name: 'Python 3.8', docker: '3.8-bookworm', tox:'py38', main: false], - [name: 'Python 3.7', docker: '3.7-bookworm', tox:'py37', main: false], ] properties([ diff --git a/README.md b/README.md index 4604ffc6a..fb46a453a 100644 --- a/README.md +++ b/README.md @@ -72,7 +72,7 @@ are old enough to view them. ### Dependencies Since dosage is written in [Python](http://www.python.org/), a Python -installation is required: Dosage needs at least Python 3.7. Dosage requires +installation is required: Dosage needs at least Python 3.8. Dosage requires some Python modules from PyPI, so installation with `pip` is recommended. ### Using the Windows binary diff --git a/dosagelib/__init__.py b/dosagelib/__init__.py index 4f80013df..39ba36033 100644 --- a/dosagelib/__init__.py +++ b/dosagelib/__init__.py @@ -1,7 +1,7 @@ # SPDX-License-Identifier: MIT -# Copyright (C) 2004-2008 Tristan Seligmann and Jonathan Jacobs -# Copyright (C) 2012-2014 Bastian Kleineidam -# Copyright (C) 2015-2019 Tobias Gruetzmacher +# SPDX-FileCopyrightText: © 2004 Tristan Seligmann and Jonathan Jacobs +# SPDX-FileCopyrightText: © 2012 Bastian Kleineidam +# SPDX-FileCopyrightText: © 2015 Tobias Gruetzmacher """ Automated comic downloader. Dosage traverses comic websites in order to download each strip of the comic. The intended use is for @@ -14,14 +14,11 @@ The primary interface is the 'dosage' commandline script. Comic modules for each comic are located in L{dosagelib.plugins}. """ -try: - from importlib.metadata import version, PackageNotFoundError -except ImportError: - from importlib_metadata import version, PackageNotFoundError +from importlib.metadata import version, PackageNotFoundError from .output import out -AppName = u'dosage' +AppName = 'dosage' try: __version__ = version(AppName) # PEP 396 except PackageNotFoundError: diff --git a/dosagelib/plugins/t.py b/dosagelib/plugins/t.py index ebe864694..ee6801a21 100644 --- a/dosagelib/plugins/t.py +++ b/dosagelib/plugins/t.py @@ -4,10 +4,7 @@ # SPDX-FileCopyrightText: © 2015 Tobias Gruetzmacher # SPDX-FileCopyrightText: © 2019 Daniel Ring from re import compile, escape, MULTILINE -try: - from functools import cached_property -except ImportError: - from cached_property import cached_property +from functools import cached_property from ..scraper import _BasicScraper, _ParserScraper, ParserScraper from ..helpers import indirectStarter, joinPathPartsNamer diff --git a/pyproject.toml b/pyproject.toml index c5217a4c0..10c294f4a 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,6 @@ classifiers = [ "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3 :: Only", - "Programming Language :: Python :: 3.7", "Programming Language :: Python :: 3.8", "Programming Language :: Python :: 3.9", "Programming Language :: Python :: 3.10", @@ -27,15 +26,13 @@ classifiers = [ "Topic :: Multimedia :: Graphics", ] keywords = ["comic", "webcomic", "downloader", "archiver", "crawler"] -requires-python = ">=3.7" +requires-python = ">=3.8" dependencies = [ "colorama", "imagesize", "lxml>=4.0.0", "platformdirs", "requests>=2.0", - "cached_property;python_version<'3.8'", - "importlib_metadata;python_version<'3.8'", "importlib_resources>=5.0.0;python_version<'3.9'", ] dynamic = ["version"] @@ -101,7 +98,7 @@ ignore = [ ] noqa-require-code = true no-accept-encodings = true -min-version = "3.7" +min-version = "3.8" extend-exclude = [ '.venv', 'build', diff --git a/tox.ini b/tox.ini index 27eed7f37..02b4ffe3f 100644 --- a/tox.ini +++ b/tox.ini @@ -1,10 +1,9 @@ [tox] -envlist = py37, py38, py39, py310, py311, py312, flake8 +envlist = py38, py39, py310, py311, py312, flake8 isolated_build = True [gh-actions] python = - 3.7: py37 3.8: py38 3.9: py39 3.10: py310