Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
41 changes: 35 additions & 6 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
Expand Up @@ -51,25 +51,54 @@ jobs:
TOXENV: py311-django51-djangorestframework315
- python: "3.12"
TOXENV: py312-django51-djangorestframework315
- python: "3.13"
TOXENV: py313-django51-djangorestframework315
- python: "3.10"
TOXENV: py310-django52-djangorestframework315
- python: "3.11"
TOXENV: py311-django52-djangorestframework315
- python: "3.12"
TOXENV: py312-django52-djangorestframework315
- python: "3.13"
TOXENV: py313-django52-djangorestframework315
# DRF 3.16
- python: "3.11"
TOXENV: py311-django50-djangorestframework316
- python: "3.12"
TOXENV: py312-django50-djangorestframework316
- python: "3.13"
TOXENV: py313-django50-djangorestframework316
- python: "3.11"
TOXENV: py311-django51-djangorestframework316
- python: "3.12"
TOXENV: py312-django51-djangorestframework316
- python: "3.13"
TOXENV: py313-django51-djangorestframework315
- python: "3.10"
TOXENV: py310-django52-djangorestframework315
TOXENV: py313-django51-djangorestframework316
- python: "3.11"
TOXENV: py311-django52-djangorestframework315
TOXENV: py311-django52-djangorestframework316
- python: "3.12"
TOXENV: py312-django52-djangorestframework315
TOXENV: py312-django52-djangorestframework316
- python: "3.13"
TOXENV: py313-django52-djangorestframework315
TOXENV: py313-django52-djangorestframework316
# DRF 3.17
- python: "3.11"
TOXENV: py311-django50-djangorestframework317
- python: "3.12"
TOXENV: py312-django50-djangorestframework317
- python: "3.13"
TOXENV: py313-django50-djangorestframework317
- python: "3.11"
TOXENV: py311-django51-djangorestframework317
- python: "3.12"
TOXENV: py312-django51-djangorestframework317
Comment on lines +83 to +93
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🟠 Major

DRF 3.17 CI matrix coverage is incomplete.

The CI matrix for DRF 3.17 only tests Python 3.11 and 3.12 with Django 5.0 and 5.1. However, tox.ini defines combinations for Python 3.10, 3.11, 3.12, 3.13 across Django 5.0, 5.1, and 5.2.

Missing entries:

  • py310-django{50,51,52}-djangorestframework317
  • py313-django{50,51,52}-djangorestframework317
  • py{310,311,312,313}-django52-djangorestframework317

Additionally, DRF 3.16 is also missing Django 5.2 coverage while DRF 3.15 has it.

Suggested additions to complete DRF 3.17 coverage
           # DRF 3.17
+          - python: "3.10"
+            TOXENV: py310-django50-djangorestframework317
           - python: "3.11"
             TOXENV: py311-django50-djangorestframework317
           - python: "3.12"
             TOXENV: py312-django50-djangorestframework317
+          - python: "3.13"
+            TOXENV: py313-django50-djangorestframework317
+          - python: "3.10"
+            TOXENV: py310-django51-djangorestframework317
           - python: "3.11"
             TOXENV: py311-django51-djangorestframework317
           - python: "3.12"
             TOXENV: py312-django51-djangorestframework317
+          - python: "3.13"
+            TOXENV: py313-django51-djangorestframework317
+          - python: "3.10"
+            TOXENV: py310-django52-djangorestframework317
+          - python: "3.11"
+            TOXENV: py311-django52-djangorestframework317
+          - python: "3.12"
+            TOXENV: py312-django52-djangorestframework317
+          - python: "3.13"
+            TOXENV: py313-django52-djangorestframework317
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In @.github/workflows/ci.yml around lines 73 - 81, The DRF 3.17 CI matrix is
incomplete; update the matrix in .github/workflows/ci.yml to include all tox
environments defined in tox.ini for DRF 3.17 by adding TOXENV entries for
py310-django50-djangorestframework317, py310-django51-djangorestframework317,
py310-django52-djangorestframework317, py313-django50-djangorestframework317,
py313-django51-djangorestframework317, py313-django52-djangorestframework317,
and also add py311-django52-djangorestframework317 and
py312-django52-djangorestframework317 so that all
py{310,311,312,313}-django52-djangorestframework317 combinations are covered;
mirror the existing pattern used for TOXENV values around the DRF 3.17 block.

