From 0f59831dc21b51bcf5b4468bc822a84af3968dd5 Mon Sep 17 00:00:00 2001 From: Hugo van Kemenade Date: Sat, 3 Jun 2023 17:41:35 +0300 Subject: [PATCH] Drop support for EOL Python 3.7 --- .github/workflows/test.yml | 3 ++- .pre-commit-config.yaml | 10 +++++----- README.md | 2 +- pyproject.toml | 32 +++++++++++++++----------------- src/pylast/__init__.py | 10 ++-------- tox.ini | 2 +- 6 files changed, 26 insertions(+), 33 deletions(-) diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index e3f067c..3fda04c 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -11,7 +11,7 @@ jobs: strategy: fail-fast: false matrix: - python-version: ["pypy3.9", "3.7", "3.8", "3.9", "3.10", "3.11", "3.12-dev"] + python-version: ["pypy3.9", "3.8", "3.9", "3.10", "3.11", "3.12"] os: [ubuntu-latest] steps: @@ -21,6 +21,7 @@ jobs: uses: actions/setup-python@v4 with: python-version: ${{ matrix.python-version }} + allow-prereleases: true cache: pip cache-dependency-path: pyproject.toml diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 5529b8d..0de09d9 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,9 +1,9 @@ repos: - repo: https://github.com/asottile/pyupgrade - rev: v3.3.1 + rev: v3.4.0 hooks: - id: pyupgrade - args: [--py37-plus] + args: [--py38-plus] - repo: https://github.com/psf/black rev: 23.3.0 @@ -14,7 +14,7 @@ repos: rev: 1.13.0 hooks: - id: blacken-docs - args: [--target-version=py37] + args: [--target-version=py38] additional_dependencies: [black==23.3.0] - repo: https://github.com/PyCQA/isort @@ -46,12 +46,12 @@ repos: - id: requirements-txt-fixer - repo: https://github.com/tox-dev/pyproject-fmt - rev: 0.9.2 + rev: 0.10.0 hooks: - id: pyproject-fmt - repo: https://github.com/abravalheri/validate-pyproject - rev: v0.12.2 + rev: v0.13 hooks: - id: validate-pyproject diff --git a/README.md b/README.md index ce20f6b..3d9e882 100644 --- a/README.md +++ b/README.md @@ -35,7 +35,7 @@ Or from requirements.txt: Note: -* pyLast 5.2+ supports Python 3.7-3.12. +* pyLast 5.2+ supports Python 3.8-3.12. * pyLast 5.1 supports Python 3.7-3.11. * pyLast 5.0 supports Python 3.7-3.10. * pyLast 4.3 - 4.5 supports Python 3.6-3.10. diff --git a/pyproject.toml b/pyproject.toml index fc658ff..d1224dd 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -18,30 +18,28 @@ keywords = [ license = {text = "Apache-2.0"} maintainers = [{name = "Hugo van Kemenade"}] authors = [{name = "Amr Hassan and Contributors", email = "amr.hassan@gmail.com"}] -requires-python = ">=3.7" +requires-python = ">=3.8" classifiers = [ - "Development Status :: 5 - Production/Stable", - "License :: OSI Approved :: Apache Software License", - "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", - "Programming Language :: Python :: 3.11", - "Programming Language :: Python :: 3.12", - "Programming Language :: Python :: Implementation :: CPython", - "Programming Language :: Python :: Implementation :: PyPy", - "Topic :: Internet", - "Topic :: Multimedia :: Sound/Audio", - "Topic :: Software Development :: Libraries :: Python Modules", + "Development Status :: 5 - Production/Stable", + "License :: OSI Approved :: Apache Software License", + "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3 :: Only", + "Programming Language :: Python :: 3.8", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", + "Programming Language :: Python :: Implementation :: CPython", + "Programming Language :: Python :: Implementation :: PyPy", + "Topic :: Internet", + "Topic :: Multimedia :: Sound/Audio", + "Topic :: Software Development :: Libraries :: Python Modules", ] dynamic = [ "version", ] dependencies = [ "httpx", - 'importlib-metadata; python_version < "3.8"', ] [project.optional-dependencies] tests = [ diff --git a/src/pylast/__init__.py b/src/pylast/__init__.py index c6cd8be..60f9b5f 100644 --- a/src/pylast/__init__.py +++ b/src/pylast/__init__.py @@ -23,6 +23,7 @@ from __future__ import annotations import collections import hashlib import html.entities +import importlib.metadata import logging import os import re @@ -36,18 +37,11 @@ from xml.dom import Node, minidom import httpx -try: - # Python 3.8+ - import importlib.metadata as importlib_metadata -except ImportError: - # Python 3.7 and lower - import importlib_metadata # type: ignore - __author__ = "Amr Hassan, hugovk, Mice Pápai" __copyright__ = "Copyright (C) 2008-2010 Amr Hassan, 2013-2021 hugovk, 2017 Mice Pápai" __license__ = "apache2" __email__ = "amr.hassan@gmail.com" -__version__ = importlib_metadata.version(__name__) +__version__ = importlib.metadata.version(__name__) # 1 : This error does not exist diff --git a/tox.ini b/tox.ini index 641e732..b0d3588 100644 --- a/tox.ini +++ b/tox.ini @@ -3,7 +3,7 @@ requires = tox>=4.2 env_list = lint - py{py3, 312, 311, 310, 39, 38, 37} + py{py3, 312, 311, 310, 39, 38} [testenv] extras =