Skip to content

Commit 4387aa5

Browse files
committed
Update GitHub Actions and dependencies for Python 3.10-3.14 and Django 4.2/5.2 support
1 parent 4738627 commit 4387aa5

6 files changed

Lines changed: 78 additions & 83 deletions

File tree

‎.github/dependabot.yml‎

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
version: 2
2+
updates:
3+
- package-ecosystem: github-actions
4+
directory: "/"
5+
schedule:
6+
interval: weekly
7+
- package-ecosystem: pip
8+
directory: "/"
9+
schedule:
10+
interval: weekly

‎.github/workflows/test.yml‎

Lines changed: 43 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -2,68 +2,54 @@ name: Tests
22

33
on:
44
push:
5-
branches: [ $default-branch ]
6-
pull_request:
7-
branches: [ $default-branch ]
8-
workflow_dispatch:
9-
inputs: {}
105

116
jobs:
127
test:
138
runs-on: ubuntu-latest
149
strategy:
10+
fail-fast: false
1511
matrix:
16-
python-version: [3.6, 3.7, 3.8, 3.9]
17-
env: [pytracking]
1812
include:
19-
- python-version: 3.6
20-
env: django-dj111
21-
- python-version: 3.7
22-
env: django-dj111
23-
- python-version: 3.6
24-
env: django-dj20
25-
- python-version: 3.7
26-
env: django-dj20
27-
- python-version: 3.6
28-
env: django-dj21
29-
- python-version: 3.7
30-
env: django-dj21
31-
- python-version: 3.6
32-
env: django-dj22
33-
- python-version: 3.7
34-
env: django-dj22
35-
- python-version: 3.8
36-
env: django-dj22
37-
- python-version: 3.9
38-
env: django-dj22
39-
- python-version: 3.6
40-
env: django-dj30
41-
- python-version: 3.7
42-
env: django-dj30
43-
- python-version: 3.8
44-
env: django-dj30
45-
- python-version: 3.9
46-
env: django-dj30
47-
- python-version: 3.6
48-
env: django-dj31
49-
- python-version: 3.7
50-
env: django-dj31
51-
- python-version: 3.8
52-
env: django-dj31
53-
- python-version: 3.9
54-
env: django-dj31
13+
- python-version: '3.10'
14+
toxenv: py310-pytracking
15+
- python-version: '3.11'
16+
toxenv: py311-pytracking
17+
- python-version: '3.12'
18+
toxenv: py312-pytracking
19+
- python-version: '3.13'
20+
toxenv: py313-pytracking
21+
- python-version: '3.14'
22+
toxenv: py314-pytracking
23+
- python-version: '3.10'
24+
toxenv: py310-django-dj42
25+
- python-version: '3.11'
26+
toxenv: py311-django-dj42
27+
- python-version: '3.12'
28+
toxenv: py312-django-dj42
29+
- python-version: '3.13'
30+
toxenv: py313-django-dj42
31+
- python-version: '3.14'
32+
toxenv: py314-django-dj42
33+
- python-version: '3.10'
34+
toxenv: py310-django-dj52
35+
- python-version: '3.11'
36+
toxenv: py311-django-dj52
37+
- python-version: '3.12'
38+
toxenv: py312-django-dj52
39+
- python-version: '3.13'
40+
toxenv: py313-django-dj52
41+
- python-version: '3.14'
42+
toxenv: py314-django-dj52
5543
steps:
56-
- uses: actions/checkout@v2
57-
- name: Set up Python ${{ matrix.python-version }}
58-
uses: actions/setup-python@v2
59-
with:
60-
python-version: ${{ matrix.python-version }}
61-
- name: Install dependencies
62-
run: |
63-
python -m pip install --upgrade pip
64-
pip install tox
65-
- name: Test with tox and pyenv
66-
env:
67-
TOXENV: ${{ matrix.env }}
68-
run: |
69-
tox
44+
- uses: actions/checkout@v6
45+
- name: Set up Python ${{ matrix.python-version }}
46+
uses: actions/setup-python@v6
47+
with:
48+
python-version: ${{ matrix.python-version }}
49+
cache: pip
50+
- name: Install dependencies
51+
run: |
52+
python -m pip install --upgrade pip
53+
pip install tox
54+
- name: Test with tox
55+
run: tox -e ${{ matrix.toxenv }}

‎README.rst‎

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -93,9 +93,11 @@ Optional Major Features provided by pytracking
9393
Requirements
9494
------------
9595

