From 798cf3d72e6f8912d06925417ba996143ee4ec1f Mon Sep 17 00:00:00 2001 From: Jose Javier Merchante Date: Wed, 18 Sep 2024 18:02:44 +0200 Subject: [PATCH] Drop Python 3.8 support Python 3.8 will reach its end of life in October 2024, and Python 3.9 will become the minimum version required by the project. Update the GitHub workflows to run tests for Python 3.9, 3.10, 3.11 and 3.12 for future releases. Signed-off-by: Jose Javier Merchante --- .github/workflows/release.yml | 2 +- .github/workflows/tests.yml | 2 +- README.md | 2 +- poetry.lock | 51 ++++++++++--------- pyproject.toml | 7 +-- .../python-minimum-version-updated.yml | 8 +++ 6 files changed, 42 insertions(+), 30 deletions(-) create mode 100644 releases/unreleased/python-minimum-version-updated.yml diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index 675100f..9f8d2a5 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -22,7 +22,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.9', '3.10', '3.11', '3.12'] steps: - uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # v4.1.1 - name: Download distribution artifact diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml index 621b11d..2475acd 100644 --- a/.github/workflows/tests.yml +++ b/.github/workflows/tests.yml @@ -15,7 +15,7 @@ jobs: runs-on: ubuntu-latest strategy: matrix: - python-version: ['3.8', '3.9', '3.10', '3.11'] + python-version: ['3.9', '3.10', '3.11', '3.12'] name: Python ${{ matrix.python-version }} steps: diff --git a/README.md b/README.md index dc8d8b0..fcf38a5 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ are available in the [Sigils](https://github.com/chaoss/grimoirelab-sigils) repo ## Requirements - * Python >= 3.8 + * Python >= 3.9 You will also need some other libraries for running the tool, you can find the whole list of dependencies in [pyproject.toml](pyproject.toml) file. diff --git a/poetry.lock b/poetry.lock index 8d8c9e5..b07c0de 100644 --- a/poetry.lock +++ b/poetry.lock @@ -196,62 +196,65 @@ toml = ["tomli"] [[package]] name = "flake8" -version = "4.0.1" +version = "7.1.1" description = "the modular source code checker: pep8 pyflakes and co" optional = false -python-versions = ">=3.6" +python-versions = ">=3.8.1" files = [ - {file = "flake8-4.0.1-py2.py3-none-any.whl", hash = "sha256:479b1304f72536a55948cb40a32dce8bb0ffe3501e26eaf292c7e60eb5e0428d"}, - {file = "flake8-4.0.1.tar.gz", hash = "sha256:806e034dda44114815e23c16ef92f95c91e4c71100ff52813adf7132a6ad870d"}, + {file = "flake8-7.1.1-py2.py3-none-any.whl", hash = "sha256:597477df7860daa5aa0fdd84bf5208a043ab96b8e96ab708770ae0364dd03213"}, + {file = "flake8-7.1.1.tar.gz", hash = "sha256:049d058491e228e03e67b390f311bbf88fce2dbaa8fa673e7aea87b7198b8d38"}, ] [package.dependencies] -mccabe = ">=0.6.0,<0.7.0" -pycodestyle = ">=2.8.0,<2.9.0" -pyflakes = ">=2.4.0,<2.5.0" +mccabe = ">=0.7.0,<0.8.0" +pycodestyle = ">=2.12.0,<2.13.0" +pyflakes = ">=3.2.0,<3.3.0" [[package]] name = "idna" -version = "3.8" +version = "3.10" description = "Internationalized Domain Names in Applications (IDNA)" optional = false python-versions = ">=3.6" files = [ - {file = "idna-3.8-py3-none-any.whl", hash = "sha256:050b4e5baadcd44d760cedbd2b8e639f2ff89bbc7a5730fcc662954303377aac"}, - {file = "idna-3.8.tar.gz", hash = "sha256:d838c2c0ed6fced7693d5e8ab8e734d5f8fda53a039c0164afb0b82e771e3603"}, + {file = "idna-3.10-py3-none-any.whl", hash = "sha256:946d195a0d259cbba61165e88e65941f16e9b36ea6ddb97f00452bae8b1287d3"}, + {file = "idna-3.10.tar.gz", hash = "sha256:12f65c9b470abda6dc35cf8e63cc574b1c52b11df2c86030af0ac09b01b13ea9"}, ] +[package.extras] +all = ["flake8 (>=7.1.1)", "mypy (>=1.11.2)", "pytest (>=8.3.2)", "ruff (>=0.6.2)"] + [[package]] name = "mccabe" -version = "0.6.1" +version = "0.7.0" description = "McCabe checker, plugin for flake8" optional = false -python-versions = "*" +python-versions = ">=3.6" files = [ - {file = "mccabe-0.6.1-py2.py3-none-any.whl", hash = "sha256:ab8a6258860da4b6677da4bd2fe5dc2c659cff31b3ee4f7f5d64e79735b80d42"}, - {file = "mccabe-0.6.1.tar.gz", hash = "sha256:dd8d182285a0fe56bace7f45b5e7d1a6ebcbf524e8f3bd87eb0f125271b8831f"}, + {file = "mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e"}, + {file = "mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325"}, ] [[package]] name = "pycodestyle" -version = "2.8.0" +version = "2.12.1" description = "Python style guide checker" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*, !=3.4.*" +python-versions = ">=3.8" files = [ - {file = "pycodestyle-2.8.0-py2.py3-none-any.whl", hash = "sha256:720f8b39dde8b293825e7ff02c475f3077124006db4f440dcbc9a20b76548a20"}, - {file = "pycodestyle-2.8.0.tar.gz", hash = "sha256:eddd5847ef438ea1c7870ca7eb78a9d47ce0cdb4851a5523949f2601d0cbbe7f"}, + {file = "pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3"}, + {file = "pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521"}, ] [[package]] name = "pyflakes" -version = "2.4.0" +version = "3.2.0" description = "passive checker of Python programs" optional = false -python-versions = ">=2.7, !=3.0.*, !=3.1.*, !=3.2.*, !=3.3.*" +python-versions = ">=3.8" files = [ - {file = "pyflakes-2.4.0-py2.py3-none-any.whl", hash = "sha256:3bb3a3f256f4b7968c9c788781e4ff07dce46bdf12339dcda61053375426ee2e"}, - {file = "pyflakes-2.4.0.tar.gz", hash = "sha256:05a85c2872edf37a4ed30b0cce2f6093e1d0581f8c19d7393122da7e25b2b24c"}, + {file = "pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a"}, + {file = "pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f"}, ] [[package]] @@ -318,5 +321,5 @@ socks = ["PySocks (>=1.5.6,!=1.5.7,<2.0)"] [metadata] lock-version = "2.0" -python-versions = "^3.8" -content-hash = "7eac58117c3fb864c0daed6a918523631ce54ce1177dd8fc1662a22bc81b02b7" +python-versions = "^3.9" +content-hash = "41cb3cec3ea3e0be4c87667a126bc36a50f9825597e537a346407ee29d43aa24" diff --git a/pyproject.toml b/pyproject.toml index 99702fb..71f6143 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -43,13 +43,14 @@ classifiers = [ kidash = 'kidash.bin.kidash:main' [tool.poetry.dependencies] -python = "^3.8" +python = "^3.9" + python-dateutil = "^2.8.2" requests = "^2.7.0" -urllib3 = "^1.26" +urllib3 = "^2.2" [tool.poetry.dev-dependencies] -flake8 = "^4.0.1" +flake8 = "^7.1.1" coverage = "^7.2.3" [build-system] diff --git a/releases/unreleased/python-minimum-version-updated.yml b/releases/unreleased/python-minimum-version-updated.yml new file mode 100644 index 0000000..0e77d6e --- /dev/null +++ b/releases/unreleased/python-minimum-version-updated.yml @@ -0,0 +1,8 @@ +--- +title: Python minimum version updated +category: dependency +author: Jose Javier Merchante +issue: null +notes: > + Python 3.8 will reach its end of life in October 2024. + Python 3.9 is the minimum version required by the project.