django-migration-zero 2.3.6__tar.gz → 2.3.8__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 (72) hide show
  1. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.ambient-package-update/metadata.py +3 -3
  2. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.editorconfig +0 -1
  3. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.github/workflows/ci.yml +4 -2
  4. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.gitignore +17 -21
  5. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.pre-commit-config.yaml +9 -11
  6. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/CHANGES.md +6 -0
  7. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/MANIFEST.in +1 -1
  8. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/PKG-INFO +9 -9
  9. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/README.md +6 -6
  10. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/__init__.py +1 -1
  11. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/conf.py +2 -2
  12. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/pyproject.toml +30 -4
  13. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/scripts/unix/install_requirements.sh +1 -0
  14. django_migration_zero-2.3.8/scripts/unix/publish_to_pypi.sh +3 -0
  15. django_migration_zero-2.3.6/scripts/unix/publish_to_pypi.sh +0 -2
  16. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.ambient-package-update/templates/snippets/content.tpl +0 -0
  17. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.ambient-package-update/templates/snippets/installation.tpl +0 -0
  18. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.ambient-package-update/templates/snippets/tagline.tpl +0 -0
  19. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/.readthedocs.yaml +0 -0
  20. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/LICENSE.md +0 -0
  21. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/SECURITY.md +0 -0
  22. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/admin.py +0 -0
  23. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/apps.py +0 -0
  24. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/exceptions.py +0 -0
  25. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/helpers/__init__.py +0 -0
  26. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/helpers/file_system.py +0 -0
  27. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/helpers/logger.py +0 -0
  28. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/locale/de/LC_MESSAGES/django.mo +0 -0
  29. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/locale/de/LC_MESSAGES/django.po +0 -0
  30. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/management/__init__.py +0 -0
  31. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/management/commands/__init__.py +0 -0
  32. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/management/commands/handle_migration_zero_reset.py +0 -0
  33. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/management/commands/reset_local_migration_files.py +0 -0
  34. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/managers.py +0 -0
  35. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/migrations/0001_initial.py +0 -0
  36. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/migrations/__init__.py +0 -0
  37. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/models.py +0 -0
  38. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/services/__init__.py +0 -0
  39. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/services/deployment.py +0 -0
  40. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/django_migration_zero/services/local.py +0 -0
  41. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/Makefile +0 -0
  42. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/features/01_introduction.md +0 -0
  43. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/features/02_configuration.md +0 -0
  44. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/features/03_workflow.md +0 -0
  45. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/features/04_common_issues_and_solutions.md +0 -0
  46. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/features/05_architecture.md +0 -0
  47. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/features/06_management_commands.md +0 -0
  48. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/features/07_changelog.rst +0 -0
  49. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/index.rst +0 -0
  50. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/docs/make.bat +0 -0
  51. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/manage.py +0 -0
  52. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/scripts/windows/install_requirements.ps1 +0 -0
  53. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/scripts/windows/publish_to_pypi.ps1 +0 -0
  54. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/settings.py +0 -0
  55. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/testapp/__init__.py +0 -0
  56. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/testapp/nested_app/__init__.py +0 -0
  57. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/testapp/nested_app/migrations/__init__.py +0 -0
  58. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/testapp/urls.py +0 -0
  59. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/__init__.py +0 -0
  60. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/helpers/__init__.py +0 -0
  61. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/helpers/test_file_system.py +0 -0
  62. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/helpers/test_logger.py +0 -0
  63. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/management/__init__.py +0 -0
  64. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/management/commands/__init__.py +0 -0
  65. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/management/commands/test_handle_migration_zero_reset.py +0 -0
  66. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/management/commands/test_reset_local_migration_files.py +0 -0
  67. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/services/__init__.py +0 -0
  68. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/services/test_deployment.py +0 -0
  69. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/services/test_local.py +0 -0
  70. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/test_admin.py +0 -0
  71. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/test_managers.py +0 -0
  72. {django_migration_zero-2.3.6 → django_migration_zero-2.3.8}/tests/test_models.py +0 -0
@@ -11,7 +11,7 @@ from ambient_package_update.metadata.readme import ReadmeContent
11
11
  from ambient_package_update.metadata.ruff_ignored_inspection import RuffIgnoredInspection
12
12
 