- python: "3.13"
TOXENV: py313-django51-djangorestframework317
- python: "3.11"
TOXENV: py311-django52-djangorestframework317
- python: "3.12"
TOXENV: py312-django52-djangorestframework317
- python: "3.13"
TOXENV: py313-django52-djangorestframework317
steps:
- uses: actions/checkout@v6
with:
Expand Down
12 changes: 12 additions & 0 deletions CHANGES.rst
Original file line number Diff line number Diff line change
@@ -1,6 +1,18 @@
Changelog
=========

Version 1.2.1 [unreleased]
--------------------------

Changes
~~~~~~~

**Dependencies:**

- Bumped ``djangorestframework`` to ``>=3.12,<3.18`` The code was already
compatible with the new release of DRF 3.17, no code changes were
needed.

Version 1.2.0 [2025-06-02]
--------------------------

Expand Down
2 changes: 1 addition & 1 deletion README.rst
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ Compatibility with DRF, Django and Python

======================== ============================ ==================== ==================================
DRF-gis version DRF version Django version Python version
**1.2.x** **3.12** up to **3.16** **4.2 to 5.2** **3.9** to **3.13**
**1.2.x** **3.12** up to **3.17** **4.2 to 5.2** **3.9** to **3.13**
**1.1.x** **3.12** up to **3.15** **3.2, 4.2 to 5.1** **3.8** to **3.12**
**1.0.x** **3.10** up to **3.13** **2.2 to 4.0** **3.6** to **3.9**
**0.18.x** **3.10** up to **3.13** **2.2 to 4.0** **3.6** to **3.9**
Expand Down
2 changes: 1 addition & 1 deletion setup.py
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@
packages=find_packages(exclude=["tests", "tests.*"]),
install_requires=[
"django>=4.2",
"djangorestframework>=3.12,<3.17",
"djangorestframework>=3.12,<3.18",
"django-filter>=23.5,<26.0",
],
classifiers=[
Expand Down
7 changes: 4 additions & 3 deletions tox.ini
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
envlist =
py{39,310}-django{42,50}-djangorestframework{314}{,-pytest}
py{311}-django{42}-djangorestframework{314}{,-pytest}
py{310,311,312,313}-django{50}-djangorestframework{315,316}{,-pytest}
py{310,311,312,313}-django{51}-djangorestframework{315,316}{,-pytest}
py{310,311,312,313}-django{52}-djangorestframework{315,316}{,-pytest}
py{310,311,312,313}-django{50}-djangorestframework{315,316,317}{,-pytest}
py{310,311,312,313}-django{51}-djangorestframework{315,316,317}{,-pytest}
py{310,311,312,313}-django{52}-djangorestframework{315,316,317}{,-pytest}
Comment on lines +5 to +7
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🧹 Nitpick | 🔵 Trivial

Tox envlist includes broader coverage than CI matrix.

The tox configuration defines DRF 3.17 tests for Python 3.10, 3.11, 3.12, and 3.13 across Django 5.0, 5.1, and 5.2. However, the CI matrix in ci.yml only tests Python 3.11 and 3.12 with DRF 3.17, and only for Django 5.0 and 5.1 (no Django 5.2 coverage for DRF 3.17).

Consider aligning the CI matrix to test more combinations, or reduce the tox envlist to match what's actually tested in CI.

🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.

In `@tox.ini` around lines 5 - 7, The tox envlist currently includes DRF 3.17 test
combinations for Python versions py{310,311,312,313} across Django versions
django{50,51,52} (the pattern lines like
"py{310,311,312,313}-django{50}-djangorestframework{315,316,317}{,-pytest}"
etc.), which is broader than the CI matrix; either narrow the tox envlist to
match CI by removing the django52-djangorestframework317 combinations (and any
Python versions not covered in CI) or expand the CI workflow (ci.yml) to include
the missing combos (e.g., add Django 5.2 and Python 3.10/3.13 entries for DRF
3.17) so tox and CI are aligned. Ensure the change targets the envlist patterns
in tox.ini (the py{...}-django{...}-djangorestframework{...}{,-pytest} entries)
or the CI matrix job definitions to keep both consistent.


[testenv]
usedevelop = true
Expand All @@ -25,6 +25,7 @@ deps =
djangorestframework314: djangorestframework~=3.14.0
djangorestframework315: djangorestframework~=3.15.0
djangorestframework316: djangorestframework~=3.16.0
djangorestframework317: djangorestframework~=3.17.0
-rrequirements-test.txt
pytest: pytest
pytest: pytest-django
Expand Down