96-
pytracking works with Python 3.6+. It doesn't require any external library, but
96+
pytracking works with Python 3.10+. It doesn't require any external library, but
9797
there are many optional features that have dependencies.
9898

99+
The Django integration is maintained for Django 4.2 and 5.2.
100+
99101

100102
Installation
101103
------------
@@ -445,10 +447,10 @@ which uses the `lxml library <http://lxml.de/>`_.
445447
Testing pytracking
446448
------------------
447449

448-
pytracking uses `tox <https://tox.readthedocs.io/en/latest/>`_ and `py.test
449-
<http://docs.pytest.org/en/latest/>`_. If you have tox installed, just run
450-
``tox`` and all possible configurations of pytracking will be tested on Python
451-
3.6-3.9.
450+
pytracking uses `tox <https://tox.readthedocs.io/en/latest/>`_ and `pytest
451+
<https://docs.pytest.org/>`_. If you have tox installed, just run ``tox`` and
452+
all supported configurations of pytracking will be tested on Python 3.10-3.14
453+
and Django 4.2/5.2.
452454

453455

454456
TODO

‎setup.cfg‎

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,2 @@
11
[bdist_wheel]
2-
# This flag says that the code is written to work on both Python 2 and Python
3-
# 3. If at all possible, it is good practice to do this. If you cannot, you
4-
# will need to generate wheels for each Python version that you support.
5-
universal=1
2+
universal=0

‎setup.py‎

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -13,11 +13,11 @@
1313
long_description = f.read()
1414

1515
EXTRA_REQUIRES = {
16-
'test': ['tox>=2.3.1', 'pytest>=2.9.2'],
16+
'test': ['tox>=4', 'pytest>=8'],
1717
'webhook': ['requests>=2.10.0'],
1818
'html': ['lxml>=3.6.1'],
1919
'crypto': ['cryptography>=1.4'],
20-
'django': ['django>=1.11']
20+
'django': ['django>=4.2,<5.3']
2121
}
2222

2323
ALL_REQUIRE = list(chain(*EXTRA_REQUIRES.values()))
@@ -64,10 +64,13 @@
6464
# Specify the Python versions you support here. In particular, ensure
6565
# that you indicate whether you support Python 2, Python 3 or both.
6666
'Programming Language :: Python :: 3',
67-
'Programming Language :: Python :: 3.6',
68-
'Programming Language :: Python :: 3.7',
69-
'Programming Language :: Python :: 3.8',
70-
'Programming Language :: Python :: 3.9',
67+
'Programming Language :: Python :: 3.10',
68+
'Programming Language :: Python :: 3.11',
69+
'Programming Language :: Python :: 3.12',
70+
'Programming Language :: Python :: 3.13',
71+
'Programming Language :: Python :: 3.14',
72+
'Framework :: Django :: 4.2',
73+
'Framework :: Django :: 5.2',
7174
],
7275

7376
# What does your project relate to?
@@ -88,6 +91,7 @@
8891
# for example:
8992
# $ pip install -e .[dev,test]
9093
extras_require=EXTRA_REQUIRES,
94+
python_requires='>=3.10',
9195

9296
# If there are data files included in your packages that need to be
9397
# installed, specify them here. If using Python 2.6 or less, then these

‎tox.ini‎

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,17 @@
11
[tox]
22
envlist =
3-
py{36,37,38,39}-{pytracking},
4-
py{36,37}-django-dj{111,20,21},
5-
py{36,37,38,39}-django-dj{22,30,31}
3+
py{310,311,312,313,314}-pytracking,
4+
py{310,311,312,313,314}-django-dj42,
5+
py{310,311,312,313,314}-django-dj52
66

77
[testenv]
88
extras =
99
test
1010
pytracking: crypto,html,webhook
1111
django: django
1212
commands =
13-
pytracking: py.test --ignore tests/test_django.py
14-
django: py.test tests/test_django.py
13+
pytracking: pytest --ignore tests/test_django.py
14+
django: pytest tests/test_django.py
1515
deps=
16-
dj111: Django>=1.11,<2.0
17-
dj20: Django>=2.0,<2.1
18-
dj21: Django>=2.1,<2.2
19-
dj22: Django>=2.2,<2.3
20-
dj30: Django>=3.0,<3.1
21-
dj31: Django>=3.1,<3.2
16+
dj42: Django>=4.2,<4.3
17+
dj52: Django>=5.2,<5.3

0 commit comments

Comments
 (0)