From 3a4209da530e5151007d94b18af62b31f3cdbe97 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 14 Jan 2026 20:23:54 +0100 Subject: [PATCH 1/5] Drop Python 3.8 support, set minimum to 3.9 --- .github/workflows/linting_and_unittests.yml | 2 +- docs/source/install.rst | 2 +- setup.py | 5 +++++ 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linting_and_unittests.yml b/.github/workflows/linting_and_unittests.yml index c49eee7..a314641 100644 --- a/.github/workflows/linting_and_unittests.yml +++ b/.github/workflows/linting_and_unittests.yml @@ -14,7 +14,7 @@ jobs: matrix: # macos-latest currently has issues (https://github.com/actions/setup-python/issues/855) os: [ubuntu-latest, windows-latest, macos-13] - python-version: ['3.8', '3.9', '3.10', '3.11', '3.12'] + python-version: ['3.9', '3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 diff --git a/docs/source/install.rst b/docs/source/install.rst index 7b6c8ba..26d1af5 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -5,7 +5,7 @@ Installation Requirements ------------ -Bibtexparsers only requirement is a python interpreter which is not yet EOL (currently >= 3.7). +Bibtexparser's only requirement is a python interpreter which is not yet EOL (currently >= 3.9). As of version 2.0.0, bibtexparser is a pure-python project (no direct bindings to C libraries). As such, it should be rather easy to install on any platform. diff --git a/setup.py b/setup.py index 343fd13..572d347 100644 --- a/setup.py +++ b/setup.py @@ -29,10 +29,15 @@ def load_readme(): description="Bibtex parser for python 3", long_description_content_type="text/markdown", long_description=load_readme(), + python_requires='>=3.9', packages=setuptools.find_packages(include=["bibtexparser", "bibtexparser.*"]), classifiers=[ "Development Status :: 4 - Beta", "Programming Language :: Python :: 3", + "Programming Language :: Python :: 3.9", + "Programming Language :: Python :: 3.10", + "Programming Language :: Python :: 3.11", + "Programming Language :: Python :: 3.12", "Topic :: Scientific/Engineering :: Artificial Intelligence", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", From 304f64feba5f08d718c4b0ed63d017ce30581a7f Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 14 Jan 2026 20:27:27 +0100 Subject: [PATCH 2/5] Also remove Python 3.9 from test matrix --- .github/workflows/linting_and_unittests.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/linting_and_unittests.yml b/.github/workflows/linting_and_unittests.yml index a314641..0d1f6f1 100644 --- a/.github/workflows/linting_and_unittests.yml +++ b/.github/workflows/linting_and_unittests.yml @@ -14,7 +14,7 @@ jobs: matrix: # macos-latest currently has issues (https://github.com/actions/setup-python/issues/855) os: [ubuntu-latest, windows-latest, macos-13] - python-version: ['3.9', '3.10', '3.11', '3.12'] + python-version: ['3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} steps: - uses: actions/checkout@v2 From 3b352bbc1c5a88d08339660e40526bc10f98a1b7 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 14 Jan 2026 20:29:32 +0100 Subject: [PATCH 3/5] Fix formatting: use double quotes for python_requires --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 572d347..3677ebd 100644 --- a/setup.py +++ b/setup.py @@ -29,7 +29,7 @@ def load_readme(): description="Bibtex parser for python 3", long_description_content_type="text/markdown", long_description=load_readme(), - python_requires='>=3.9', + python_requires=">=3.9", packages=setuptools.find_packages(include=["bibtexparser", "bibtexparser.*"]), classifiers=[ "Development Status :: 4 - Beta", From a23b78947d19882fab46d4a20740d8e54e53ca0e Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 14 Jan 2026 20:34:46 +0100 Subject: [PATCH 4/5] Update to macos-latest runner (macos-13 is retired) --- .github/workflows/linting_and_unittests.yml | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/.github/workflows/linting_and_unittests.yml b/.github/workflows/linting_and_unittests.yml index 0d1f6f1..0e8eb3b 100644 --- a/.github/workflows/linting_and_unittests.yml +++ b/.github/workflows/linting_and_unittests.yml @@ -12,8 +12,7 @@ jobs: build: strategy: matrix: - # macos-latest currently has issues (https://github.com/actions/setup-python/issues/855) - os: [ubuntu-latest, windows-latest, macos-13] + os: [ubuntu-latest, windows-latest, macos-latest] python-version: ['3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} steps: From f50caf7fa9196bb6bbec1a9fa0feaccabdcc5507 Mon Sep 17 00:00:00 2001 From: Michael Weiss Date: Wed, 14 Jan 2026 20:36:56 +0100 Subject: [PATCH 5/5] Update GitHub Actions to v4/v5 for modern Python support --- .github/workflows/linting_and_unittests.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/linting_and_unittests.yml b/.github/workflows/linting_and_unittests.yml index 0e8eb3b..0cf0e14 100644 --- a/.github/workflows/linting_and_unittests.yml +++ b/.github/workflows/linting_and_unittests.yml @@ -16,9 +16,9 @@ jobs: python-version: ['3.10', '3.11', '3.12'] runs-on: ${{ matrix.os }} steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 - name: Set up Python ${{ matrix.python-version }} - uses: actions/setup-python@v1 + uses: actions/setup-python@v5 with: python-version: ${{ matrix.python-version }} - name: Install dependencies