django-migration-zero 2.5.0__tar.gz → 2.6.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/workflows/quality-gate.yml +19 -15
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/workflows/release.yml +7 -7
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.gitignore +5 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.pre-commit-config.yaml +6 -5
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/CHANGES.md +9 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/CONTRIBUTING.md +3 -4
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/PKG-INFO +10 -9
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/__init__.py +1 -1
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/conf.py +1 -6
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/pyproject.toml +13 -9
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/scripts/unix/install_requirements.sh +1 -1
- django_migration_zero-2.6.0/scripts/windows/install_requirements.ps1 +2 -0
- django_migration_zero-2.5.0/scripts/windows/install_requirements.ps1 +0 -2
- django_migration_zero-2.5.0/uv.lock +0 -1406
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/metadata.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/templates/snippets/content.tpl +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/templates/snippets/installation.tpl +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/templates/snippets/tagline.tpl +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.editorconfig +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/workflows/ci.yml +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.readthedocs.yaml +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/CODE_OF_CONDUCT.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/LICENSE.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/MANIFEST.in +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/README.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/SECURITY.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/admin.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/apps.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/exceptions.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/helpers/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/helpers/file_system.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/helpers/logger.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/locale/de/LC_MESSAGES/django.mo +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/locale/de/LC_MESSAGES/django.po +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/commands/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/commands/handle_migration_zero_reset.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/commands/reset_local_migration_files.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/managers.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/migrations/0001_initial.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/migrations/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/models.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/services/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/services/deployment.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/services/local.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/Makefile +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/01_introduction.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/02_configuration.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/03_workflow.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/04_common_issues_and_solutions.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/05_architecture.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/06_management_commands.md +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/07_changelog.rst +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/index.rst +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/make.bat +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/manage.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/scripts/unix/publish_to_pypi.sh +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/scripts/windows/publish_to_pypi.ps1 +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/settings.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/nested_app/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/nested_app/migrations/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/urls.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/helpers/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/helpers/test_file_system.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/helpers/test_logger.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/commands/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/commands/test_handle_migration_zero_reset.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/commands/test_reset_local_migration_files.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/services/__init__.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/services/test_deployment.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/services/test_local.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/test_admin.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/test_managers.py +0 -0
- {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/test_models.py +0 -0
{django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/workflows/quality-gate.yml
RENAMED
|
@@ -7,12 +7,12 @@ jobs:
|
|
|
7
7
|
linting:
|
|
8
8
|
runs-on: ubuntu-24.04
|
|
9
9
|
steps:
|
|
10
|
-
- uses: actions/checkout@
|
|
10
|
+
- uses: actions/checkout@v7
|
|
11
11
|
|
|
12
|
-
- name: Set up Python 3.
|
|
13
|
-
uses: actions/setup-python@
|
|
12
|
+
- name: Set up Python 3.15
|
|
13
|
+
uses: actions/setup-python@v7
|
|
14
14
|
with:
|
|
15
|
-
python-version: "3.
|
|
15
|
+
python-version: "3.15"
|
|
16
16
|
|
|
17
17
|
- name: Install required packages
|
|
18
18
|
run: pip install pre-commit
|
|
@@ -24,14 +24,14 @@ jobs:
|
|
|
24
24
|
name: Validate migrations
|
|
25
25
|
runs-on: ubuntu-24.04
|
|
26
26
|
steps:
|
|
27
|
-
- uses: actions/checkout@
|
|
27
|
+
- uses: actions/checkout@v7
|
|
28
28
|
|
|
29
|
-
- uses: actions/setup-python@
|
|
29
|
+
- uses: actions/setup-python@v7
|
|
30
30
|
with:
|
|
31
|
-
python-version: '3.
|
|
31
|
+
python-version: '3.15'
|
|
32
32
|
|
|
33
33
|
- name: Install dependencies
|
|
34
|
-
run: python -m pip install -U uv && uv sync --
|
|
34
|
+
run: python -m pip install -U uv && uv sync --extra dev
|
|
35
35
|
|
|
36
36
|
- name: Validate migration integrity
|
|
37
37
|
run: uv run python manage.py makemigrations --check --dry-run
|
|
@@ -41,24 +41,28 @@ jobs:
|
|
|
41
41
|
runs-on: ubuntu-24.04
|
|
42
42
|
strategy:
|
|
43
43
|
matrix:
|
|
44
|
-
python-version: ['3.11', '3.12', '3.13', '3.14', ]
|
|
44
|
+
python-version: ['3.11', '3.12', '3.13', '3.14', '3.15', ]
|
|
45
45
|
django-version: ['52', '60', '61', ]
|
|
46
46
|
|
|
47
47
|
# Exclude Python/Django combinations that are not supported upstream.
|
|
48
48
|
exclude:
|
|
49
|
+
- python-version: '3.15'
|
|
50
|
+
django-version: 52
|
|
49
51
|
- python-version: '3.11'
|
|
50
52
|
django-version: 60
|
|
53
|
+
- python-version: '3.15'
|
|
54
|
+
django-version: 60
|
|
51
55
|
- python-version: '3.11'
|
|
52
56
|
django-version: 61
|
|
53
57
|
|
|
54
58
|
steps:
|
|
55
|
-
- uses: actions/checkout@
|
|
59
|
+
- uses: actions/checkout@v7
|
|
56
60
|
- name: setup python
|
|
57
|
-
uses: actions/setup-python@
|
|
61
|
+
uses: actions/setup-python@v7
|
|
58
62
|
with:
|
|
59
63
|
python-version: ${{ matrix.python-version }}
|
|
60
64
|
- name: Install uv
|
|
61
|
-
uses: astral-sh/setup-uv@
|
|
65
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
62
66
|
with:
|
|
63
67
|
cache-suffix: ${{ github.ref_type }}
|
|
64
68
|
- name: Install tox
|
|
@@ -80,11 +84,11 @@ jobs:
|
|
|
80
84
|
runs-on: ubuntu-24.04
|
|
81
85
|
needs: tests
|
|
82
86
|
steps:
|
|
83
|
-
- uses: actions/checkout@
|
|
87
|
+
- uses: actions/checkout@v7
|
|
84
88
|
|
|
85
|
-
- uses: actions/setup-python@
|
|
89
|
+
- uses: actions/setup-python@v7
|
|
86
90
|
with:
|
|
87
|
-
python-version: '3.
|
|
91
|
+
python-version: '3.15'
|
|
88
92
|
|
|
89
93
|
- name: Install dependencies
|
|
90
94
|
run: python -m pip install --upgrade coverage[toml]
|
|
@@ -19,7 +19,7 @@ jobs:
|
|
|
19
19
|
outputs:
|
|
20
20
|
on-main: ${{ steps.check.outputs.on-main }}
|
|
21
21
|
steps:
|
|
22
|
-
- uses: actions/checkout@
|
|
22
|
+
- uses: actions/checkout@v7
|
|
23
23
|
with:
|
|
24
24
|
fetch-depth: 0
|
|
25
25
|
- name: Check if tag is on master
|
|
@@ -41,15 +41,15 @@ jobs:
|
|
|
41
41
|
permissions:
|
|
42
42
|
contents: read
|
|
43
43
|
steps:
|
|
44
|
-
- uses: actions/checkout@
|
|
44
|
+
- uses: actions/checkout@v7
|
|
45
45
|
|
|
46
|
-
- name: Set up Python 3.
|
|
47
|
-
uses: actions/setup-python@
|
|
46
|
+
- name: Set up Python 3.15
|
|
47
|
+
uses: actions/setup-python@v7
|
|
48
48
|
with:
|
|
49
|
-
python-version: "3.
|
|
49
|
+
python-version: "3.15"
|
|
50
50
|
|
|
51
51
|
- name: Install uv
|
|
52
|
-
uses: astral-sh/setup-uv@
|
|
52
|
+
uses: astral-sh/setup-uv@v10.3.0
|
|
53
53
|
|
|
54
54
|
- name: Build packages
|
|
55
55
|
run: uv build
|
|
@@ -76,7 +76,7 @@ jobs:
|
|
|
76
76
|
path: dist/
|
|
77
77
|
|
|
78
78
|
- name: Sign packages with Sigstore
|
|
79
|
-
uses: sigstore/gh-action-sigstore-python@v3.
|
|
79
|
+
uses: sigstore/gh-action-sigstore-python@v3.5.0
|
|
80
80
|
with:
|
|
81
81
|
inputs: >-
|
|
82
82
|
./dist/*.tar.gz
|
|
@@ -81,6 +81,11 @@ target/
|
|
|
81
81
|
profile_default/
|
|
82
82
|
ipython_config.py
|
|
83
83
|
|
|
84
|
+
# uv
|
|
85
|
+
# This is a library, so consumers never install from the lockfile. Not committing it avoids
|
|
86
|
+
# lockfile churn in every maintenance release.
|
|
87
|
+
uv.lock
|
|
88
|
+
|
|
84
89
|
# pdm
|
|
85
90
|
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
86
91
|
#pdm.lock
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
|
|
4
4
|
repos:
|
|
5
5
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
6
|
-
rev: v0.
|
|
6
|
+
rev: v0.17.1
|
|
7
7
|
hooks:
|
|
8
8
|
# Run the Ruff formatter.
|
|
9
9
|
- id: ruff-format
|
|
@@ -15,24 +15,25 @@ repos:
|
|
|
15
15
|
rev: 1.20.0
|
|
16
16
|
hooks:
|
|
17
17
|
- id: blacken-docs
|
|
18
|
+
args: [--line-length, "120"]
|
|
18
19
|
additional_dependencies:
|
|
19
|
-
- black==26.
|
|
20
|
+
- black==26.10.1
|
|
20
21
|
files: '(?:README\.md|\.ambient-package-update\/templates\/snippets\/.*\.tpl|docs\/.*\.(?:md|rst))'
|
|
21
22
|
|
|
22
23
|
- repo: https://github.com/asottile/pyupgrade
|
|
23
|
-
rev: v3.
|
|
24
|
+
rev: v3.22.0
|
|
24
25
|
hooks:
|
|
25
26
|
- id: pyupgrade
|
|
26
27
|
args: [ --py311-plus ]
|
|
27
28
|
|
|
28
29
|
- repo: https://github.com/adamchainz/django-upgrade
|
|
29
|
-
rev: 1.
|
|
30
|
+
rev: 1.33.0
|
|
30
31
|
hooks:
|
|
31
32
|
- id: django-upgrade
|
|
32
33
|
args: [--target-version, "5.2"]
|
|
33
34
|
|
|
34
35
|
- repo: https://github.com/adamchainz/djade-pre-commit
|
|
35
|
-
rev: 1.
|
|
36
|
+
rev: 1.10.0
|
|
36
37
|
hooks:
|
|
37
38
|
- id: djade
|
|
38
39
|
args: [--target-version, "5.2"]
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
**2.6.0** (2026-11-12)
|
|
4
|
+
* Added support for Python 3.15 (with Django 6.1)
|
|
5
|
+
|
|
6
|
+
**2.5.1** (2026-10-21)
|
|
7
|
+
* Updated the linting and CI setup to the current ambient-package-update template (ruff 0.17.1, `actions/checkout` v7, `actions/setup-python` v7)
|
|
8
|
+
* Fixed the Sphinx configuration for sphinx-rtd-theme 3, removing the documentation build warnings
|
|
9
|
+
* Fixed broken links in the pre-commit section of `CONTRIBUTING.md`
|
|
10
|
+
* Stopped committing `uv.lock`, since the package is a library and the lockfile never reaches its users
|
|
11
|
+
|
|
3
12
|
**2.5.0** (2026-08-27)
|
|
4
13
|
* Added support for Django 6.1
|
|
5
14
|
* **Breaking change:** Dropped support for Django 4.2, whose extended support ended in April 2026
|
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
- Create a Python virtualenv and activate it
|
|
6
6
|
- Install "uv" with `pip install -U uv`
|
|
7
|
-
- Sync the requirements with `uv sync --
|
|
7
|
+
- Sync the requirements with `uv sync --extra dev`
|
|
8
8
|
|
|
9
9
|
## Add functionality
|
|
10
10
|
|
|
@@ -36,9 +36,8 @@ To enable the configured pre-push hooks, you need to [install](https://pre-commi
|
|
|
36
36
|
|
|
37
37
|
pre-commit install -t pre-push -t pre-commit --install-hooks
|
|
38
38
|
|
|
39
|
-
This will permanently install the git hooks
|
|
40
|
-
[`.
|
|
41
|
-
The hooks are configured in the [`.pre-commit-config.yaml`](templates/.pre-commit-config.yaml.tpl).
|
|
39
|
+
This will permanently install the git hooks in your local `.git/hooks` folder.
|
|
40
|
+
The hooks are configured in the [`.pre-commit-config.yaml`](./.pre-commit-config.yaml).
|
|
42
41
|
|
|
43
42
|
You can check whether hooks work as intended using the [run](https://pre-commit.com/#pre-commit-run) command:
|
|
44
43
|
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.5
|
|
2
2
|
Name: django-migration-zero
|
|
3
|
-
Version: 2.
|
|
3
|
+
Version: 2.6.0
|
|
4
4
|
Summary: Holistic implementation of 'migration zero' pattern for Django covering local changes and in-production database adjustments.
|
|
5
5
|
Project-URL: Homepage, https://github.com/ambient-innovation/django-migration-zero/
|
|
6
6
|
Project-URL: Documentation, https://django-migration-zero.readthedocs.io/en/latest/index.html
|
|
@@ -46,6 +46,7 @@ Classifier: Programming Language :: Python :: 3.11
|
|
|
46
46
|
Classifier: Programming Language :: Python :: 3.12
|
|
47
47
|
Classifier: Programming Language :: Python :: 3.13
|
|
48
48
|
Classifier: Programming Language :: Python :: 3.14
|
|
49
|
+
Classifier: Programming Language :: Python :: 3.15
|
|
49
50
|
Classifier: Topic :: Utilities
|
|
50
51
|
Requires-Python: >=3.11
|
|
51
52
|
Requires-Dist: django>=5.2
|
|
@@ -53,16 +54,16 @@ Provides-Extra: dev
|
|
|
53
54
|
Requires-Dist: ambient-package-update; extra == 'dev'
|
|
54
55
|
Requires-Dist: freezegun~=1.5; extra == 'dev'
|
|
55
56
|
Requires-Dist: keyring~=25.7; extra == 'dev'
|
|
56
|
-
Requires-Dist: pre-commit~=4.
|
|
57
|
-
Requires-Dist: pytest-cov~=7.
|
|
58
|
-
Requires-Dist: pytest-django~=4.
|
|
59
|
-
Requires-Dist: pytest-mock~=3.
|
|
57
|
+
Requires-Dist: pre-commit~=4.7; extra == 'dev'
|
|
58
|
+
Requires-Dist: pytest-cov~=7.1; extra == 'dev'
|
|
59
|
+
Requires-Dist: pytest-django~=4.14; extra == 'dev'
|
|
60
|
+
Requires-Dist: pytest-mock~=3.17; extra == 'dev'
|
|
60
61
|
Requires-Dist: sphinx-mdinclude~=0.6; extra == 'dev'
|
|
61
|
-
Requires-Dist: sphinx-rtd-theme~=3.
|
|
62
|
-
Requires-Dist: sphinx~=
|
|
63
|
-
Requires-Dist: typer~=0.
|
|
62
|
+
Requires-Dist: sphinx-rtd-theme~=3.1; extra == 'dev'
|
|
63
|
+
Requires-Dist: sphinx~=8.2; extra == 'dev'
|
|
64
|
+
Requires-Dist: typer~=0.27; extra == 'dev'
|
|
64
65
|
Requires-Dist: unittest-parametrize~=1.3; extra == 'dev'
|
|
65
|
-
Requires-Dist: uv~=0.
|
|
66
|
+
Requires-Dist: uv~=0.13; extra == 'dev'
|
|
66
67
|
Description-Content-Type: text/markdown
|
|
67
68
|
|
|
68
69
|
[](https://pypi.org/project/django-migration-zero/)
|
|
@@ -68,14 +68,9 @@ exclude_patterns = ["_build", "Thumbs.db", ".DS_Store"]
|
|
|
68
68
|
# a list of builtin themes.
|
|
69
69
|
html_theme = "sphinx_rtd_theme"
|
|
70
70
|
html_theme_options = {
|
|
71
|
-
"
|
|
71
|
+
"version_selector": False,
|
|
72
72
|
"style_external_links": False,
|
|
73
73
|
}
|
|
74
74
|
|
|
75
|
-
# Add any paths that contain custom static files (such as style sheets) here,
|
|
76
|
-
# relative to this directory. They are copied after the builtin static files,
|
|
77
|
-
# so a file named "default.css" will overwrite the builtin "default.css".
|
|
78
|
-
html_static_path = ["_static"]
|
|
79
|
-
|
|
80
75
|
# Set master doc file
|
|
81
76
|
master_doc = "index"
|
|
@@ -25,6 +25,7 @@ classifiers = [
|
|
|
25
25
|
"Programming Language :: Python :: 3.12",
|
|
26
26
|
"Programming Language :: Python :: 3.13",
|
|
27
27
|
"Programming Language :: Python :: 3.14",
|
|
28
|
+
"Programming Language :: Python :: 3.15",
|
|
28
29
|
"Topic :: Utilities",
|
|
29
30
|
]
|
|
30
31
|
dynamic = ["version"]
|
|
@@ -37,15 +38,15 @@ dependencies = [
|
|
|
37
38
|
|
|
38
39
|
[project.optional-dependencies]
|
|
39
40
|
dev = [
|
|
40
|
-
'typer~=0.
|
|
41
|
-
'pytest-cov~=7.
|
|
42
|
-
'pytest-django~=4.
|
|
43
|
-
'pytest-mock~=3.
|
|
44
|
-
'pre-commit~=4.
|
|
45
|
-
'sphinx~=
|
|
46
|
-
'sphinx-rtd-theme~=3.
|
|
41
|
+
'typer~=0.27',
|
|
42
|
+
'pytest-cov~=7.1',
|
|
43
|
+
'pytest-django~=4.14',
|
|
44
|
+
'pytest-mock~=3.17',
|
|
45
|
+
'pre-commit~=4.7',
|
|
46
|
+
'sphinx~=8.2',
|
|
47
|
+
'sphinx-rtd-theme~=3.1',
|
|
47
48
|
'sphinx-mdinclude~=0.6',
|
|
48
|
-
'uv~=0.
|
|
49
|
+
'uv~=0.13',
|
|
49
50
|
'keyring~=25.7',
|
|
50
51
|
'ambient-package-update',
|
|
51
52
|
'unittest-parametrize~=1.3',
|
|
@@ -203,9 +204,11 @@ env_list = ["django52", "django60", "django61", ]
|
|
|
203
204
|
# Django deprecation overview: https://www.djangoproject.com/download/
|
|
204
205
|
package = "wheel"
|
|
205
206
|
wheel_build_env = ".pkg"
|
|
206
|
-
# This runner
|
|
207
|
+
# This runner installs via "uv sync" and ignores "deps", so every environment below
|
|
207
208
|
# installs its matrix Django version on top of the synced environment.
|
|
208
209
|
runner = "uv-venv-lock-runner"
|
|
210
|
+
# uv.lock is not committed for libraries, so tox resolves fresh instead of asserting a lockfile.
|
|
211
|
+
uv_sync_locked = false
|
|
209
212
|
extras = ["dev", ]
|
|
210
213
|
commands = [
|
|
211
214
|
["pytest", "--cov=django_migration_zero", "--cov-report=term", "--cov-report=xml", "--ds", "settings", "tests"]
|
|
@@ -225,6 +228,7 @@ commands_pre = [["uv", "pip", "install", "Django==6.1.*"]]
|
|
|
225
228
|
"3.12" = "py312"
|
|
226
229
|
"3.13" = "py313"
|
|
227
230
|
"3.14" = "py314"
|
|
231
|
+
"3.15" = "py315"
|
|
228
232
|
|
|
229
233
|
[tool.pytest.ini_options]
|
|
230
234
|
python_files = [
|