django-migration-zero 2.3.2__tar.gz → 2.3.5__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 (73) hide show
  1. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.github/workflows/ci.yml +13 -5
  2. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.pre-commit-config.yaml +17 -6
  3. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/CHANGES.md +12 -0
  4. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/PKG-INFO +11 -10
  5. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/README.md +1 -1
  6. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/__init__.py +1 -1
  7. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/pyproject.toml +44 -8
  8. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/scripts/unix/publish_to_pypi.sh +1 -1
  9. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/scripts/windows/publish_to_pypi.ps1 +1 -1
  10. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/helpers/test_file_system.py +12 -0
  11. django_migration_zero-2.3.2/.coveragerc +0 -17
  12. django_migration_zero-2.3.2/setup.cfg +0 -18
  13. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.ambient-package-update/metadata.py +0 -0
  14. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.ambient-package-update/templates/snippets/content.tpl +0 -0
  15. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.ambient-package-update/templates/snippets/installation.tpl +0 -0
  16. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.ambient-package-update/templates/snippets/tagline.tpl +0 -0
  17. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.editorconfig +0 -0
  18. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.gitignore +0 -0
  19. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/.readthedocs.yaml +0 -0
  20. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/LICENSE.md +0 -0
  21. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/MANIFEST.in +0 -0
  22. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/SECURITY.md +0 -0
  23. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/admin.py +0 -0
  24. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/apps.py +0 -0
  25. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/exceptions.py +0 -0
  26. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/helpers/__init__.py +0 -0
  27. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/helpers/file_system.py +0 -0
  28. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/helpers/logger.py +0 -0
  29. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/locale/de/LC_MESSAGES/django.mo +0 -0
  30. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/locale/de/LC_MESSAGES/django.po +0 -0
  31. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/management/__init__.py +0 -0
  32. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/management/commands/__init__.py +0 -0
  33. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/management/commands/handle_migration_zero_reset.py +0 -0
  34. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/management/commands/reset_local_migration_files.py +0 -0
  35. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/managers.py +0 -0
  36. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/migrations/0001_initial.py +0 -0
  37. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/migrations/__init__.py +0 -0
  38. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/models.py +0 -0
  39. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/services/__init__.py +0 -0
  40. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/services/deployment.py +0 -0
  41. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/django_migration_zero/services/local.py +0 -0
  42. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/Makefile +0 -0
  43. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/conf.py +0 -0
  44. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/features/01_introduction.md +0 -0
  45. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/features/02_configuration.md +0 -0
  46. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/features/03_workflow.md +0 -0
  47. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/features/04_common_issues_and_solutions.md +0 -0
  48. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/features/05_architecture.md +0 -0
  49. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/features/06_management_commands.md +0 -0
  50. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/features/07_changelog.rst +0 -0
  51. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/index.rst +0 -0
  52. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/docs/make.bat +0 -0
  53. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/manage.py +0 -0
  54. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/scripts/unix/install_requirements.sh +0 -0
  55. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/scripts/windows/install_requirements.ps1 +0 -0
  56. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/settings.py +0 -0
  57. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/testapp/__init__.py +0 -0
  58. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/testapp/nested_app/__init__.py +0 -0
  59. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/testapp/nested_app/migrations/__init__.py +0 -0
  60. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/testapp/urls.py +0 -0
  61. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/__init__.py +0 -0
  62. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/helpers/__init__.py +0 -0
  63. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/helpers/test_logger.py +0 -0
  64. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/management/__init__.py +0 -0
  65. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/management/commands/__init__.py +0 -0
  66. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/management/commands/test_handle_migration_zero_reset.py +0 -0
  67. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/management/commands/test_reset_local_migration_files.py +0 -0
  68. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/services/__init__.py +0 -0
  69. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/services/test_deployment.py +0 -0
  70. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/services/test_local.py +0 -0
  71. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/test_admin.py +0 -0
  72. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/test_managers.py +0 -0
  73. {django_migration_zero-2.3.2 → django_migration_zero-2.3.5}/tests/test_models.py +0 -0
@@ -2,7 +2,9 @@ name: Unit tests
2
2
 
3
3
  on:
4
4
  push:
5
- branches: [ '**' ]
5
+ branches:
6
+ - master
7
+ pull_request:
6
8
 
7
9
  jobs:
8
10
  linting:
@@ -20,7 +22,7 @@ jobs:
20
22
 
