diff --git a/.github/workflows/test.yml b/.github/workflows/test.yml index 7122f7e..fba2424 100644 --- a/.github/workflows/test.yml +++ b/.github/workflows/test.yml @@ -1,6 +1,7 @@ --- name: "Test" on: + workflow_dispatch: pull_request: push: branches: @@ -13,7 +14,6 @@ jobs: fail-fast: false matrix: python-version: [ - "3.8", "3.9", "3.10", "3.11", diff --git a/.pre-commit-config.yaml b/.pre-commit-config.yaml index 2b15f24..18d070a 100644 --- a/.pre-commit-config.yaml +++ b/.pre-commit-config.yaml @@ -1,11 +1,11 @@ repos: - repo: https://github.com/astral-sh/ruff-pre-commit - rev: v0.5.1 + rev: v0.8.5 hooks: - id: ruff args: [--fix, --exit-non-zero-on-fix] - id: ruff-format - repo: https://github.com/igorshubovych/markdownlint-cli - rev: v0.41.0 + rev: v0.43.0 hooks: - id: markdownlint diff --git a/README.md b/README.md index 54b0f5f..74e5425 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,6 @@ METSRW can be installed with pip. METSRW has been tested with: -* Python 3.8 * Python 3.9 * Python 3.10 * Python 3.11 diff --git a/pyproject.toml b/pyproject.toml index 943ad69..e7745b3 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -17,7 +17,7 @@ dynamic = [ "readme", ] description = "Library for dealing with METS files." -requires-python = ">=3.8" +requires-python = ">=3.9" license = {file = "LICENSE"} dependencies = [ "lxml", @@ -33,7 +33,6 @@ classifiers = [ "License :: OSI Approved :: GNU Affero General Public License v3", "Operating System :: POSIX :: Linux", "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", @@ -54,19 +53,13 @@ issues = "https://github.com/archivematica/Issues/issues" [project.optional-dependencies] dev = [ - "alabaster==0.7.13", "coverage", "pip-tools", "pytest-cov", "pytest", "ruff", "sphinx-rtd-theme", - "sphinx==7.1.2", - "sphinxcontrib-applehelp==1.0.4", - "sphinxcontrib-devhelp==1.0.2", - "sphinxcontrib-htmlhelp==2.0.1", - "sphinxcontrib-qthelp==1.0.3", - "sphinxcontrib-serializinghtml==1.1.5", + "sphinx", ] [tool.setuptools.dynamic] @@ -113,11 +106,10 @@ omit = [ [tool.tox] legacy_tox_ini = """ [tox] - envlist = py{38,39,310,311,312}, linting, docs + envlist = py{39,310,311,312}, linting, docs [gh-actions] python = - 3.8: py38 3.9: py39 3.10: py310 3.11: py311 diff --git a/requirements-dev.txt b/requirements-dev.txt index 77ac1d7..b55604e 100644 --- a/requirements-dev.txt +++ b/requirements-dev.txt @@ -4,47 +4,45 @@ # # pip-compile --allow-unsafe --extra=dev --output-file=requirements-dev.txt pyproject.toml # -alabaster==0.7.13 - # via - # metsrw (pyproject.toml) - # sphinx -babel==2.15.0 +alabaster==0.7.16 + # via sphinx +babel==2.16.0 # via sphinx -build==1.2.1 +build==1.2.2.post1 # via pip-tools -certifi==2024.7.4 +certifi==2024.12.14 # via requests -charset-normalizer==3.3.2 +charset-normalizer==3.4.1 # via requests -click==8.1.7 +click==8.1.8 # via pip-tools -coverage[toml]==7.5.4 +coverage[toml]==7.6.10 # via # metsrw (pyproject.toml) # pytest-cov -docutils==0.20.1 +docutils==0.21.2 # via # sphinx # sphinx-rtd-theme -exceptiongroup==1.2.1 +exceptiongroup==1.2.2 # via pytest -idna==3.7 +idna==3.10 # via requests imagesize==1.4.1 # via sphinx -importlib-metadata==8.0.0 +importlib-metadata==8.5.0 # via # build # sphinx iniconfig==2.0.0 # via pytest -jinja2==3.1.4 +jinja2==3.1.5 # via sphinx -lxml==5.2.2 +lxml==5.3.0 # via metsrw (pyproject.toml) -markupsafe==2.1.5 +markupsafe==3.0.2 # via jinja2 -packaging==24.1 +packaging==24.2 # via # build # pytest @@ -55,68 +53,59 @@ pluggy==1.5.0 # via pytest pygments==2.18.0 # via sphinx -pyproject-hooks==1.1.0 +pyproject-hooks==1.2.0 # via # build # pip-tools -pytest==8.2.2 +pytest==8.3.4 # via # metsrw (pyproject.toml) # pytest-cov -pytest-cov==5.0.0 +pytest-cov==6.0.0 # via metsrw (pyproject.toml) requests==2.32.3 # via sphinx -ruff==0.5.1 +ruff==0.8.5 # via metsrw (pyproject.toml) snowballstemmer==2.2.0 # via sphinx -sphinx==7.1.2 +sphinx==7.4.7 # via # metsrw (pyproject.toml) # sphinx-rtd-theme # sphinxcontrib-jquery -sphinx-rtd-theme==2.0.0 +sphinx-rtd-theme==3.0.2 # via metsrw (pyproject.toml) -sphinxcontrib-applehelp==1.0.4 - # via - # metsrw (pyproject.toml) - # sphinx -sphinxcontrib-devhelp==1.0.2 - # via - # metsrw (pyproject.toml) - # sphinx -sphinxcontrib-htmlhelp==2.0.1 - # via - # metsrw (pyproject.toml) - # sphinx +sphinxcontrib-applehelp==2.0.0 + # via sphinx +sphinxcontrib-devhelp==2.0.0 + # via sphinx +sphinxcontrib-htmlhelp==2.1.0 + # via sphinx sphinxcontrib-jquery==4.1 # via sphinx-rtd-theme sphinxcontrib-jsmath==1.0.1 # via sphinx -sphinxcontrib-qthelp==1.0.3 - # via - # metsrw (pyproject.toml) - # sphinx -sphinxcontrib-serializinghtml==1.1.5 - # via - # metsrw (pyproject.toml) - # sphinx -tomli==2.0.1 +sphinxcontrib-qthelp==2.0.0 + # via sphinx +sphinxcontrib-serializinghtml==2.0.0 + # via sphinx +tomli==2.2.1 # via # build # coverage # pip-tools # pytest -urllib3==2.2.2 + # sphinx +urllib3==2.3.0 # via requests -wheel==0.43.0 +wheel==0.45.1 # via pip-tools -zipp==3.19.2 +zipp==3.21.0 # via importlib-metadata # The following packages are considered to be unsafe in a requirements file: -pip==24.1.2 +pip==24.3.1 # via pip-tools -setuptools==70.2.0 +setuptools==75.6.0 # via pip-tools diff --git a/requirements.txt b/requirements.txt index 8f49230..400e10a 100644 --- a/requirements.txt +++ b/requirements.txt @@ -4,5 +4,5 @@ # # pip-compile --allow-unsafe --output-file=requirements.txt pyproject.toml # -lxml==5.2.2 +lxml==5.3.0 # via metsrw (pyproject.toml)