13
13
  METADATA = PackageMetadata(
14
- package_name="django_migration_zero",
14
+ package_name="django-migration-zero",
15
15
  github_package_group="ambient-innovation",
16
16
  authors=[
17
17
  PackageAuthor(
@@ -20,7 +20,7 @@ METADATA = PackageMetadata(
20
20
  ),
21
21
  ],
22
22
  maintainer=PackageMaintainer(name="Ambient Digital", url="https://ambient.digital/", email="hello@ambient.digital"),
23
- company="Ambient Innovation: GmbH",
23
+ licenser="Ambient Innovation: GmbH",
24
24
  license=LICENSE_MIT,
25
25
  license_year=2023,
26
26
  development_status="5 - Production/Stable",
@@ -32,7 +32,7 @@ METADATA = PackageMetadata(
32
32
  supported_django_versions=SUPPORTED_DJANGO_VERSIONS,
33
33
  supported_python_versions=SUPPORTED_PYTHON_VERSIONS,
34
34
  optional_dependencies={
35
- "dev": [*DEV_DEPENDENCIES, "unittest-parametrize~=1.3"],
35
+ "dev": [*DEV_DEPENDENCIES, "unittest-parametrize~=1.3", "freezegun~=1.5"],
36
36
  },
37
37
  ruff_ignore_list=[
38
38
  RuffIgnoredInspection(key="TRY003", comment="Avoid specifying long messages outside the exception class"),
@@ -11,7 +11,6 @@ trim_trailing_whitespace = true
11
11
  [*.{py,rst,ini}]
12
12
  indent_style = space
13
13
  indent_size = 4
14
- ij_continuation_indent_size = 8
15
14
 
16
15
  [*.yml]
17
16
  indent_style = space
@@ -45,13 +45,15 @@ jobs:
45
45
  strategy:
46
46
  matrix:
47
47
  python-version: ['3.9', '3.10', '3.11', '3.12', '3.13', ]
48
- django-version: ['42', '50', '51', ]
48
+ django-version: ['42', '51', '52', ]
49
49
 
50
50
  exclude:
51
51
  - python-version: '3.9'
52
- django-version: 50
52
+ django-version: 52
53
53
  - python-version: '3.9'
54
54
  django-version: 51
55
+ - python-version: "3.13"
56
+ django-version: 42
55
57
 
56
58
  steps:
57
59
  - uses: actions/checkout@v4
@@ -52,6 +52,7 @@ coverage.xml
52
52
  cover/
53
53
 
54
54
  # Translations
55
+ *.mo
55
56
  *.pot
56
57
 
57
58
  # Django stuff:
@@ -81,25 +82,6 @@ target/
81
82
  profile_default/
82
83
  ipython_config.py
83
84
 
84
- # pyenv
85
- # For a library or package, you might want to ignore these files since the code is
86
- # intended to run in multiple environments; otherwise, check them in:
87
- # .python-version
88
-
89
- # pipenv
90
- # According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
91
- # However, in case of collaboration, if having platform-specific dependencies or dependencies
92
- # having no cross-platform support, pipenv may install dependencies that don't work, or not
93
- # install all needed dependencies.
94
- #Pipfile.lock
95
-
96
- # poetry
97
- # Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
98
- # This is especially recommended for binary packages to ensure reproducibility, and is more
99
- # commonly ignored for libraries.
100
- # https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
101
- #poetry.lock
102
-
103
85
  # pdm
104
86
  # Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
105
87
  #pdm.lock
@@ -154,9 +136,23 @@ cython_debug/
154
136
  # PyCharm
155
137
  # JetBrains specific template is maintained in a separate JetBrains.gitignore that can
156
138
  # be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
157
- # and can be added to the global gitignore or merged into this file. For a more nuclear
139
+ # and can be added to the global gitignore or merged into this file. For a more nuclear
158
140
  # option (not recommended) you can uncomment the following to ignore the entire idea folder.
159
141
  .idea/
160
142
 
161
- # pip-tools take care of this
143
+ # Requirements.txt is managed by pip-tools
162
144
  requirements.txt
145
+
146
+ # sphinx build folder
147
+ _build
148
+
149
+ # Compiled source #
150
+ ###################
151
+ *.com
152
+ *.class
153
+ *.dll
154
+ *.exe
155
+ *.o
156
+
157
+ # Test databases
158
+ *.sqlite
@@ -3,38 +3,36 @@
3
3
 
4
4
  repos:
5
5
  - repo: https://github.com/astral-sh/ruff-pre-commit
6
- rev: v0.6.9
6
+ rev: v0.11.2
7
7
  hooks:
8
+ # Run the Ruff formatter.
9
+ - id: ruff-format
8
10
  # Run the Ruff linter.
9
11
  - id: ruff
10
12
  args: [--fix, --exit-non-zero-on-fix]
11
- # Run the Ruff formatter.
12
- - id: ruff-format
13
13
 
14
14
  - repo: https://github.com/adamchainz/blacken-docs
15
- rev: 1.19.0
15
+ rev: 1.19.1
16
16
  hooks:
17
17
  - id: blacken-docs
18
18
  additional_dependencies:
19
- - black==24.4.2
20
- files: '(?:README\.md|docs\/.*\.(?:md|rst))'
19
+ - black==25.1.0
20
+ files: '(?:README\.md|\.ambient-package-update\/templates\/snippets\/.*\.tpl|docs\/.*\.(?:md|rst))'
21
21
 
22
22
  - repo: https://github.com/asottile/pyupgrade
23
- rev: v3.18.0
23
+ rev: v3.19.1
24
24
  hooks:
25
25
  - id: pyupgrade
26
26
  args: [ --py39-plus ]
27
- stages: [ pre-push ]
28
27
 
29
28
  - repo: https://github.com/adamchainz/django-upgrade
30
- rev: 1.22.1
29
+ rev: 1.24.0
31
30
  hooks:
32
31
  - id: django-upgrade
33
32
  args: [--target-version, "4.2"]
34
- stages: [ pre-push ]
35
33
 
36
34
  - repo: https://github.com/adamchainz/djade-pre-commit
37
- rev: 1.3.0
35
+ rev: 1.3.2
38
36
  hooks:
39
37
  - id: djade
40
38
  args: [--target-version, "4.2"]
@@ -1,5 +1,11 @@
1
1
  # Changelog
2
2
 
3
+ **2.3.8** (2025-04-03)
4
+ * Maintenance updates via ambient-package-update
5
+
6
+ **2.3.7** (2025-02-15)
7
+ * Maintenance updates via ambient-package-update
8
+
3
9
  * *2.3.6* (2024-11-15)
4
10
  * Internal updates via `ambient-package-update`
5
11
 
@@ -1,4 +1,4 @@
1
1
  include README.md
2
2
  include LICENSE.md
3
3
  recursive-exclude * *.pyc
4
- recursive-include django_migration_zero *.py *.html *.js *.cfg *.mo *.po
4
+ recursive-include django-migration-zero *.py *.html *.js *.cfg *.mo *.po
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-migration-zero
3
- Version: 2.3.6
3
+ Version: 2.3.8
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
@@ -8,8 +8,8 @@ Classifier: Development Status :: 5 - Production/Stable
8
8
  Classifier: Environment :: Web Environment
9
9
  Classifier: Framework :: Django
10
10
  Classifier: Framework :: Django :: 4.2
11
- Classifier: Framework :: Django :: 5.0
12
11
  Classifier: Framework :: Django :: 5.1
12
+ Classifier: Framework :: Django :: 5.2
13
13
  Classifier: Intended Audience :: Developers
14
14
  Classifier: License :: OSI Approved :: MIT License
15
15
  Classifier: Natural Language :: English
@@ -24,7 +24,6 @@ Classifier: Programming Language :: Python :: 3.13
24
24
  Classifier: Topic :: Utilities
25
25
  Requires-Dist: Django>=4.2
26
26
  Requires-Dist: typer~=0.12 ; extra == "dev"
27
- Requires-Dist: freezegun~=1.5 ; extra == "dev"
28
27
  Requires-Dist: pytest-django~=4.9 ; extra == "dev"
29
28
  Requires-Dist: pytest-mock~=3.14 ; extra == "dev"
30
29
  Requires-Dist: coverage~=7.6 ; extra == "dev"
@@ -38,6 +37,7 @@ Requires-Dist: flit~=3.9 ; extra == "dev"
38
37
  Requires-Dist: keyring~=25.4 ; extra == "dev"
39
38
  Requires-Dist: ambient-package-update ; extra == "dev"
40
39
  Requires-Dist: unittest-parametrize~=1.3 ; extra == "dev"
40
+ Requires-Dist: freezegun~=1.5 ; extra == "dev"
41
41
  Project-URL: Bugtracker, https://github.com/ambient-innovation/django-migration-zero/issues
42
42
  Project-URL: Changelog, https://django-migration-zero.readthedocs.io/en/latest/features/changelog.html
43
43
  Project-URL: Documentation, https://django-migration-zero.readthedocs.io/en/latest/index.html
@@ -109,7 +109,7 @@ fixing squashed migrations you won't need, you can use the "migration zero" patt
109
109
  ````
110
110
  INSTALLED_APPS = (
111
111
  ...
112
- 'django_migration_zero',
112
+ 'django-migration-zero',
113
113
  )
114
114
  ````
115
115
 
@@ -182,7 +182,7 @@ You can check whether hooks work as intended using the [run](https://pre-commit.
182
182
 
183
183
  Example: run single hook
184
184
 
185
- pre-commit run ruff --all-files --hook-stage push
185
+ pre-commit run ruff --all-files
186
186
 
187
187
  Example: run all hooks of pre-push stage
188
188
 
@@ -228,12 +228,12 @@ How to compile translation files:
228
228
 
229
229
  - Create pull request / merge to master
230
230
 
231
- - This project uses the flit package to publish to PyPI. Thus publishing should be as easy as running:
231
+ - This project uses the flit package to publish to PyPI. Thus, publishing should be as easy as running:
232
232
  ```
233
233
  flit publish
234
234
  ```
235
235
 
236
- To publish to TestPyPI use the following ensure that you have set up your .pypirc as
236
+ To publish to TestPyPI use the following to ensure that you have set up your .pypirc as
237
237
  shown [here](https://flit.readthedocs.io/en/latest/upload.html#using-pypirc) and use the following command:
238
238
 
239
239
  ```
@@ -243,8 +243,8 @@ How to compile translation files:
243
243
  ### Maintenance
244
244
 
245
245
  Please note that this package supports the [ambient-package-update](https://pypi.org/project/ambient-package-update/).
246
- So you don't have to worry about the maintenance of this package. All important configuration and setup files are
247
- being rendered by this updater. It works similar to well-known updaters like `pyupgrade` or `django-upgrade`.
246
+ So you don't have to worry about the maintenance of this package. This updater is rendering all important
247
+ configuration and setup files. It works similar to well-known updaters like `pyupgrade` or `django-upgrade`.
248
248
 
249
249
  To run an update, refer to the [documentation page](https://pypi.org/project/ambient-package-update/)
250
250
  of the "ambient-package-update".
@@ -62,7 +62,7 @@ fixing squashed migrations you won't need, you can use the "migration zero" patt
62
62
  ````
63
63
  INSTALLED_APPS = (
64
64
  ...
65
- 'django_migration_zero',
65
+ 'django-migration-zero',
66
66
  )
67
67
  ````
68
68
 
@@ -135,7 +135,7 @@ You can check whether hooks work as intended using the [run](https://pre-commit.
135
135
 
136
136
  Example: run single hook
137
137
 
138
- pre-commit run ruff --all-files --hook-stage push
138
+ pre-commit run ruff --all-files
139
139
 
140
140
  Example: run all hooks of pre-push stage
141
141
 
@@ -181,12 +181,12 @@ How to compile translation files:
181
181
 
182
182
  - Create pull request / merge to master
183
183
 
184
- - This project uses the flit package to publish to PyPI. Thus publishing should be as easy as running:
184
+ - This project uses the flit package to publish to PyPI. Thus, publishing should be as easy as running:
185
185
  ```
186
186
  flit publish
187
187
  ```
188
188
 
189
- To publish to TestPyPI use the following ensure that you have set up your .pypirc as
189
+ To publish to TestPyPI use the following to ensure that you have set up your .pypirc as
190
190
  shown [here](https://flit.readthedocs.io/en/latest/upload.html#using-pypirc) and use the following command:
191
191
 
192
192
  ```
@@ -196,8 +196,8 @@ How to compile translation files:
196
196
  ### Maintenance
197
197
 
198
198
  Please note that this package supports the [ambient-package-update](https://pypi.org/project/ambient-package-update/).
199
- So you don't have to worry about the maintenance of this package. All important configuration and setup files are
200
- being rendered by this updater. It works similar to well-known updaters like `pyupgrade` or `django-upgrade`.
199
+ So you don't have to worry about the maintenance of this package. This updater is rendering all important
200
+ configuration and setup files. It works similar to well-known updaters like `pyupgrade` or `django-upgrade`.
201
201
 
202
202
  To run an update, refer to the [documentation page](https://pypi.org/project/ambient-package-update/)
203
203
  of the "ambient-package-update".
@@ -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.6"
6
+ __version__ = "2.3.8"
@@ -16,7 +16,7 @@ import sys
16
16
  import django
17
17
  from django.conf import settings
18
18
 
19
- sys.path.insert(0, os.path.abspath("..")) # so that we can access the "django_migration_zero" package
19
+ sys.path.insert(0, os.path.abspath("..")) # so that we can access the "django-migration-zero" package
20
20
  settings.configure(
21
21
  INSTALLED_APPS=[
22
22
  "django.contrib.admin",
@@ -36,7 +36,7 @@ from django_migration_zero import __version__ # noqa: E402
36
36
  # -- Project information -----------------------------------------------------
37
37
 
38
38
  project = "django-migration-zero"
39
- copyright = "2024, Ambient Innovation: GmbH" # noqa: A001
39
+ copyright = "2025, Ambient Innovation: GmbH" # noqa: A001
40
40
  author = "Ambient Digital <hello@ambient.digital>"
41
41
  version = __version__
42
42
  release = __version__
@@ -13,8 +13,8 @@ classifiers = [
13
13
  "Environment :: Web Environment",
14
14
  "Framework :: Django",
15
15
  "Framework :: Django :: 4.2",
16
- "Framework :: Django :: 5.0",
17
16
  "Framework :: Django :: 5.1",
17
+ "Framework :: Django :: 5.2",
18
18
  "Intended Audience :: Developers",
19
19
  "License :: OSI Approved :: MIT License",
20
20
  "Natural Language :: English",
@@ -35,10 +35,11 @@ dependencies = [
35
35
  ]
36
36
 
37
37
 
38
+
39
+
38
40
  [project.optional-dependencies]
39
41
  dev = [
40
42
  'typer~=0.12',
41
- 'freezegun~=1.5',
42
43
  'pytest-django~=4.9',
43
44
  'pytest-mock~=3.14',
44
45
  'coverage~=7.6',
@@ -52,6 +53,7 @@ dev = [
52
53
  'keyring~=25.4',
53
54
  'ambient-package-update',
54
55
  'unittest-parametrize~=1.3',
56
+ 'freezegun~=1.5',
55
57
  ]
56
58
 
57
59
  [tool.flit.module]
@@ -91,9 +93,10 @@ lint.select = [
91
93
  "ANN401", # Checks that function arguments are annotated with a more specific type than Any
92
94
  "TRY", # Clean try/except
93
95
  "ERA", # Commented out code
96
+ "INP" # Ban PEP-420 implicit namespace packages
94
97
  ]
95
98
  lint.ignore = [
96
- 'TRY003', # Avoid specifying long messages outside the exception class
99
+ "TRY003", # Avoid specifying long messages outside the exception class
97
100
  ]
98
101
 
99
102
  # Allow autofix for all enabled rules (when `--fix`) is provided.
@@ -123,6 +126,7 @@ lint.fixable = [
123
126
  "ANN401", # Checks that function arguments are annotated with a more specific type than Any
124
127
  "TRY", # Clean try/except
125
128
  "ERA", # Commented out code
129
+ "INP" # Ban PEP-420 implicit namespace packages
126
130
  ]
127
131
  lint.unfixable = []
128
132
 
@@ -172,14 +176,36 @@ skip-magic-trailing-comma = false
172
176
  # Like Black, automatically detect the appropriate line ending.
173
177
  line-ending = "auto"
174
178
 
179
+ [tool.ruff.lint.per-file-ignores]
180
+ "**/__init__.py" = [
181
+ # Allow seemingly unused imports
182
+ "F401",
183
+ ]
184
+ "**/tests/**/test_*.py" = [
185
+ # Allow boolean positional params in tests (for assertIs())
186
+ "FBT003",
187
+ ]
188
+ "scripts/*.py" = [
189
+ # Checks for packages that are missing an __init__.py file
190
+ "INP001",
191
+ ]
192
+ ".ambient-package-update/*.py" = [
193
+ # Checks for packages that are missing an __init__.py file
194
+ "INP001",
195
+ ]
196
+ "docs/*.py" = [
197
+ # Checks for packages that are missing an __init__.py file
198
+ "INP001",
199
+ ]
200
+
175
201
  [tool.tox]
176
202
  legacy_tox_ini = """
177
203
  [testenv]
178
204
  # Django deprecation overview: https://www.djangoproject.com/download/
179
205
  deps =
180
206
  django42: Django==4.2.*
181
- django50: Django==5.0.*
182
207
  django51: Django==5.1.*
208
+ django52: Django==5.2.*
183
209
  extras = dev,
184
210
  commands =
185
211
  coverage run -m pytest --ds settings tests
@@ -1,3 +1,4 @@
1
+ #!/bin/bash
1
2
  pip install -U pip-tools
2
3
  pip-compile --extra dev, -o requirements.txt pyproject.toml --resolver=backtracking
3
4
  pip-sync
@@ -0,0 +1,3 @@
1
+ #!/bin/bash
2
+ flit publish --repository testpypi
3
+ flit publish
@@ -1,2 +0,0 @@
1
- flit publish --repository testpypi
2
- flit publish