21
23
  - name: Run pre-commit hooks
22
24
  run: pre-commit run --all-files --hook-stage push
23
-
25
+
24
26
  validate_migrations:
25
27
  name: Validate migrations
26
28
  runs-on: ubuntu-22.04
@@ -42,7 +44,7 @@ jobs:
42
44
  runs-on: ubuntu-22.04
43
45
  strategy:
44
46
  matrix:
45
- python-version: ['3.9', '3.10', '3.11', '3.12', ]
47
+ python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', ]
46
48
  django-version: ['42', '50', '51', ]
47
49
 
48
50
  exclude:
@@ -67,7 +69,9 @@ jobs:
67
69
  uses: actions/upload-artifact@v4
68
70
  with:
69
71
  name: coverage-data-${{ matrix.python-version }}-${{ matrix.django-version }}
70
- path: '.coverage*'
72
+ path: '${{ github.workspace }}/.coverage.*'
73
+ include-hidden-files: true
74
+ if-no-files-found: error
71
75
 
72
76
  coverage:
73
77
  name: Coverage
@@ -86,10 +90,14 @@ jobs:
86
90
  - name: Download data
87
91
  uses: actions/download-artifact@v4
88
92
  with:
89
- pattern: coverage-data*
93
+ path: ${{ github.workspace }}
94
+ pattern: coverage-data-*
90
95
  merge-multiple: true
91
96
 
92
97
  - name: Combine coverage and fail if it's <100.0%
93
98
  run: |
99
+ python -m coverage combine
94
100
  python -m coverage html --skip-covered --skip-empty
95
101
  python -m coverage report --fail-under=100.0
102
+ echo "## Coverage summary" >> $GITHUB_STEP_SUMMARY
103
+ python -m coverage report --format=markdown >> $GITHUB_STEP_SUMMARY
@@ -3,7 +3,7 @@
3
3
 
4
4
  repos:
5
5
  - repo: https://github.com/astral-sh/ruff-pre-commit
6
- rev: v0.6.4
6
+ rev: v0.6.9
7
7
  hooks:
8
8
  # Run the Ruff linter.
9
9
  - id: ruff
@@ -12,7 +12,7 @@ repos:
12
12
  - id: ruff-format
13
13
 
14
14
  - repo: https://github.com/adamchainz/blacken-docs
15
- rev: 1.18.0
15
+ rev: 1.19.0
16
16
  hooks:
17
17
  - id: blacken-docs
18
18
  additional_dependencies:
@@ -20,15 +20,26 @@ repos:
20
20
  files: '(?:README\.md|docs\/.*\.(?:md|rst))'
21
21
 
22
22
  - repo: https://github.com/asottile/pyupgrade
23
- rev: v3.17.0
23
+ rev: v3.18.0
24
24
  hooks:
25
25
  - id: pyupgrade
26
26
  args: [ --py39-plus ]
27
- stages: [ push ]
27
+ stages: [ pre-push ]
28
28
 
29
29
  - repo: https://github.com/adamchainz/django-upgrade
30
- rev: 1.21.0
30
+ rev: 1.22.1
31
31
  hooks:
32
32
  - id: django-upgrade
33
33
  args: [--target-version, "4.2"]
34
- stages: [ push ]
34
+ stages: [ pre-push ]
35
+
36
+ - repo: https://github.com/adamchainz/djade-pre-commit
37
+ rev: 1.3.0
38
+ hooks:
39
+ - id: djade
40
+ args: [--target-version, "4.2"]
41
+ exclude: |
42
+ (?x)^(
43
+ charts/.*
44
+ |.*\.py
45
+ )$
@@ -1,5 +1,17 @@
1
1
  # Changelog
2
2
 
3
+ * *2.3.5* (2024-10-14)
4
+ * Added Python 3.13 support
5
+ * Added Djade linter to pre-commit
6
+ * Improved GitHub action triggers
7
+ * Updated dev dependencies and linters
8
+
9
+ * *2.3.4* (2024-09-11)
10
+ * Added GitHub action trigger for PRs
11
+
12
+ * *2.3.3* (2024-09-11)
13
+ * Fixed coverage setup due to changes at GitHub
14
+
3
15
  * *2.3.2* (2024-09-11)
4
16
  * Fixed package name
