django-queuebie 0.3.1__tar.gz → 0.3.4__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_queuebie-0.3.4/.ambient-package-update/templates/snippets/tagline.tpl +1 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/.github/workflows/ci.yml +3 -5
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/.pre-commit-config.yaml +18 -13
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/CHANGES.md +9 -0
- django_queuebie-0.3.4/CONTRIBUTING.md +77 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/PKG-INFO +8 -88
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/README.md +1 -81
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/SECURITY.md +1 -1
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/pyproject.toml +10 -8
- django_queuebie-0.3.4/queuebie/__init__.py +8 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/registry.py +1 -1
- django_queuebie-0.3.1/.ambient-package-update/templates/snippets/tagline.tpl +0 -1
- django_queuebie-0.3.1/queuebie/__init__.py +0 -8
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/.ambient-package-update/metadata.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/.ambient-package-update/templates/snippets/content.tpl +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/.editorconfig +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/.gitignore +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/.readthedocs.yaml +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/LICENSE +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/LICENSE.md +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/MANIFEST.in +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/Makefile +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/conf.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/features/changelog.rst +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/features/getting-started.md +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/features/introduction.md +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/features/motivation.md +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/features/settings.md +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/features/setup.md +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/index.rst +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/docs/make.bat +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/manage.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/apps.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/database_blocker.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/exceptions.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/logger.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/management/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/management/commands/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/management/commands/clear_queuebie_registry.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/messages.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/runner.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/settings.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/queuebie/utils.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/scripts/unix/install_requirements.sh +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/scripts/unix/publish_to_pypi.sh +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/scripts/windows/install_requirements.ps1 +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/scripts/windows/publish_to_pypi.ps1 +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/settings.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/handlers/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/handlers/commands/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/handlers/commands/testapp.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/handlers/events/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/handlers/events/testapp.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/messages/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/messages/commands/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/messages/commands/my_commands.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/messages/commands/other_commands.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/messages/events/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/messages/events/my_events.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/testapp/urls.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/helpers/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/helpers/commands.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/helpers/events.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/management_commands/__init__.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/management_commands/test_clear_queuebie_registry.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_apps.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_database_blocker.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_exceptions.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_logger.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_messages.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_registry.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_runner.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_settings.py +0 -0
- {django_queuebie-0.3.1 → django_queuebie-0.3.4}/tests/test_utils.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
A simple and synchronous message queue for commands and events for Django.
|
|
@@ -21,7 +21,7 @@ jobs:
|
|
|
21
21
|
run: pip install pre-commit
|
|
22
22
|
|
|
23
23
|
- name: Run pre-commit hooks
|
|
24
|
-
run: pre-commit run --all-files
|
|
24
|
+
run: pre-commit run --all-files
|
|
25
25
|
|
|
26
26
|
|
|
27
27
|
tests:
|
|
@@ -30,17 +30,15 @@ jobs:
|
|
|
30
30
|
strategy:
|
|
31
31
|
matrix:
|
|
32
32
|
python-version: ['3.10', '3.11', '3.12', '3.13', ]
|
|
33
|
-
django-version: ['42', '
|
|
33
|
+
django-version: ['42', '51', '52', ]
|
|
34
34
|
|
|
35
35
|
exclude:
|
|
36
36
|
- python-version: '3.9'
|
|
37
|
-
django-version:
|
|
37
|
+
django-version: 52
|
|
38
38
|
- python-version: '3.9'
|
|
39
39
|
django-version: 51
|
|
40
40
|
- python-version: "3.13"
|
|
41
41
|
django-version: 42
|
|
42
|
-
- python-version: "3.13"
|
|
43
|
-
django-version: 50
|
|
44
42
|
|
|
45
43
|
steps:
|
|
46
44
|
- uses: actions/checkout@v4
|
|
@@ -3,12 +3,12 @@
|
|
|
3
3
|
|
|
4
4
|
repos:
|
|
5
5
|
- repo: https://github.com/astral-sh/ruff-pre-commit
|
|
6
|
-
rev: v0.
|
|
6
|
+
rev: v0.11.11
|
|
7
7
|
hooks:
|
|
8
8
|
# Run the Ruff formatter.
|
|
9
9
|
- id: ruff-format
|
|
10
10
|
# Run the Ruff linter.
|
|
11
|
-
- id: ruff
|
|
11
|
+
- id: ruff-check
|
|
12
12
|
args: [--fix, --exit-non-zero-on-fix]
|
|
13
13
|
|
|
14
14
|
- repo: https://github.com/adamchainz/blacken-docs
|
|
@@ -16,23 +16,23 @@ repos:
|
|
|
16
16
|
hooks:
|
|
17
17
|
- id: blacken-docs
|
|
18
18
|
additional_dependencies:
|
|
19
|
-
- black==
|
|
19
|
+
- black==25.1.0
|
|
20
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.
|
|
23
|
+
rev: v3.20.0
|
|
24
24
|
hooks:
|
|
25
25
|
- id: pyupgrade
|
|
26
26
|
args: [ --py310-plus ]
|
|
27
27
|
|
|
28
28
|
- repo: https://github.com/adamchainz/django-upgrade
|
|
29
|
-
rev: 1.
|
|
29
|
+
rev: 1.25.0
|
|
30
30
|
hooks:
|
|
31
31
|
- id: django-upgrade
|
|
32
32
|
args: [--target-version, "4.2"]
|
|
33
33
|
|
|
34
34
|
- repo: https://github.com/adamchainz/djade-pre-commit
|
|
35
|
-
rev: 1.
|
|
35
|
+
rev: 1.4.0
|
|
36
36
|
hooks:
|
|
37
37
|
- id: djade
|
|
38
38
|
args: [--target-version, "4.2"]
|
|
@@ -45,10 +45,15 @@ repos:
|
|
|
45
45
|
- repo: https://github.com/pre-commit/pre-commit-hooks
|
|
46
46
|
rev: v5.0.0
|
|
47
47
|
hooks:
|
|
48
|
-
- id:
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
48
|
+
- id: check-ast
|
|
49
|
+
- id: check-builtin-literals
|
|
50
|
+
- id: check-case-conflict
|
|
51
|
+
- id: check-docstring-first
|
|
52
|
+
- id: check-executables-have-shebangs
|
|
53
|
+
- id: check-json
|
|
54
|
+
- id: check-merge-conflict
|
|
55
|
+
- id: check-toml
|
|
56
|
+
- id: end-of-file-fixer
|
|
57
|
+
- id: fix-byte-order-marker
|
|
58
|
+
- id: mixed-line-ending
|
|
59
|
+
- id: trailing-whitespace
|
|
@@ -1,5 +1,14 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
**0.3.4** (2025-05-29)
|
|
4
|
+
* Maintenance updates via ambient-package-update
|
|
5
|
+
|
|
6
|
+
**0.3.3** (2025-04-03)
|
|
7
|
+
* Clarified package tagline
|
|
8
|
+
|
|
9
|
+
**0.3.2** (2025-04-03)
|
|
10
|
+
* Maintenance updates via ambient-package-update
|
|
11
|
+
|
|
3
12
|
* *0.3.1* (2025-03-19)
|
|
4
13
|
* Added a paranoid-ish test to check that the import logic isn't breaking any testing functionality
|
|
5
14
|
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# Contribute
|
|
2
|
+
|
|
3
|
+
## Setup package for development
|
|
4
|
+
|
|
5
|
+
- Create a Python virtualenv and activate it
|
|
6
|
+
- Install "pip-tools" with `pip install -U pip-tools`
|
|
7
|
+
- Compile the requirements with `pip-compile --extra dev, -o requirements.txt pyproject.toml --resolver=backtracking`
|
|
8
|
+
- Sync the dependencies with your virtualenv with `pip-sync`
|
|
9
|
+
|
|
10
|
+
## Add functionality
|
|
11
|
+
|
|
12
|
+
- Create a new branch for your feature
|
|
13
|
+
- Change the dependency in your requirements.txt to a local (editable) one that points to your local file system:
|
|
14
|
+
`-e /Users/workspace/django-queuebie` or via pip `pip install -e /Users/workspace/django-queuebie`
|
|
15
|
+
- Ensure the code passes the tests
|
|
16
|
+
- Create a pull request
|
|
17
|
+
|
|
18
|
+
## Run tests
|
|
19
|
+
|
|
20
|
+
- Run tests
|
|
21
|
+
````
|
|
22
|
+
pytest --ds settings tests
|
|
23
|
+
````
|
|
24
|
+
|
|
25
|
+
- Check coverage
|
|
26
|
+
````
|
|
27
|
+
coverage run -m pytest --ds settings tests
|
|
28
|
+
coverage report -m
|
|
29
|
+
````
|
|
30
|
+
|
|
31
|
+
## Git hooks (via pre-commit)
|
|
32
|
+
|
|
33
|
+
We use pre-push hooks to ensure that only linted code reaches our remote repository and pipelines aren't triggered in
|
|
34
|
+
vain.
|
|
35
|
+
|
|
36
|
+
To enable the configured pre-push hooks, you need to [install](https://pre-commit.com/) pre-commit and run once:
|
|
37
|
+
|
|
38
|
+
pre-commit install -t pre-push -t pre-commit --install-hooks
|
|
39
|
+
|
|
40
|
+
This will permanently install the git hooks for both, frontend and backend, in your local
|
|
41
|
+
[`.git/hooks`](./.git/hooks) folder.
|
|
42
|
+
The hooks are configured in the [`.pre-commit-config.yaml`](templates/.pre-commit-config.yaml.tpl).
|
|
43
|
+
|
|
44
|
+
You can check whether hooks work as intended using the [run](https://pre-commit.com/#pre-commit-run) command:
|
|
45
|
+
|
|
46
|
+
pre-commit run [hook-id] [options]
|
|
47
|
+
|
|
48
|
+
Example: run single hook
|
|
49
|
+
|
|
50
|
+
pre-commit run ruff --all-files
|
|
51
|
+
|
|
52
|
+
Example: run all hooks of pre-push stage
|
|
53
|
+
|
|
54
|
+
pre-commit run --all-files
|
|
55
|
+
|
|
56
|
+
## Update documentation
|
|
57
|
+
|
|
58
|
+
- To build the documentation, run: `sphinx-build docs/ docs/_build/html/`.
|
|
59
|
+
- Open `docs/_build/html/index.html` to see the documentation.
|
|
60
|
+
|
|
61
|
+
|
|
62
|
+
### Translation files
|
|
63
|
+
|
|
64
|
+
If you have added custom text, make sure to wrap it in `_()` where `_` is
|
|
65
|
+
gettext_lazy (`from django.utils.translation import gettext_lazy as _`).
|
|
66
|
+
|
|
67
|
+
How to create translation file:
|
|
68
|
+
|
|
69
|
+
* Navigate to `django-queuebie`
|
|
70
|
+
* `python manage.py makemessages -l de`
|
|
71
|
+
* Have a look at the new/changed files within `queuebie/locale`
|
|
72
|
+
|
|
73
|
+
How to compile translation files:
|
|
74
|
+
|
|
75
|
+
* Navigate to `django-queuebie`
|
|
76
|
+
* `python manage.py compilemessages`
|
|
77
|
+
* Have a look at the new/changed files within `queuebie/locale`
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: django-queuebie
|
|
3
|
-
Version: 0.3.
|
|
4
|
-
Summary:
|
|
3
|
+
Version: 0.3.4
|
|
4
|
+
Summary: A simple and synchronous message queue for commands and events for Django
|
|
5
5
|
Author-email: Ambient Digital <hello@ambient.digital>
|
|
6
6
|
Description-Content-Type: text/markdown
|
|
7
7
|
Classifier: Development Status :: 4 - Beta
|
|
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
|
|
@@ -26,14 +26,14 @@ Requires-Dist: typer~=0.12 ; extra == "dev"
|
|
|
26
26
|
Requires-Dist: pytest-django~=4.9 ; extra == "dev"
|
|
27
27
|
Requires-Dist: pytest-mock~=3.14 ; extra == "dev"
|
|
28
28
|
Requires-Dist: coverage~=7.6 ; extra == "dev"
|
|
29
|
-
Requires-Dist: pre-commit~=4.
|
|
30
|
-
Requires-Dist: ruff~=0.
|
|
29
|
+
Requires-Dist: pre-commit~=4.2 ; extra == "dev"
|
|
30
|
+
Requires-Dist: ruff~=0.11 ; extra == "dev"
|
|
31
31
|
Requires-Dist: sphinx~=7.1 ; extra == "dev"
|
|
32
32
|
Requires-Dist: sphinx-rtd-theme~=2.0 ; extra == "dev"
|
|
33
33
|
Requires-Dist: m2r2==0.3.3.post2 ; extra == "dev"
|
|
34
34
|
Requires-Dist: mistune<2.0.0 ; extra == "dev"
|
|
35
|
-
Requires-Dist: flit~=3.
|
|
36
|
-
Requires-Dist: keyring~=25.
|
|
35
|
+
Requires-Dist: flit~=3.12 ; extra == "dev"
|
|
36
|
+
Requires-Dist: keyring~=25.6 ; extra == "dev"
|
|
37
37
|
Requires-Dist: ambient-package-update ; extra == "dev"
|
|
38
38
|
Project-URL: Bugtracker, https://github.com/ambient-innovation/django-queuebie/issues
|
|
39
39
|
Project-URL: Changelog, https://django-queuebie.readthedocs.io/en/latest/features/changelog.html
|
|
@@ -49,7 +49,7 @@ Provides-Extra: dev
|
|
|
49
49
|
[](https://github.com/astral-sh/ruff)
|
|
50
50
|
[](https://django-queuebie.readthedocs.io/en/latest/?badge=latest)
|
|
51
51
|
|
|
52
|
-
A simple message queue for commands and events
|
|
52
|
+
A simple and synchronous message queue for commands and events for Django.
|
|
53
53
|
|
|
54
54
|
* [PyPI](https://pypi.org/project/django-queuebie/)
|
|
55
55
|
* [GitHub](https://github.com/ambient-innovation/django-queuebie)
|
|
@@ -132,85 +132,6 @@ handle_message(
|
|
|
132
132
|
|
|
133
133
|
|
|
134
134
|
|
|
135
|
-
## Contribute
|
|
136
|
-
|
|
137
|
-
### Setup package for development
|
|
138
|
-
|
|
139
|
-
- Create a Python virtualenv and activate it
|
|
140
|
-
- Install "pip-tools" with `pip install -U pip-tools`
|
|
141
|
-
- Compile the requirements with `pip-compile --extra dev, -o requirements.txt pyproject.toml --resolver=backtracking`
|
|
142
|
-
- Sync the dependencies with your virtualenv with `pip-sync`
|
|
143
|
-
|
|
144
|
-
### Add functionality
|
|
145
|
-
|
|
146
|
-
- Create a new branch for your feature
|
|
147
|
-
- Change the dependency in your requirements.txt to a local (editable) one that points to your local file system:
|
|
148
|
-
`-e /Users/workspace/django-queuebie` or via pip `pip install -e /Users/workspace/django-queuebie`
|
|
149
|
-
- Ensure the code passes the tests
|
|
150
|
-
- Create a pull request
|
|
151
|
-
|
|
152
|
-
### Run tests
|
|
153
|
-
|
|
154
|
-
- Run tests
|
|
155
|
-
````
|
|
156
|
-
pytest --ds settings tests
|
|
157
|
-
````
|
|
158
|
-
|
|
159
|
-
- Check coverage
|
|
160
|
-
````
|
|
161
|
-
coverage run -m pytest --ds settings tests
|
|
162
|
-
coverage report -m
|
|
163
|
-
````
|
|
164
|
-
|
|
165
|
-
### Git hooks (via pre-commit)
|
|
166
|
-
|
|
167
|
-
We use pre-push hooks to ensure that only linted code reaches our remote repository and pipelines aren't triggered in
|
|
168
|
-
vain.
|
|
169
|
-
|
|
170
|
-
To enable the configured pre-push hooks, you need to [install](https://pre-commit.com/) pre-commit and run once:
|
|
171
|
-
|
|
172
|
-
pre-commit install -t pre-push -t pre-commit --install-hooks
|
|
173
|
-
|
|
174
|
-
This will permanently install the git hooks for both, frontend and backend, in your local
|
|
175
|
-
[`.git/hooks`](./.git/hooks) folder.
|
|
176
|
-
The hooks are configured in the [`.pre-commit-config.yaml`](templates/.pre-commit-config.yaml.tpl).
|
|
177
|
-
|
|
178
|
-
You can check whether hooks work as intended using the [run](https://pre-commit.com/#pre-commit-run) command:
|
|
179
|
-
|
|
180
|
-
pre-commit run [hook-id] [options]
|
|
181
|
-
|
|
182
|
-
Example: run single hook
|
|
183
|
-
|
|
184
|
-
pre-commit run ruff --all-files
|
|
185
|
-
|
|
186
|
-
Example: run all hooks of pre-push stage
|
|
187
|
-
|
|
188
|
-
pre-commit run --all-files --hook-stage push
|
|
189
|
-
|
|
190
|
-
### Update documentation
|
|
191
|
-
|
|
192
|
-
- To build the documentation, run: `sphinx-build docs/ docs/_build/html/`.
|
|
193
|
-
- Open `docs/_build/html/index.html` to see the documentation.
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
### Translation files
|
|
197
|
-
|
|
198
|
-
If you have added custom text, make sure to wrap it in `_()` where `_` is
|
|
199
|
-
gettext_lazy (`from django.utils.translation import gettext_lazy as _`).
|
|
200
|
-
|
|
201
|
-
How to create translation file:
|
|
202
|
-
|
|
203
|
-
* Navigate to `django-queuebie`
|
|
204
|
-
* `python manage.py makemessages -l de`
|
|
205
|
-
* Have a look at the new/changed files within `queuebie/locale`
|
|
206
|
-
|
|
207
|
-
How to compile translation files:
|
|
208
|
-
|
|
209
|
-
* Navigate to `django-queuebie`
|
|
210
|
-
* `python manage.py compilemessages`
|
|
211
|
-
* Have a look at the new/changed files within `queuebie/locale`
|
|
212
|
-
|
|
213
|
-
|
|
214
135
|
### Publish to ReadTheDocs.io
|
|
215
136
|
|
|
216
137
|
- Fetch the latest changes in GitHub mirror and push them
|
|
@@ -248,4 +169,3 @@ configuration and setup files. It works similar to well-known updaters like `pyu
|
|
|
248
169
|
To run an update, refer to the [documentation page](https://pypi.org/project/ambient-package-update/)
|
|
249
170
|
of the "ambient-package-update".
|
|
250
171
|
|
|
251
|
-
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
[](https://github.com/astral-sh/ruff)
|
|
6
6
|
[](https://django-queuebie.readthedocs.io/en/latest/?badge=latest)
|
|
7
7
|
|
|
8
|
-
A simple message queue for commands and events
|
|
8
|
+
A simple and synchronous message queue for commands and events for Django.
|
|
9
9
|
|
|
10
10
|
* [PyPI](https://pypi.org/project/django-queuebie/)
|
|
11
11
|
* [GitHub](https://github.com/ambient-innovation/django-queuebie)
|
|
@@ -88,85 +88,6 @@ handle_message(
|
|
|
88
88
|
|
|
89
89
|
|
|
90
90
|
|
|
91
|
-
## Contribute
|
|
92
|
-
|
|
93
|
-
### Setup package for development
|
|
94
|
-
|
|
95
|
-
- Create a Python virtualenv and activate it
|
|
96
|
-
- Install "pip-tools" with `pip install -U pip-tools`
|
|
97
|
-
- Compile the requirements with `pip-compile --extra dev, -o requirements.txt pyproject.toml --resolver=backtracking`
|
|
98
|
-
- Sync the dependencies with your virtualenv with `pip-sync`
|
|
99
|
-
|
|
100
|
-
### Add functionality
|
|
101
|
-
|
|
102
|
-
- Create a new branch for your feature
|
|
103
|
-
- Change the dependency in your requirements.txt to a local (editable) one that points to your local file system:
|
|
104
|
-
`-e /Users/workspace/django-queuebie` or via pip `pip install -e /Users/workspace/django-queuebie`
|
|
105
|
-
- Ensure the code passes the tests
|
|
106
|
-
- Create a pull request
|
|
107
|
-
|
|
108
|
-
### Run tests
|
|
109
|
-
|
|
110
|
-
- Run tests
|
|
111
|
-
````
|
|
112
|
-
pytest --ds settings tests
|
|
113
|
-
````
|
|
114
|
-
|
|
115
|
-
- Check coverage
|
|
116
|
-
````
|
|
117
|
-
coverage run -m pytest --ds settings tests
|
|
118
|
-
coverage report -m
|
|
119
|
-
````
|
|
120
|
-
|
|
121
|
-
### Git hooks (via pre-commit)
|
|
122
|
-
|
|
123
|
-
We use pre-push hooks to ensure that only linted code reaches our remote repository and pipelines aren't triggered in
|
|
124
|
-
vain.
|
|
125
|
-
|
|
126
|
-
To enable the configured pre-push hooks, you need to [install](https://pre-commit.com/) pre-commit and run once:
|
|
127
|
-
|
|
128
|
-
pre-commit install -t pre-push -t pre-commit --install-hooks
|
|
129
|
-
|
|
130
|
-
This will permanently install the git hooks for both, frontend and backend, in your local
|
|
131
|
-
[`.git/hooks`](./.git/hooks) folder.
|
|
132
|
-
The hooks are configured in the [`.pre-commit-config.yaml`](templates/.pre-commit-config.yaml.tpl).
|
|
133
|
-
|
|
134
|
-
You can check whether hooks work as intended using the [run](https://pre-commit.com/#pre-commit-run) command:
|
|
135
|
-
|
|
136
|
-
pre-commit run [hook-id] [options]
|
|
137
|
-
|
|
138
|
-
Example: run single hook
|
|
139
|
-
|
|
140
|
-
pre-commit run ruff --all-files
|
|
141
|
-
|
|
142
|
-
Example: run all hooks of pre-push stage
|
|
143
|
-
|
|
144
|
-
pre-commit run --all-files --hook-stage push
|
|
145
|
-
|
|
146
|
-
### Update documentation
|
|
147
|
-
|
|
148
|
-
- To build the documentation, run: `sphinx-build docs/ docs/_build/html/`.
|
|
149
|
-
- Open `docs/_build/html/index.html` to see the documentation.
|
|
150
|
-
|
|
151
|
-
|
|
152
|
-
### Translation files
|
|
153
|
-
|
|
154
|
-
If you have added custom text, make sure to wrap it in `_()` where `_` is
|
|
155
|
-
gettext_lazy (`from django.utils.translation import gettext_lazy as _`).
|
|
156
|
-
|
|
157
|
-
How to create translation file:
|
|
158
|
-
|
|
159
|
-
* Navigate to `django-queuebie`
|
|
160
|
-
* `python manage.py makemessages -l de`
|
|
161
|
-
* Have a look at the new/changed files within `queuebie/locale`
|
|
162
|
-
|
|
163
|
-
How to compile translation files:
|
|
164
|
-
|
|
165
|
-
* Navigate to `django-queuebie`
|
|
166
|
-
* `python manage.py compilemessages`
|
|
167
|
-
* Have a look at the new/changed files within `queuebie/locale`
|
|
168
|
-
|
|
169
|
-
|
|
170
91
|
### Publish to ReadTheDocs.io
|
|
171
92
|
|
|
172
93
|
- Fetch the latest changes in GitHub mirror and push them
|
|
@@ -203,4 +124,3 @@ configuration and setup files. It works similar to well-known updaters like `pyu
|
|
|
203
124
|
|
|
204
125
|
To run an update, refer to the [documentation page](https://pypi.org/project/ambient-package-update/)
|
|
205
126
|
of the "ambient-package-update".
|
|
206
|
-
|
|
@@ -4,7 +4,7 @@ The maintainers of this package take security bugs seriously. We appreciate your
|
|
|
4
4
|
disclose your findings, and will make every effort to acknowledge your contributions.
|
|
5
5
|
|
|
6
6
|
To report a security issue, please use the GitHub Security
|
|
7
|
-
Advisory ["Report a Vulnerability"](https://github.com/ambient-innovation/django-queuebie/security/advisories/new)
|
|
7
|
+
Advisory ["Report a Vulnerability"](https://github.com/ambient-innovation/django-queuebie/security/advisories/new)
|
|
8
8
|
tab.
|
|
9
9
|
|
|
10
10
|
The maintainers will send a response indicating the next steps in handling your report. After the initial reply to
|
|
@@ -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",
|
|
@@ -42,14 +42,14 @@ dev = [
|
|
|
42
42
|
'pytest-django~=4.9',
|
|
43
43
|
'pytest-mock~=3.14',
|
|
44
44
|
'coverage~=7.6',
|
|
45
|
-
'pre-commit~=4.
|
|
46
|
-
'ruff~=0.
|
|
45
|
+
'pre-commit~=4.2',
|
|
46
|
+
'ruff~=0.11',
|
|
47
47
|
'sphinx~=7.1',
|
|
48
48
|
'sphinx-rtd-theme~=2.0',
|
|
49
49
|
'm2r2==0.3.3.post2',
|
|
50
50
|
'mistune<2.0.0',
|
|
51
|
-
'flit~=3.
|
|
52
|
-
'keyring~=25.
|
|
51
|
+
'flit~=3.12',
|
|
52
|
+
'keyring~=25.6',
|
|
53
53
|
'ambient-package-update',
|
|
54
54
|
]
|
|
55
55
|
|
|
@@ -90,7 +90,8 @@ lint.select = [
|
|
|
90
90
|
"ANN401", # Checks that function arguments are annotated with a more specific type than Any
|
|
91
91
|
"TRY", # Clean try/except
|
|
92
92
|
"ERA", # Commented out code
|
|
93
|
-
"INP"
|
|
93
|
+
"INP", # Ban PEP-420 implicit namespace packages
|
|
94
|
+
"C90", # McCabe code complexity
|
|
94
95
|
]
|
|
95
96
|
lint.ignore = [
|
|
96
97
|
"TD002", # Missing author in TODO
|
|
@@ -124,7 +125,8 @@ lint.fixable = [
|
|
|
124
125
|
"ANN401", # Checks that function arguments are annotated with a more specific type than Any
|
|
125
126
|
"TRY", # Clean try/except
|
|
126
127
|
"ERA", # Commented out code
|
|
127
|
-
"INP"
|
|
128
|
+
"INP", # Ban PEP-420 implicit namespace packages
|
|
129
|
+
"C90", # McCabe code complexity
|
|
128
130
|
]
|
|
129
131
|
lint.unfixable = []
|
|
130
132
|
|
|
@@ -202,8 +204,8 @@ legacy_tox_ini = """
|
|
|
202
204
|
# Django deprecation overview: https://www.djangoproject.com/download/
|
|
203
205
|
deps =
|
|
204
206
|
django42: Django==4.2.*
|
|
205
|
-
django50: Django==5.0.*
|
|
206
207
|
django51: Django==5.1.*
|
|
208
|
+
django52: Django==5.2.*
|
|
207
209
|
extras = dev,
|
|
208
210
|
commands =
|
|
209
211
|
coverage run -m pytest --ds settings tests
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
A simple message queue for commands and events (CQRS) for Django.
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|