Skip to content

Commit cd23dd1

Browse files
committed
feat: Enforce Python 3.8+ requirement and add multi-version CI testing
- Add python_requires=">=3.8" to setup.py to enforce minimum version at install time - Update README to explicitly document Python 3.8+ requirement - Add CI matrix to test lint/build on Python 3.8-3.14 (7 versions) - Aligns with actual usage patterns (~99% of downloads on Python 3.8+) - Prevents future PRs from inadvertently using incompatible syntax This change protects users by preventing installation on unsupported Python versions and ensures contributors can see version requirements clearly.
1 parent d244de1 commit cd23dd1

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

.github/workflows/lint.yml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,9 @@ jobs:
1515
lint:
1616
name: lint
1717
runs-on: ubuntu-24.04
18+
strategy:
19+
matrix:
20+
python-version: ["3.8", "3.9", "3.10", "3.11", "3.12", "3.13", "3.14"]
1821

1922
steps:
2023
- name: Checkout repository
@@ -24,7 +27,7 @@ jobs:
2427
- name: Setup Python
2528
uses: actions/setup-python@v6
2629
with:
27-
python-version: "3.12"
30+
python-version: ${{ matrix.python-version }}
2831
cache: "pip"
2932
- run: pip install -r release-requirements.txt && pip install wheel
3033
- run: flake8 --ignore=E501,E203,W503

README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ The package can be used to backup an *entire* `Github <https://github.com/>`_ or
99
Requirements
1010
============
1111

12+
- Python 3.8 or higher
1213
- GIT 1.9+
13-
- Python
1414

1515
Installation
1616
============

setup.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -50,5 +50,6 @@ def open_file(fname):
5050
long_description=open_file("README.rst").read(),
5151
long_description_content_type="text/x-rst",
5252
install_requires=open_file("requirements.txt").readlines(),
53+
python_requires=">=3.8",
5354
zip_safe=True,
5455
)

0 commit comments

Comments
 (0)