5
17
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-migration-zero
3
- Version: 2.3.2
3
+ Version: 2.3.5
4
4
  Summary: Holistic implementation of "migration zero" pattern for Django covering local changes and in-production database adjustments.
5
5
  Author-email: Ambient Digital <hello@ambient.digital>
6
6
  Description-Content-Type: text/markdown
@@ -20,21 +20,22 @@ Classifier: Programming Language :: Python :: 3.9
20
20
  Classifier: Programming Language :: Python :: 3.10
21
21
  Classifier: Programming Language :: Python :: 3.11
22
22
  Classifier: Programming Language :: Python :: 3.12
23
+ Classifier: Programming Language :: Python :: 3.13
23
24
  Classifier: Topic :: Utilities
24
25
  Requires-Dist: Django>=4.2
25
- Requires-Dist: typer~=0.9 ; extra == "dev"
26
- Requires-Dist: freezegun~=1.3 ; extra == "dev"
27
- Requires-Dist: pytest-django~=4.7 ; extra == "dev"
28
- Requires-Dist: pytest-mock~=3.12 ; extra == "dev"
29
- Requires-Dist: coverage~=7.3 ; extra == "dev"
30
- Requires-Dist: pre-commit~=3.7 ; extra == "dev"
31
- Requires-Dist: ruff~=0.4 ; extra == "dev"
26
+ Requires-Dist: typer~=0.12 ; extra == "dev"
27
+ Requires-Dist: freezegun~=1.5 ; extra == "dev"
28
+ Requires-Dist: pytest-django~=4.9 ; extra == "dev"
29
+ Requires-Dist: pytest-mock~=3.14 ; extra == "dev"
30
+ Requires-Dist: coverage~=7.6 ; extra == "dev"
31
+ Requires-Dist: pre-commit~=4.0 ; extra == "dev"
32
+ Requires-Dist: ruff~=0.6 ; extra == "dev"
32
33
  Requires-Dist: sphinx~=7.1 ; extra == "dev"
33
34
  Requires-Dist: sphinx-rtd-theme~=2.0 ; extra == "dev"
34
35
  Requires-Dist: m2r2==0.3.3.post2 ; extra == "dev"
35
36
  Requires-Dist: mistune<2.0.0 ; extra == "dev"
36
37
  Requires-Dist: flit~=3.9 ; extra == "dev"
37
- Requires-Dist: keyring~=25.2 ; extra == "dev"
38
+ Requires-Dist: keyring~=25.4 ; extra == "dev"
38
39
  Requires-Dist: ambient-package-update ; extra == "dev"
39
40
  Requires-Dist: unittest-parametrize~=1.3 ; extra == "dev"
40
41
  Project-URL: Bugtracker, https://github.com/ambient-innovation/django-migration-zero/issues
@@ -189,7 +190,7 @@ Example: run all hooks of pre-push stage
189
190
 
190
191
  ### Update documentation
191
192
 
192
- - To build the documentation run: `sphinx-build docs/ docs/_build/html/`.
193
+ - To build the documentation, run: `sphinx-build docs/ docs/_build/html/`.
193
194
  - Open `docs/_build/html/index.html` to see the documentation.
194
195
 
195
196
 
@@ -143,7 +143,7 @@ Example: run all hooks of pre-push stage
143
143
 
144
144
  ### Update documentation
145
145
 
146
- - To build the documentation run: `sphinx-build docs/ docs/_build/html/`.
146
+ - To build the documentation, run: `sphinx-build docs/ docs/_build/html/`.
147
147
  - Open `docs/_build/html/index.html` to see the documentation.
148
148
 
149
149
 
@@ -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.3.2"
6
+ __version__ = "2.3.5"
@@ -25,6 +25,7 @@ classifiers = [
25
25
  "Programming Language :: Python :: 3.10",
26
26
  "Programming Language :: Python :: 3.11",
27
27
  "Programming Language :: Python :: 3.12",
28
+ "Programming Language :: Python :: 3.13",
28
29
  "Topic :: Utilities",
29
30
  ]
30
31
  dynamic = ["version", "description"]
