Skip to content

Add Django 5.2 and Python 3.13 to tests and docs#580

Merged
sobolevn merged 13 commits into
wemake-services:masterfrom
soccer99:master
Nov 5, 2025
Merged

Add Django 5.2 and Python 3.13 to tests and docs#580
sobolevn merged 13 commits into
wemake-services:masterfrom
soccer99:master

Conversation

@soccer99

@soccer99 soccer99 commented Nov 2, 2025

Copy link
Copy Markdown
Contributor

Tested the project against Django 5.2 and Python 3.13

Updated the docs to demonstrate that its compatible with both.

Updated to the latest poetry version and fixed pyproject.toml accordingly.

Updated contributing with updated commands for install and mypy checks.

@sobolevn sobolevn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks a lot!

Comment thread .github/workflows/test.yml Outdated
run: |
poetry run pip install --upgrade pip setuptools
poetry install
poetry install --no-root

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We need the project as well here

Suggested change
poetry install --no-root
poetry install

Comment thread CONTRIBUTING.md Outdated

```bash
poetry install
poetry install --no-root

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
poetry install --no-root
poetry install

Comment thread .readthedocs.yml Outdated
- poetry config virtualenvs.create false
post_install:
- . "$(pwd | rev | sed 's/stuokcehc/svne/' | rev)/bin/activate" && poetry install --only main --only docs
- . "$(pwd | rev | sed 's/stuokcehc/svne/' | rev)/bin/activate" && poetry install --no-root --only main --only docs

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Suggested change
- . "$(pwd | rev | sed 's/stuokcehc/svne/' | rev)/bin/activate" && poetry install --no-root --only main --only docs
- . "$(pwd | rev | sed 's/stuokcehc/svne/' | rev)/bin/activate" && poetry install --only main --only docs

Comment thread pyproject.toml Outdated
@@ -1,21 +1,18 @@
[tool.poetry]
[project]

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Please, revert pyproject.toml changes to this new PEP thing, it does not work with dependabot. And we kinda need it :)

Comment thread pyproject.toml Outdated
django = [
{ version = "^4.2", python = "<3.10" },
{ version = "^5.0", python = ">=3.10" },
{ version = "^5.2", python = ">=3.10" },

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

We can instead drop 3.9 support for newer versions.

Comment thread .github/workflows/test.yml Outdated
fail-fast: false
matrix:
python-version: ['3.10', '3.11', '3.12']
python-version: ['3.10', '3.11', '3.12', '3.13']

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

What will happen for 3.14? :)

@soccer99

soccer99 commented Nov 4, 2025

Copy link
Copy Markdown
Contributor Author

I think I got all the changes in, let me know if I missed anything from your review!

Comment thread docs/conf.py Outdated
def _get_project_meta():
with open('../pyproject.toml', mode='rb') as pyproject:
return tomllib.load(pyproject)['tool']['poetry']
import os

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I think that this can be reverted, we always have ['tool']['poetry'] key :)

Comment thread docs/conf.py Outdated
project = str(pkg_meta.get('name', 'django-split-settings'))
# The short X.Y version
version = str(pkg_meta['version'])
version = str(pkg_meta.get('version', '0.0.1'))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Same here, version always exists.

Comment thread docs/conf.py Outdated
copyright = '2013, 2General Oy' # noqa: WPS125
author = 'Nikita Sobolev'

project = str(pkg_meta.get('name', 'django-split-settings'))

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

name also always there

@sobolevn sobolevn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks a lot! This is really helpful! 👍

@codecov

codecov Bot commented Nov 4, 2025

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 100.00%. Comparing base (654b1a6) to head (a8469a1).
⚠️ Report is 54 commits behind head on master.

Additional details and impacted files
@@            Coverage Diff            @@
##            master      #580   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files            1         1           
  Lines           41        44    +3     
  Branches         7         7           
=========================================
+ Hits            41        44    +3     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@sobolevn

sobolevn commented Nov 4, 2025

Copy link
Copy Markdown
Member

Oh, you can just drop nitpick

@soccer99

soccer99 commented Nov 4, 2025

Copy link
Copy Markdown
Contributor Author

It looks like nitpick dropped 3.9 support and added 3.13/3.14 in 0.37 (prev had 0.35) so I updated to the latest 0.38
https://github.com/andreoliwa/nitpick/releases

Do you still want to drop it or just use the updated version?

@soccer99

soccer99 commented Nov 4, 2025

Copy link
Copy Markdown
Contributor Author

Also needed to update very old pinned version of wemake-python-styleguide

@sobolevn sobolevn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

I hope this will work 🙏

Comment thread pyproject.toml Outdated
mypy = "^1.10"
wemake-python-styleguide = "^0.19"
wemake-python-styleguide = "^1.0"
flake8-pytest-style = "^2.0"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

You can also drop flake8-pytest-style

Comment thread pyproject.toml Outdated
wemake-python-styleguide = "^1.0"
flake8-pytest-style = "^2.0"
nitpick = "^0.35"
nitpick = "^0.38"

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

And nitpick :)

@sobolevn sobolevn left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

🎉

Thanks a lot!

@sobolevn
sobolevn merged commit 779bae3 into wemake-services:master Nov 5, 2025
11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants