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.
Files changed (81) hide show
  1. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/workflows/quality-gate.yml +19 -15
  2. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/workflows/release.yml +7 -7
  3. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.gitignore +5 -0
  4. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.pre-commit-config.yaml +6 -5
  5. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/CHANGES.md +9 -0
  6. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/CONTRIBUTING.md +3 -4
  7. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/PKG-INFO +10 -9
  8. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/__init__.py +1 -1
  9. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/conf.py +1 -6
  10. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/pyproject.toml +13 -9
  11. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/scripts/unix/install_requirements.sh +1 -1
  12. django_migration_zero-2.6.0/scripts/windows/install_requirements.ps1 +2 -0
  13. django_migration_zero-2.5.0/scripts/windows/install_requirements.ps1 +0 -2
  14. django_migration_zero-2.5.0/uv.lock +0 -1406
  15. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/metadata.py +0 -0
  16. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/templates/snippets/content.tpl +0 -0
  17. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/templates/snippets/installation.tpl +0 -0
  18. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.ambient-package-update/templates/snippets/tagline.tpl +0 -0
  19. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.editorconfig +0 -0
  20. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/ISSUE_TEMPLATE/bug_report.md +0 -0
  21. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/ISSUE_TEMPLATE/config.yml +0 -0
  22. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/ISSUE_TEMPLATE/feature_request.md +0 -0
  23. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/PULL_REQUEST_TEMPLATE.md +0 -0
  24. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.github/workflows/ci.yml +0 -0
  25. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/.readthedocs.yaml +0 -0
  26. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/CODE_OF_CONDUCT.md +0 -0
  27. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/LICENSE.md +0 -0
  28. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/MANIFEST.in +0 -0
  29. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/README.md +0 -0
  30. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/SECURITY.md +0 -0
  31. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/admin.py +0 -0
  32. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/apps.py +0 -0
  33. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/exceptions.py +0 -0
  34. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/helpers/__init__.py +0 -0
  35. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/helpers/file_system.py +0 -0
  36. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/helpers/logger.py +0 -0
  37. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/locale/de/LC_MESSAGES/django.mo +0 -0
  38. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/locale/de/LC_MESSAGES/django.po +0 -0
  39. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/__init__.py +0 -0
  40. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/commands/__init__.py +0 -0
  41. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/commands/handle_migration_zero_reset.py +0 -0
  42. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/management/commands/reset_local_migration_files.py +0 -0
  43. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/managers.py +0 -0
  44. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/migrations/0001_initial.py +0 -0
  45. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/migrations/__init__.py +0 -0
  46. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/models.py +0 -0
  47. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/services/__init__.py +0 -0
  48. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/services/deployment.py +0 -0
  49. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/django_migration_zero/services/local.py +0 -0
  50. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/Makefile +0 -0
  51. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/01_introduction.md +0 -0
  52. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/02_configuration.md +0 -0
  53. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/03_workflow.md +0 -0
  54. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/04_common_issues_and_solutions.md +0 -0
  55. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/05_architecture.md +0 -0
  56. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/06_management_commands.md +0 -0
  57. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/features/07_changelog.rst +0 -0
  58. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/index.rst +0 -0
  59. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/docs/make.bat +0 -0
  60. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/manage.py +0 -0
  61. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/scripts/unix/publish_to_pypi.sh +0 -0
  62. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/scripts/windows/publish_to_pypi.ps1 +0 -0
  63. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/settings.py +0 -0
  64. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/__init__.py +0 -0
  65. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/nested_app/__init__.py +0 -0
  66. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/nested_app/migrations/__init__.py +0 -0
  67. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/testapp/urls.py +0 -0
  68. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/__init__.py +0 -0
  69. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/helpers/__init__.py +0 -0
  70. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/helpers/test_file_system.py +0 -0
  71. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/helpers/test_logger.py +0 -0
  72. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/__init__.py +0 -0
  73. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/commands/__init__.py +0 -0
  74. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/commands/test_handle_migration_zero_reset.py +0 -0
  75. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/management/commands/test_reset_local_migration_files.py +0 -0
  76. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/services/__init__.py +0 -0
  77. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/services/test_deployment.py +0 -0
  78. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/services/test_local.py +0 -0
  79. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/test_admin.py +0 -0
  80. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/test_managers.py +0 -0
  81. {django_migration_zero-2.5.0 → django_migration_zero-2.6.0}/tests/test_models.py +0 -0
@@ -7,12 +7,12 @@ jobs:
7
7
  linting:
8
8
  runs-on: ubuntu-24.04
9
9
  steps:
10
- - uses: actions/checkout@v6
10
+ - uses: actions/checkout@v7
11
11
 
12
- - name: Set up Python 3.14
13
- uses: actions/setup-python@v6
12
+ - name: Set up Python 3.15
13
+ uses: actions/setup-python@v7
14
14
  with:
15
- python-version: "3.14"
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@v6
27
+ - uses: actions/checkout@v7
28
28
 
29
- - uses: actions/setup-python@v6
29
+ - uses: actions/setup-python@v7
30
30
  with:
31
- python-version: '3.14'
31
+ python-version: '3.15'
32
32
 
33
33
  - name: Install dependencies
34
- run: python -m pip install -U uv && uv sync --frozen --extra dev
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@v6
59
+ - uses: actions/checkout@v7
56
60
  - name: setup python
57
- uses: actions/setup-python@v6
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@v8.0.0
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@v6
87
+ - uses: actions/checkout@v7
84
88
 
85
- - uses: actions/setup-python@v6
89
+ - uses: actions/setup-python@v7
86
90
  with:
87
- python-version: '3.14'
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@v6
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@v6
44
+ - uses: actions/checkout@v7
45
45
 
46
- - name: Set up Python 3.14
47
- uses: actions/setup-python@v6
46
+ - name: Set up Python 3.15
47
+ uses: actions/setup-python@v7
48
48
  with:
49
- python-version: "3.14"
49
+ python-version: "3.15"
50
50
 
51
51
  - name: Install uv
52
- uses: astral-sh/setup-uv@v8.0.0
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.3.0
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.16.4
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.5.1
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.21.2
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.32.0
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.9.0
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 --frozen --extra dev`
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 for both, frontend and backend, in your local
40
- [`.git/hooks`](./.git/hooks) folder.
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.5.0
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.3; extra == 'dev'
57
- Requires-Dist: pytest-cov~=7.0; extra == 'dev'
58
- Requires-Dist: pytest-django~=4.11; extra == 'dev'
59
- Requires-Dist: pytest-mock~=3.15; extra == 'dev'
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.0; extra == 'dev'
62
- Requires-Dist: sphinx~=7.4; extra == 'dev'
63
- Requires-Dist: typer~=0.19; extra == 'dev'
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.9; extra == 'dev'
66
+ Requires-Dist: uv~=0.13; extra == 'dev'
66
67
  Description-Content-Type: text/markdown
67
68
 
68
69
  [![PyPI release](https://img.shields.io/pypi/v/django-migration-zero.svg)](https://pypi.org/project/django-migration-zero/)
@@ -3,4 +3,4 @@
3
3
  Holistic implementation of "migration zero" pattern for Django covering local changes and in-production database adjustments.
4
4
  """
5
5
 
6
- __version__ = "2.5.0"
6
+ __version__ = "2.6.0"
@@ -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
- "display_version": False,
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.19',
41
- 'pytest-cov~=7.0',
42
- 'pytest-django~=4.11',
43
- 'pytest-mock~=3.15',
44
- 'pre-commit~=4.3',
45
- 'sphinx~=7.4',
46
- 'sphinx-rtd-theme~=3.0',
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.9',
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 syncs from the lockfile and ignores "deps", so every environment below
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 = [
@@ -1,3 +1,3 @@
1
1
  #!/bin/bash
2
2
  pip install -U uv
3
- uv sync --frozen --extra dev
3
+ uv sync --extra dev
@@ -0,0 +1,2 @@
1
+ pip install -U uv
2
+ uv sync --extra dev
@@ -1,2 +0,0 @@
1
- pip install -U uv
2
- uv sync --frozen --extra dev