@@ -36,19 +37,19 @@ dependencies = [
36
37
 
37
38
  [project.optional-dependencies]
38
39
  dev = [
39
- 'typer~=0.9',
40
- 'freezegun~=1.3',
41
- 'pytest-django~=4.7',
42
- 'pytest-mock~=3.12',
43
- 'coverage~=7.3',
44
- 'pre-commit~=3.7',
45
- 'ruff~=0.4',
40
+ 'typer~=0.12',
41
+ 'freezegun~=1.5',
42
+ 'pytest-django~=4.9',
43
+ 'pytest-mock~=3.14',
44
+ 'coverage~=7.6',
45
+ 'pre-commit~=4.0',
46
+ 'ruff~=0.6',
46
47
  'sphinx~=7.1',
47
48
  'sphinx-rtd-theme~=2.0',
48
49
  'm2r2==0.3.3.post2',
49
50
  'mistune<2.0.0',
50
51
  'flit~=3.9',
51
- 'keyring~=25.2',
52
+ 'keyring~=25.4',
52
53
  'ambient-package-update',
53
54
  'unittest-parametrize~=1.3',
54
55
  ]
@@ -189,6 +190,7 @@ python =
189
190
  3.10: py310
190
191
  3.11: py311
191
192
  3.12: py312
193
+ 3.13: py313
192
194
  """
193
195
 
194
196
  [tool.pytest.ini_options]
@@ -197,3 +199,37 @@ python_files = [
197
199
  "test_*.py",
198
200
  "*_tests.py",
199
201
  ]
202
+
203
+ [tool.coverage.run]
204
+ branch = true
205
+ parallel = true
206
+ source = [
207
+ "django_migration_zero",
208
+ "tests",
209
+ ]
210
+ omit = [
211
+ "setup.py",
212
+ "*_test.py",
213
+ "tests.py",
214
+ "testapp/*",
215
+ "tests/*",
216
+ ]
217
+
218
+ [tool.coverage.report]
219
+ precision = 2
220
+ show_missing = true
221
+ # Regexes for lines to exclude from consideration
222
+ exclude_also = [
223
+ # Don't complain if tests don't hit defensive assertion code:
224
+ "raise AssertionError",
225
+ "raise NotImplementedError",
226
+ # Don't check type hinting imports
227
+ "if typing.TYPE_CHECKING:",
228
+ "if TYPE_CHECKING:",
229
+ ]
230
+
231
+ [tool.coverage.path]
232
+ source = [
233
+ "django_migration_zero",
234
+ ".tox/**/site-packages",
235
+ ]
@@ -1,2 +1,2 @@
1
1
  flit publish --repository testpypi
2
- flit publish
2
+ flit publish
@@ -1,2 +1,2 @@
1
1
  flit publish --repository testpypi
2
- flit publish
2
+ flit publish
@@ -1,3 +1,4 @@
1
+ import os
1
2
  from pathlib import Path
2
3
  from unittest import mock
3
4
 
@@ -66,6 +67,17 @@ class HelperFileSystemTest(TestCase):
66
67
  [],
67
68
  )
68
69
 
70
+ @mock.patch.object(os, "listdir", return_value=["0002_my_migration.py"])
71
+ def test_get_migration_files_exclude_initials_no_initials(self, *args):
72
+ self.assertEqual(
73
+ get_migration_files(
74
+ app_label=self.django_migration_zero_config.label,
75
+ app_path=Path(self.django_migration_zero_config.path),
76
+ exclude_initials=True,
77
+ ),
78
+ ["0002_my_migration.py"],
79
+ )
80
+
69
81
  @mock.patch("django_migration_zero.helpers.file_system.os.unlink")
70
82
  def test_delete_file_regular(self, mocked_unlink):
71
83
  delete_file(app_path=Path(self.testapp_config.path), filename="my_file.py")
@@ -1,17 +0,0 @@
1
- [run]
2
- omit =
3
- setup.py,
4
- *_test.py,
5
- tests.py,
6
- testapp/*
7
- tests/*,
8
- conftest.py
9
-
10
- [report]
11
- precision = 2
12
- show_missing = True
13
- exclude_lines =
14
- # Don't complain if tests don't hit defensive assertion code:
15
- raise NotImplementedError
16
- # Ignore type checking conditions
17
- if TYPE_CHECKING:
@@ -1,18 +0,0 @@
1
- [metadata]
2
- description-file = README.md
3
- license-file = LICENSE.md
4
-
5
- [coverage:run]
6
- branch = True
7
- parallel = True
8
- source =
9
- django_migration_zero
10
- tests
11
-
12
- [coverage:paths]
13
- source =
14
- django_migration_zero
15
- .tox/**/site-packages
16
-
17
- [coverage:report]
18
- show_missing = True