Conversation
📝 WalkthroughWalkthroughThis PR modernizes the project's development and CI infrastructure by adopting uv-based Python management, integrating tox-uv for standardized test execution, restructuring dependencies into PEP 735 groups, dropping Django 4.2 end-of-life support, and updating documentation and contributor setup instructions. ChangesModernize development tooling and drop Django 4.2 support
Possibly related PRs
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
pyproject.toml (1)
47-52: ⚡ Quick winConsider removing duplicate
docsgroup from[project.optional-dependencies].The
docsdependency list is duplicated between[project.optional-dependencies](lines 47-52) and[dependency-groups](lines 69-73). Since you've adopted PEP 735 dependency groups as the primary dependency declaration method, the[project.optional-dependencies]entry creates maintenance burden—any docs dependency updates must be synchronized across both locations.If backward compatibility with older pip/setuptools versions isn't required, consider removing the
[project.optional-dependencies]section entirely.Also applies to: 69-73
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the rest with a brief reason, keep changes minimal, and validate. In `@pyproject.toml` around lines 47 - 52, Remove the duplicate docs entry under [project.optional-dependencies] to avoid maintaining two sources of truth for the "docs" optional group; keep the PEP 735-compliant [dependency-groups] "docs" list (the group named "docs") and delete the entire [project.optional-dependencies] "docs" block (or consolidate by removing the docs array there), unless you must preserve backwards compatibility with older installers—if compatibility is required, add a comment explaining the duplication and keep them in sync.
🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
Inline comments:
In `@CONTRIBUTING.md`:
- Around line 15-17: Add the missing language identifier "shell" to each of the
three fenced code blocks that contain commands (the block with "uv run pytest"
and the other two command fences shown around lines 21-23 and 27-29) so
markdownlint MD040 stops flagging them; update each opening fence from ``` to
```shell for those three command blocks in CONTRIBUTING.md.
---
Nitpick comments:
In `@pyproject.toml`:
- Around line 47-52: Remove the duplicate docs entry under
[project.optional-dependencies] to avoid maintaining two sources of truth for
the "docs" optional group; keep the PEP 735-compliant [dependency-groups] "docs"
list (the group named "docs") and delete the entire
[project.optional-dependencies] "docs" block (or consolidate by removing the
docs array there), unless you must preserve backwards compatibility with older
installers—if compatibility is required, add a comment explaining the
duplication and keep them in sync.
🪄 Autofix (Beta)
Fix all unresolved CodeRabbit comments on this PR:
- Push a commit to this branch (recommended)
- Create a new PR with the fixes
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a62e8a62-722d-4503-932c-042ead84f97f
⛔ Files ignored due to path filters (1)
uv.lockis excluded by!**/*.lock
📒 Files selected for processing (9)
.github/workflows/ci.yml.gitignore.readthedocs.yamlCHANGELOG.mdCONTRIBUTING.mddocs/conf.pydocs/index.mdpyproject.tomltox.ini
💤 Files with no reviewable changes (1)
- docs/index.md
| ``` | ||
| pip install .[test] | ||
| uv run pytest | ||
| ``` |
There was a problem hiding this comment.
Add language tags to the new command fences.
These fenced blocks are missing a language identifier, so markdownlint will keep flagging MD040 and the commands are harder to scan. Use shell on each of the three fences.
Proposed fix
-```
+```shellApply the same change to the other two command fences on lines 21-23 and 27-29.
Also applies to: 21-23, 27-29
🧰 Tools
🪛 markdownlint-cli2 (0.22.1)
[warning] 15-15: Fenced code blocks should have a language specified
(MD040, fenced-code-language)
🤖 Prompt for AI Agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.
In `@CONTRIBUTING.md` around lines 15 - 17, Add the missing language identifier
"shell" to each of the three fenced code blocks that contain commands (the block
with "uv run pytest" and the other two command fences shown around lines 21-23
and 27-29) so markdownlint MD040 stops flagging them; update each opening fence
from ``` to ```shell for those three command blocks in CONTRIBUTING.md.
Source: Linters/SAST tools
Describe the change
A clear and concise description of what the change is.
PR Checklist
Summary by CodeRabbit
Chores
Documentation