django-slack-tools 0.3.1__tar.gz → 0.3.3__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 (218) hide show
  1. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.devcontainer/devcontainer.json +3 -3
  2. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.github/workflows/ci.yaml +12 -18
  3. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.github/workflows/docs.yaml +11 -11
  4. django_slack_tools-0.3.3/.github/workflows/prepare-release.yaml +51 -0
  5. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.github/workflows/release.yaml +24 -18
  6. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.pre-commit-config.yaml +12 -4
  7. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/PKG-INFO +6 -25
  8. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/README.md +2 -3
  9. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/app_settings.py +1 -2
  10. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/backends/base.py +2 -2
  11. django_slack_tools-0.3.3/django_slack_tools/messenger/message_templates/__init__.py +4 -0
  12. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/messenger.py +6 -6
  13. django_slack_tools-0.3.3/django_slack_tools/messenger/middlewares/__init__.py +3 -0
  14. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/middlewares/base.py +2 -2
  15. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/request.py +2 -2
  16. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/response.py +1 -2
  17. django_slack_tools-0.3.3/django_slack_tools/messenger/shortcuts.py +28 -0
  18. django_slack_tools-0.3.3/django_slack_tools/messenger/template_loaders/__init__.py +4 -0
  19. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/template_loaders/base.py +1 -1
  20. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/apps.py +2 -2
  21. django_slack_tools-0.3.3/django_slack_tools/slack_messages/messenger/__init__.py +11 -0
  22. django_slack_tools-0.3.1/django_slack_tools/slack_messages/message_templates/django.py → django_slack_tools-0.3.3/django_slack_tools/slack_messages/messenger/message_templates.py +1 -1
  23. django_slack_tools-0.3.1/django_slack_tools/slack_messages/middlewares/django.py → django_slack_tools-0.3.3/django_slack_tools/slack_messages/messenger/middlewares.py +3 -6
  24. django_slack_tools-0.3.1/django_slack_tools/slack_messages/template_loaders/django.py → django_slack_tools-0.3.3/django_slack_tools/slack_messages/messenger/template_loaders.py +2 -2
  25. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/shortcuts.py +2 -2
  26. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/tasks.py +2 -2
  27. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/validators.py +1 -1
  28. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/utils/import_helper.py +0 -1
  29. django_slack_tools-0.3.3/docs/api-references/messenger.md +27 -0
  30. django_slack_tools-0.3.1/docs/api-references/slack-messages/django-integration.md → django_slack_tools-0.3.3/docs/api-references/slack-messages.md +4 -4
  31. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/docs/quick-start.md +3 -3
  32. {django_slack_tools-0.3.1/docs/api-references/slack-messages → django_slack_tools-0.3.3/docs/usages}/celery-support.md +1 -1
  33. django_slack_tools-0.3.3/docs/usages/sending-messages.md +3 -0
  34. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/Makefile +1 -1
  35. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/manage.py +1 -1
  36. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo/settings.py +6 -6
  37. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo/urls.py +1 -1
  38. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/apps.py +1 -1
  39. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/uv.lock +6 -4
  40. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/mkdocs.yaml +7 -5
  41. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/noxfile.py +0 -3
  42. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/pyproject.toml +19 -9
  43. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/testproj/config/settings.py +7 -7
  44. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/testproj/config/urls.py +1 -1
  45. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/testproj/manage.py +1 -1
  46. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/_helpers.py +1 -1
  47. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/conftest.py +2 -2
  48. django_slack_tools-0.3.3/tests/messenger/_factories.py +27 -0
  49. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/_helpers.py +5 -7
  50. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/backends/test_dummy.py +8 -4
  51. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/backends/test_logging_.py +8 -4
  52. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/backends/test_slack.py +13 -8
  53. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/message_templates/test_python.py +1 -1
  54. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/test_messenger.py +4 -8
  55. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/test_request.py +1 -1
  56. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/test_response.py +1 -1
  57. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/_factories.py +1 -25
  58. django_slack_tools-0.3.3/tests/slack_messages/messenger/__init__.py +0 -0
  59. django_slack_tools-0.3.1/tests/slack_messages/message_templates/test_django.py → django_slack_tools-0.3.3/tests/slack_messages/messenger/test_message_templates.py +3 -3
  60. django_slack_tools-0.3.1/tests/slack_messages/middlewares/test_django.py → django_slack_tools-0.3.3/tests/slack_messages/messenger/test_middlewares.py +14 -18
  61. django_slack_tools-0.3.1/tests/slack_messages/template_loaders/test_django.py → django_slack_tools-0.3.3/tests/slack_messages/messenger/test_template_loaders.py +3 -3
  62. django_slack_tools-0.3.3/tests/slack_messages/models/__init__.py +0 -0
  63. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/test_shortcuts.py +7 -7
  64. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/test_validators.py +11 -0
  65. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/test_app_settings.py +16 -16
  66. django_slack_tools-0.3.3/tests/utils/__init__.py +0 -0
  67. django_slack_tools-0.3.3/tests/utils/django/__init__.py +0 -0
  68. django_slack_tools-0.3.3/tests/utils/slack/__init__.py +0 -0
  69. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/utils/slack/test_misc.py +2 -2
  70. django_slack_tools-0.3.3/tests/utils/test_import_helper.py +0 -0
  71. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/uv.lock +949 -891
  72. django_slack_tools-0.3.1/django_slack_tools/slack_messages/message_templates/__init__.py +0 -5
  73. django_slack_tools-0.3.1/django_slack_tools/slack_messages/middlewares/__init__.py +0 -4
  74. django_slack_tools-0.3.1/django_slack_tools/slack_messages/template_loaders/__init__.py +0 -11
  75. django_slack_tools-0.3.1/docs/api-references/slack-messages/messenger-framework.md +0 -19
  76. django_slack_tools-0.3.1/docs/api-references/slack-messages/sending-messages.md +0 -11
  77. django_slack_tools-0.3.1/tests/utils/slack/test_django.py +0 -24
  78. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.devcontainer/onCreateCommand.sh +0 -0
  79. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.editorconfig +0 -0
  80. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.gitattributes +0 -0
  81. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.github/dependabot.yaml +0 -0
  82. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.gitignore +0 -0
  83. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.python-version +0 -0
  84. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.vscode/extensions.json +0 -0
  85. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.vscode/launch.json +0 -0
  86. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/.vscode/settings.json +0 -0
  87. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/CONTRIBUTING.md +0 -0
  88. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/LICENSE +0 -0
  89. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/Makefile +0 -0
  90. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/__init__.py +0 -0
  91. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/locale/ko_KR/LC_MESSAGES/django.po +0 -0
  92. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/__init__.py +0 -0
  93. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/backends/__init__.py +0 -0
  94. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/backends/dummy.py +0 -0
  95. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/backends/logging_.py +0 -0
  96. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/backends/slack.py +0 -0
  97. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/message_templates/base.py +0 -0
  98. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/message_templates/python.py +0 -0
  99. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.3/django_slack_tools/messenger}/template_loaders/errors.py +0 -0
  100. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/py.typed +0 -0
  101. {django_slack_tools-0.3.1/django_slack_tools/slack_messages/migrations → django_slack_tools-0.3.3/django_slack_tools/slack_events}/__init__.py +0 -0
  102. {django_slack_tools-0.3.1/django_slack_tools → django_slack_tools-0.3.3/django_slack_tools/slack_events}/views.py +0 -0
  103. {django_slack_tools-0.3.1/django_slack_tools/utils → django_slack_tools-0.3.3/django_slack_tools/slack_messages}/__init__.py +0 -0
  104. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/admin/__init__.py +0 -0
  105. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/admin/mention.py +0 -0
  106. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/admin/message.py +0 -0
  107. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/admin/message_recipient.py +0 -0
  108. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/admin/messaging_policy.py +0 -0
  109. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/migrations/0001_initial.py +0 -0
  110. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/migrations/0002_default_policy.py +0 -0
  111. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/migrations/0003_default_recipient.py +0 -0
  112. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/migrations/0004_slackmessagingpolicy_template_type.py +0 -0
  113. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/migrations/0005_alter_slackmessagingpolicy_template_type.py +0 -0
  114. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/migrations/0006_alter_slackmessage_id.py +0 -0
  115. {django_slack_tools-0.3.1/django_slack_tools/utils/django → django_slack_tools-0.3.3/django_slack_tools/slack_messages/migrations}/__init__.py +0 -0
  116. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/models/__init__.py +0 -0
  117. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/models/mention.py +0 -0
  118. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/models/message.py +0 -0
  119. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/models/message_recipient.py +0 -0
  120. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/slack_messages/models/messaging_policy.py +0 -0
  121. {django_slack_tools-0.3.1/examples/todo/todo_app → django_slack_tools-0.3.3/django_slack_tools/utils}/__init__.py +0 -0
  122. {django_slack_tools-0.3.1/examples/todo/todo_app/migrations → django_slack_tools-0.3.3/django_slack_tools/utils/django}/__init__.py +0 -0
  123. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/utils/django/model_mixins.py +0 -0
  124. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/utils/django/widgets.py +0 -0
  125. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/utils/repr.py +0 -0
  126. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/utils/slack/__init__.py +0 -0
  127. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/django_slack_tools/utils/slack/misc.py +0 -0
  128. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/docs/index.md +0 -0
  129. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/.env.example +0 -0
  130. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/.python-version +0 -0
  131. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/README.md +0 -0
  132. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/docker-compose.yaml +0 -0
  133. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/docs/messages.png +0 -0
  134. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/docs/slack-app-home.png +0 -0
  135. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/docs/slash-command.png +0 -0
  136. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/dump.json +0 -0
  137. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/pyproject.toml +0 -0
  138. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo/__init__.py +0 -0
  139. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo/celery.py +0 -0
  140. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo/slack_app.py +0 -0
  141. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo/wsgi.py +0 -0
  142. {django_slack_tools-0.3.1/testproj → django_slack_tools-0.3.3/examples/todo/todo_app}/__init__.py +0 -0
  143. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/admin.py +0 -0
  144. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/migrations/0001_initial.py +0 -0
  145. {django_slack_tools-0.3.1/testproj/config → django_slack_tools-0.3.3/examples/todo/todo_app/migrations}/__init__.py +0 -0
  146. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/models.py +0 -0
  147. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/services.py +0 -0
  148. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/signals.py +0 -0
  149. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/slack_listeners.py +0 -0
  150. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/templates/todo-created.xml +0 -0
  151. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/examples/todo/todo_app/templates/todo-updated.xml +0 -0
  152. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/manage.py +0 -0
  153. {django_slack_tools-0.3.1/tests → django_slack_tools-0.3.3/testproj}/__init__.py +0 -0
  154. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/testproj/config}/__init__.py +0 -0
  155. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/testproj/config/slack_app.py +0 -0
  156. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/testproj/config/wsgi.py +0 -0
  157. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/testproj/templates/greet.xml +0 -0
  158. {django_slack_tools-0.3.1/tests/slack_messages/admin → django_slack_tools-0.3.3/tests}/__init__.py +0 -0
  159. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/_factories.py +0 -0
  160. {django_slack_tools-0.3.1/tests/slack_messages/backends → django_slack_tools-0.3.3/tests/messenger}/__init__.py +0 -0
  161. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/messenger/backends}/__init__.py +0 -0
  162. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/backends/test_base.py +0 -0
  163. {django_slack_tools-0.3.1/tests/slack_messages/middlewares → django_slack_tools-0.3.3/tests/messenger/message_templates}/__init__.py +0 -0
  164. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/message_templates/test_base.py +0 -0
  165. {django_slack_tools-0.3.1/tests/slack_messages/models → django_slack_tools-0.3.3/tests/messenger/middlewares}/__init__.py +0 -0
  166. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/middlewares/test_base.py +0 -0
  167. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/template_loaders/__init__.py +0 -0
  168. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.3/tests/messenger}/template_loaders/test_base.py +0 -0
  169. /django_slack_tools-0.3.1/tests/utils/__init__.py → /django_slack_tools-0.3.3/tests/messenger/test_shortcuts.py +0 -0
  170. {django_slack_tools-0.3.1/tests/utils/django → django_slack_tools-0.3.3/tests/slack_events}/__init__.py +0 -0
  171. {django_slack_tools-0.3.1/tests → django_slack_tools-0.3.3/tests/slack_events}/test_views.py +0 -0
  172. {django_slack_tools-0.3.1/tests/utils/slack → django_slack_tools-0.3.3/tests/slack_messages}/__init__.py +0 -0
  173. /django_slack_tools-0.3.1/tests/utils/test_import_helper.py → /django_slack_tools-0.3.3/tests/slack_messages/admin/__init__.py +0 -0
  174. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/admin/test_mention.py +0 -0
  175. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/admin/test_message.py +0 -0
  176. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/admin/test_message_recipient.py +0 -0
  177. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/admin/test_messaging_policy.py +0 -0
  178. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/approval.json +0 -0
  179. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/approval.png +0 -0
  180. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/approval.xml +0 -0
  181. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/bullet-list.json +0 -0
  182. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/bullet-list.png +0 -0
  183. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/bullet-list.xml +0 -0
  184. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/complex-template-with-context.xml +0 -0
  185. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/complex-template.json +0 -0
  186. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/complex-template.png +0 -0
  187. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/complex-template.xml +0 -0
  188. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/newsletter.json +0 -0
  189. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/newsletter.png +0 -0
  190. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/newsletter.xml +0 -0
  191. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/notification.json +0 -0
  192. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/notification.png +0 -0
  193. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/notification.xml +0 -0
  194. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/onboarding-1.json +0 -0
  195. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/onboarding-1.png +0 -0
  196. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/onboarding-1.xml +0 -0
  197. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/onboarding-2.json +0 -0
  198. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/onboarding-2.png +0 -0
  199. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/onboarding-2.xml +0 -0
  200. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/poll.json +0 -0
  201. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/poll.png +0 -0
  202. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/poll.xml +0 -0
  203. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/search-results-1.json +0 -0
  204. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/search-results-1.png +0 -0
  205. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/search-results-1.xml +0 -0
  206. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/search-results-2.json +0 -0
  207. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/search-results-2.png +0 -0
  208. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.3/tests/slack_messages/messenger}/testcases/search-results-2.xml +0 -0
  209. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/models/_factories.py +0 -0
  210. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/models/test_mention.py +0 -0
  211. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/models/test_message.py +0 -0
  212. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/models/test_message_recipient.py +0 -0
  213. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/models/test_messaging_policy.py +0 -0
  214. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/test_apps.py +0 -0
  215. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/slack_messages/test_tasks.py +0 -0
  216. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/utils/django/test_model_mixins.py +0 -0
  217. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/utils/django/test_widgets.py +0 -0
  218. {django_slack_tools-0.3.1 → django_slack_tools-0.3.3}/tests/utils/test_repr.py +0 -0
@@ -1,9 +1,9 @@
1
1
  {
2
- "name": "lasuillard/django-slack-tools",
2
+ "name": "lasuillard-s/django-slack-tools",
3
3
  "image": "mcr.microsoft.com/devcontainers/base:1-bookworm",
4
4
  "features": {
5
- "ghcr.io/devcontainers-contrib/features/pre-commit:2": {},
6
- "ghcr.io/devcontainers-contrib/features/apt-get-packages:1": {
5
+ "ghcr.io/devcontainers-extra/features/pre-commit:2": {},
6
+ "ghcr.io/devcontainers-extra/features/apt-get-packages:1": {
7
7
  "packages": "gettext"
8
8
  },
9
9
  "ghcr.io/devcontainers/features/docker-in-docker:2": {}
@@ -6,27 +6,24 @@ on:
6
6
  pull_request:
7
7
  branches: [main]
8
8
 
9
- permissions: read-all
10
-
11
9
  env:
12
10
  UV_FROZEN: 1
13
11
 
14
12
  jobs:
15
13
  lint:
16
- name: Lint
17
14
  runs-on: ubuntu-latest
15
+ timeout-minutes: 5
16
+ permissions:
17
+ contents: read
18
18
  steps:
19
- - name: Checkout
20
- uses: actions/checkout@v4
21
-
22
- - name: Set up uv
23
- uses: astral-sh/setup-uv@v5
19
+ - uses: actions/checkout@v5
20
+ - uses: astral-sh/setup-uv@v7
24
21
  with:
25
22
  version: latest
26
23
  enable-cache: true
27
24
 
28
25
  - name: Install deps
29
- run: uv sync --all-extras
26
+ run: uv sync
30
27
 
31
28
  - uses: pre-commit/action@v3.0.1
32
29
  env:
@@ -36,7 +33,7 @@ jobs:
36
33
  if: always()
37
34
 
38
35
  test:
39
- name: Test (Python ${{ matrix.python-version }}, Django ${{ matrix.django-version }})
36
+ name: test (py${{ matrix.python-version }}, django${{ matrix.django-version }})
40
37
  runs-on: ubuntu-latest
41
38
  permissions:
42
39
  contents: read
@@ -45,20 +42,17 @@ jobs:
45
42
  fail-fast: false
46
43
  matrix:
47
44
  python-version: ["3.10", "3.11", "3.12"]
48
- django-version: ["4.2", "5.0", "5.1"]
45
+ django-version: ["4.2", "5.2"]
49
46
  include:
50
47
  - python-version: "3.9"
51
48
  django-version: "4.2"
52
49
 
53
50
  - python-version: "3.13"
54
- django-version: "5.1"
51
+ django-version: "5.2"
55
52
 
56
53
  steps:
57
- - name: Checkout
58
- uses: actions/checkout@v4
59
-
60
- - name: Set up uv
61
- uses: astral-sh/setup-uv@v5
54
+ - uses: actions/checkout@v5
55
+ - uses: astral-sh/setup-uv@v7
62
56
  with:
63
57
  version: latest
64
58
  enable-cache: true
@@ -67,7 +61,7 @@ jobs:
67
61
  run: uv python pin "${{ matrix.python-version }}"
68
62
 
69
63
  - name: Install deps
70
- run: uv sync --all-extras
64
+ run: uv sync
71
65
 
72
66
  - name: Install Django
73
67
  run: uv pip install Django=="${{ matrix.django-version }}.*"
@@ -4,37 +4,37 @@ on:
4
4
  push:
5
5
  tags: [v*]
6
6
 
7
- permissions: read-all
7
+ env:
8
+ UV_FROZEN: 1
8
9
 
9
10
  jobs:
10
11
  build-docs:
11
- name: Build Docs
12
12
  runs-on: ubuntu-latest
13
+ timeout-minutes: 10
14
+ permissions:
15
+ contents: read
13
16
  steps:
14
- - name: Checkout
15
- uses: actions/checkout@v4
16
-
17
- - name: Set up uv
18
- uses: astral-sh/setup-uv@v5
17
+ - uses: actions/checkout@v5
18
+ - uses: astral-sh/setup-uv@v7
19
19
  with:
20
20
  version: latest
21
21
  enable-cache: true
22
22
 
23
23
  - name: Install deps
24
- run: uv sync --frozen --all-extras
24
+ run: uv sync
25
25
 
26
26
  - name: Generate API docs
27
27
  run: make docs
28
28
 
29
29
  - name: Upload docs artifact
30
- uses: actions/upload-pages-artifact@v3
30
+ uses: actions/upload-pages-artifact@v
31
31
  with:
32
32
  path: site/
33
33
 
34
- deploy-docs:
35
- name: Deploy Docs
34
+ publish-docs:
36
35
  needs: build-docs
37
36
  runs-on: ubuntu-latest
37
+ timeout-minutes: 5
38
38
  permissions:
39
39
  pages: write
40
40
  id-token: write
@@ -0,0 +1,51 @@
1
+ name: Prepare Release
2
+
3
+ on:
4
+ workflow_dispatch:
5
+ inputs:
6
+ tag:
7
+ description: Semver-style tag for release (e.g., v1.0.0)
8
+ required: true
9
+
10
+ jobs:
11
+ create-pr:
12
+ runs-on: ubuntu-latest
13
+ timeout-minutes: 5
14
+ permissions:
15
+ contents: write
16
+ pull-requests: write
17
+ steps:
18
+ - name: Check tag format
19
+ run: |
20
+ if [[ ! "${{ inputs.tag }}" =~ ^v ]]; then
21
+ echo "Tag must start with 'v'"
22
+ exit 1
23
+ fi
24
+
25
+ - uses: actions/checkout@v5
26
+ - uses: astral-sh/setup-uv@v7
27
+ with:
28
+ version: latest
29
+ enable-cache: true
30
+
31
+ - name: Set version
32
+ run: |
33
+ tag="${{ inputs.tag }}"
34
+ tag_no_v="${tag#v}"
35
+ uv version "${tag#v}"
36
+
37
+ - name: Generate GitHub App token
38
+ uses: actions/create-github-app-token@v2
39
+ id: generate-token
40
+ with:
41
+ app-id: ${{ vars.GH_APP_ID }}
42
+ private-key: ${{ secrets.GH_APP_PRIVATE_KEY }}
43
+
44
+ - name: Create pull request
45
+ uses: peter-evans/create-pull-request@v7.0.8
46
+ with:
47
+ token: ${{ steps.generate-token.outputs.token }}
48
+ sign-commits: true
49
+ title: Release ${{ inputs.tag }}
50
+ branch: release/${{ inputs.tag }}
51
+ delete-branch: true
@@ -1,59 +1,65 @@
1
1
  name: Release
2
2
 
3
3
  on:
4
- push:
5
- tags: [v*]
4
+ release:
5
+ types: [published]
6
6
 
7
- permissions: read-all
7
+ env:
8
+ UV_FROZEN: 1
8
9
 
9
10
  jobs:
10
11
  release:
11
- name: Release
12
12
  runs-on: ubuntu-latest
13
+ timeout-minutes: 5
13
14
  permissions:
14
15
  contents: write
15
16
  steps:
16
- - name: Checkout
17
- uses: actions/checkout@v4
18
-
19
- - name: Set up uv
20
- uses: astral-sh/setup-uv@v5
17
+ - uses: actions/checkout@v5
18
+ - uses: astral-sh/setup-uv@v7
21
19
  with:
22
20
  version: latest
23
21
  enable-cache: true
24
22
 
25
23
  - name: Install deps
26
- run: uv sync --frozen --all-extras
24
+ run: uv sync --frozen
27
25
 
28
26
  - name: Build package
29
27
  run: uv build
30
28
 
31
29
  - name: Create release
32
- uses: softprops/action-gh-release@v2
30
+ uses: softprops/action-gh-release@v2.4.1
33
31
  with:
32
+ tag_name: ${{ github.event.release.tag_name }}
34
33
  generate_release_notes: true
35
34
  files: dist/*
36
35
 
36
+ - name: Show files
37
+ run: ls -l --all --recursive dist
38
+
37
39
  - name: Upload release distributions
38
- uses: actions/upload-artifact@v4
40
+ uses: actions/upload-artifact@v5
39
41
  with:
40
42
  name: release-dists
41
43
  path: dist/
42
44
 
43
45
  publish-pypi:
44
- name: Publish to PyPI
46
+ needs: release
45
47
  runs-on: ubuntu-latest
46
- needs:
47
- - release
48
+ environment: pypi
49
+ timeout-minutes: 5
48
50
  permissions:
49
51
  id-token: write
50
- environment: pypi
51
52
  steps:
52
- - name: Retrieve release distributions
53
- uses: actions/download-artifact@v4
53
+ - name: Download release distributions
54
+ uses: actions/download-artifact@v6
54
55
  with:
55
56
  name: release-dists
56
57
  path: dist/
57
58
 
59
+ - name: Show artifacts
60
+ run: ls -l --all --recursive dist
61
+
58
62
  - name: Publish release distributions to PyPI
59
63
  uses: pypa/gh-action-pypi-publish@release/v1
64
+ with:
65
+ skip-existing: true
@@ -8,15 +8,23 @@ repos:
8
8
  - id: end-of-file-fixer
9
9
 
10
10
  - repo: https://github.com/lasuillard/pre-commit-hooks
11
- rev: v0.3.0
11
+ rev: v0.4.1
12
12
  hooks:
13
- - id: check-directory-structure
13
+ - id: source-matching-test
14
14
  args:
15
15
  - --source
16
16
  - django_slack_tools
17
+ - --create-if-not-exists
17
18
  - --extend-exclude
18
- - '**/migrations/*.py'
19
- - '**/errors.py'
19
+ - "**/migrations/*.py"
20
+ - --extend-exclude
21
+ - "**/errors.py"
22
+ - id: test-matching-source
23
+ args:
24
+ - --target
25
+ - django_slack_tools
26
+ - id: preferred-suffix
27
+ args: [--rename]
20
28
 
21
29
  - repo: local
22
30
  hooks:
@@ -1,7 +1,10 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-slack-tools
3
- Version: 0.3.1
3
+ Version: 0.3.3
4
4
  Summary: Little helpers working with Slack bot 🤖 in Django.
5
+ Project-URL: Homepage, https://github.com/lasuillard/django-slack-tools
6
+ Project-URL: Repository, https://github.com/lasuillard/django-slack-tools.git
7
+ Project-URL: Issues, https://github.com/lasuillard/django-slack-tools/issues
5
8
  Author-email: Yuchan Lee <lasuillard@gmail.com>
6
9
  License-Expression: MIT
7
10
  License-File: LICENSE
@@ -12,35 +15,13 @@ Requires-Dist: slack-bolt<2,>=1
12
15
  Requires-Dist: xmltodict<1,>=0.14.1
13
16
  Provides-Extra: celery
14
17
  Requires-Dist: celery<6,>=5; extra == 'celery'
15
- Provides-Extra: dev
16
- Requires-Dist: django-debug-toolbar<6.0,>=4.4; extra == 'dev'
17
- Requires-Dist: django-extensions~=3.2; extra == 'dev'
18
- Requires-Dist: django-stubs[compatible-mypy]~=5.1; extra == 'dev'
19
- Requires-Dist: ipykernel~=6.27; extra == 'dev'
20
- Requires-Dist: mkdocs-material~=9.5; extra == 'dev'
21
- Requires-Dist: mkdocstrings[python]~=0.26; extra == 'dev'
22
- Requires-Dist: mkdocs~=1.6; extra == 'dev'
23
- Requires-Dist: mypy~=1.11; extra == 'dev'
24
- Requires-Dist: ruff~=0.6; extra == 'dev'
25
- Provides-Extra: test
26
- Requires-Dist: coverage~=7.3; extra == 'test'
27
- Requires-Dist: django-coverage-plugin~=3.1; extra == 'test'
28
- Requires-Dist: factory-boy~=3.3; extra == 'test'
29
- Requires-Dist: faker<37.0,>=30.3; extra == 'test'
30
- Requires-Dist: nox<2025.3.0,>=2024.10.9; extra == 'test'
31
- Requires-Dist: pytest-cov<7,>=5; extra == 'test'
32
- Requires-Dist: pytest-django~=4.9; extra == 'test'
33
- Requires-Dist: pytest-sugar~=1.0; extra == 'test'
34
- Requires-Dist: pytest-xdist~=3.6; extra == 'test'
35
- Requires-Dist: pytest~=8.0; extra == 'test'
36
18
  Description-Content-Type: text/markdown
37
19
 
38
20
  # django-slack-tools
39
21
 
40
22
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
41
- [![CI](https://github.com/lasuillard/django-slack-tools/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/django-slack-tools/actions/workflows/ci.yaml)
42
- [![codecov](https://codecov.io/gh/lasuillard/django-slack-tools/graph/badge.svg?token=c8kzjqjplF)](https://codecov.io/gh/lasuillard/django-slack-tools)
43
- ![PyPI - Version](https://img.shields.io/pypi/v/django-slack-tools)
23
+ [![codecov](https://codecov.io/gh/lasuillard-s/django-slack-tools/graph/badge.svg?token=c8kzjqjplF)](https://codecov.io/gh/lasuillard-s/django-slack-tools)
24
+ [![PyPI - Version](https://img.shields.io/pypi/v/django-slack-tools)](https://pypi.org/project/django-slack-tools/)
44
25
 
45
26
  Little helpers working with Slack bot 🤖 in Django.
46
27
 
@@ -1,9 +1,8 @@
1
1
  # django-slack-tools
2
2
 
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
- [![CI](https://github.com/lasuillard/django-slack-tools/actions/workflows/ci.yaml/badge.svg)](https://github.com/lasuillard/django-slack-tools/actions/workflows/ci.yaml)
5
- [![codecov](https://codecov.io/gh/lasuillard/django-slack-tools/graph/badge.svg?token=c8kzjqjplF)](https://codecov.io/gh/lasuillard/django-slack-tools)
6
- ![PyPI - Version](https://img.shields.io/pypi/v/django-slack-tools)
4
+ [![codecov](https://codecov.io/gh/lasuillard-s/django-slack-tools/graph/badge.svg?token=c8kzjqjplF)](https://codecov.io/gh/lasuillard-s/django-slack-tools)
5
+ [![PyPI - Version](https://img.shields.io/pypi/v/django-slack-tools)](https://pypi.org/project/django-slack-tools/)
7
6
 
8
7
  Little helpers working with Slack bot 🤖 in Django.
9
8
 
@@ -1,5 +1,4 @@
1
1
  """Application settings."""
2
- # flake8: noqa: UP007
3
2
 
4
3
  from __future__ import annotations
5
4
 
@@ -15,7 +14,7 @@ from typing_extensions import NotRequired, Self
15
14
  from django_slack_tools.utils.import_helper import LazyInitSpec, lazy_init
16
15
 
17
16
  if TYPE_CHECKING:
18
- from django_slack_tools.slack_messages.messenger import Messenger
17
+ from django_slack_tools.messenger.shortcuts import Messenger
19
18
 
20
19
  logger = getLogger(__name__)
21
20
 
@@ -9,12 +9,12 @@ from typing import TYPE_CHECKING, Any, Optional, cast
9
9
 
10
10
  from slack_sdk.errors import SlackApiError
11
11
 
12
- from django_slack_tools.slack_messages.response import MessageResponse
12
+ from django_slack_tools.messenger.response import MessageResponse
13
13
 
14
14
  if TYPE_CHECKING:
15
15
  from slack_sdk.web import SlackResponse
16
16
 
17
- from django_slack_tools.slack_messages.request import MessageBody, MessageHeader, MessageRequest
17
+ from django_slack_tools.messenger.request import MessageBody, MessageHeader, MessageRequest
18
18
 
19
19
 
20
20
  logger = getLogger(__name__)
@@ -0,0 +1,4 @@
1
+ from .base import BaseTemplate
2
+ from .python import PythonTemplate
3
+
4
+ __all__ = ("BaseTemplate", "PythonTemplate")
@@ -4,16 +4,16 @@ from __future__ import annotations
4
4
  import logging
5
5
  from typing import TYPE_CHECKING, Any
6
6
 
7
- from django_slack_tools.slack_messages.backends import BaseBackend
8
- from django_slack_tools.slack_messages.middlewares import BaseMiddleware
9
- from django_slack_tools.slack_messages.request import MessageBody, MessageHeader, MessageRequest
10
- from django_slack_tools.slack_messages.template_loaders import BaseTemplateLoader, TemplateNotFoundError
7
+ from .backends import BaseBackend
8
+ from .middlewares import BaseMiddleware
9
+ from .request import MessageBody, MessageHeader, MessageRequest
10
+ from .template_loaders import BaseTemplateLoader, TemplateNotFoundError
11
11
 
12
12
  if TYPE_CHECKING:
13
13
  from collections.abc import Sequence
14
14
 
15
- from django_slack_tools.slack_messages.message_templates import BaseTemplate
16
- from django_slack_tools.slack_messages.response import MessageResponse
15
+ from .message_templates import BaseTemplate
16
+ from .response import MessageResponse
17
17
 
18
18
  logger = logging.getLogger(__name__)
19
19
 
@@ -0,0 +1,3 @@
1
+ from .base import BaseMiddleware
2
+
3
+ __all__ = ("BaseMiddleware",)
@@ -4,8 +4,8 @@ from __future__ import annotations
4
4
  from typing import TYPE_CHECKING
5
5
 
6
6
  if TYPE_CHECKING:
7
- from django_slack_tools.slack_messages.request import MessageRequest
8
- from django_slack_tools.slack_messages.response import MessageResponse
7
+ from django_slack_tools.messenger.request import MessageRequest
8
+ from django_slack_tools.messenger.response import MessageResponse
9
9
 
10
10
 
11
11
  class BaseMiddleware:
@@ -1,6 +1,6 @@
1
1
  # noqa: D100
2
- # flake8: noqa: UP006, UP007, UP035
3
- # #? Subscription syntax available since Python 3.10
2
+ # flake8: noqa: UP006, UP035
3
+ # ? Subscription syntax available since Python 3.10
4
4
  from __future__ import annotations
5
5
 
6
6
  import uuid
@@ -1,5 +1,4 @@
1
1
  # noqa: D100
2
- # flake8: noqa: UP006, UP007, UP035
3
2
  # ? Subscription syntax available since Python 3.10
4
3
  from __future__ import annotations
5
4
 
@@ -7,7 +6,7 @@ from typing import Any, Optional
7
6
 
8
7
  from pydantic import BaseModel
9
8
 
10
- from django_slack_tools.slack_messages.request import MessageRequest # noqa: TC001
9
+ from .request import MessageRequest # noqa: TC001
11
10
 
12
11
 
13
12
  class MessageResponse(BaseModel):
@@ -0,0 +1,28 @@
1
+ """Re-export shortcuts for the messenger module."""
2
+
3
+ from .backends import BaseBackend, DummyBackend, LoggingBackend, SlackBackend, SlackRedirectBackend
4
+ from .message_templates import BaseTemplate, PythonTemplate
5
+ from .messenger import Messenger
6
+ from .middlewares import BaseMiddleware
7
+ from .request import MessageBody, MessageHeader, MessageRequest
8
+ from .response import MessageResponse
9
+ from .template_loaders import BaseTemplateLoader, TemplateLoadError, TemplateNotFoundError
10
+
11
+ __all__ = (
12
+ "BaseBackend",
13
+ "BaseMiddleware",
14
+ "BaseTemplate",
15
+ "BaseTemplateLoader",
16
+ "DummyBackend",
17
+ "LoggingBackend",
18
+ "MessageBody",
19
+ "MessageHeader",
20
+ "MessageRequest",
21
+ "MessageResponse",
22
+ "Messenger",
23
+ "PythonTemplate",
24
+ "SlackBackend",
25
+ "SlackRedirectBackend",
26
+ "TemplateLoadError",
27
+ "TemplateNotFoundError",
28
+ )
@@ -0,0 +1,4 @@
1
+ from .base import BaseTemplateLoader
2
+ from .errors import TemplateLoadError, TemplateNotFoundError
3
+
4
+ __all__ = ("BaseTemplateLoader", "TemplateLoadError", "TemplateNotFoundError")
@@ -5,7 +5,7 @@ from abc import ABC, abstractmethod
5
5
  from typing import TYPE_CHECKING
6
6
 
7
7
  if TYPE_CHECKING:
8
- from django_slack_tools.slack_messages.message_templates import BaseTemplate
8
+ from django_slack_tools.messenger.shortcuts import BaseTemplate
9
9
 
10
10
 
11
11
  class BaseTemplateLoader(ABC):
@@ -13,8 +13,8 @@ class DjangoSlackBotConfig(AppConfig): # noqa: D101
13
13
  def ready(self) -> None: # pragma: no cover
14
14
  """Auto-discover Celery tasks, if Celery is installed."""
15
15
  try:
16
- import celery # noqa: F401
16
+ import celery # noqa: F401, PLC0415
17
17
  except ImportError:
18
18
  pass
19
19
  else:
20
- from . import tasks # noqa: F401
20
+ from . import tasks # noqa: F401, PLC0415
@@ -0,0 +1,11 @@
1
+ from .message_templates import DjangoTemplate
2
+ from .middlewares import DjangoDatabasePersister, DjangoDatabasePolicyHandler
3
+ from .template_loaders import DjangoPolicyTemplateLoader, DjangoTemplateLoader
4
+
5
+ __all__ = (
6
+ "DjangoDatabasePersister",
7
+ "DjangoDatabasePolicyHandler",
8
+ "DjangoPolicyTemplateLoader",
9
+ "DjangoTemplate",
10
+ "DjangoTemplateLoader",
11
+ )
@@ -10,7 +10,7 @@ from typing import TYPE_CHECKING, overload
10
10
  import xmltodict
11
11
  from django.template import engines
12
12
 
13
- from .base import BaseTemplate
13
+ from django_slack_tools.messenger.shortcuts import BaseTemplate
14
14
 
15
15
  if TYPE_CHECKING:
16
16
  from typing import Any
@@ -7,14 +7,11 @@ from typing import TYPE_CHECKING, Literal
7
7
  from slack_bolt import App
8
8
  from slack_sdk.errors import SlackApiError
9
9
 
10
+ from django_slack_tools.messenger.shortcuts import BaseMiddleware, MessageHeader, MessageRequest
10
11
  from django_slack_tools.slack_messages.models import SlackMessage, SlackMessageRecipient, SlackMessagingPolicy
11
- from django_slack_tools.slack_messages.request import MessageHeader, MessageRequest
12
-
13
- from .base import BaseMiddleware
14
12
 
15
13
  if TYPE_CHECKING:
16
- from django_slack_tools.slack_messages.messenger import Messenger
17
- from django_slack_tools.slack_messages.response import MessageResponse
14
+ from django_slack_tools.messenger.shortcuts import MessageResponse, Messenger
18
15
 
19
16
  logger = logging.getLogger(__name__)
20
17
 
@@ -133,7 +130,7 @@ class DjangoDatabasePolicyHandler(BaseMiddleware):
133
130
  def messenger(self) -> Messenger:
134
131
  """Get the messenger instance. If it's a string, will get the messenger from the app settings."""
135
132
  if isinstance(self._messenger, str):
136
- from django_slack_tools.app_settings import get_messenger
133
+ from django_slack_tools.app_settings import get_messenger # noqa: PLC0415
137
134
 
138
135
  self._messenger = get_messenger(self._messenger)
139
136
 
@@ -6,10 +6,10 @@ from typing import TYPE_CHECKING
6
6
 
7
7
  from django.template import TemplateDoesNotExist, engines
8
8
 
9
- from django_slack_tools.slack_messages.message_templates import DjangoTemplate, PythonTemplate
9
+ from django_slack_tools.messenger.shortcuts import BaseTemplateLoader, PythonTemplate
10
10
  from django_slack_tools.slack_messages.models import SlackMessagingPolicy
11
11
 
12
- from .base import BaseTemplateLoader
12
+ from .message_templates import DjangoTemplate
13
13
 
14
14
  if TYPE_CHECKING:
15
15
  from django.template.backends.base import BaseEngine
@@ -6,10 +6,10 @@ import logging
6
6
  from typing import TYPE_CHECKING, Any, overload
7
7
 
8
8
  from django_slack_tools.app_settings import get_messenger
9
- from django_slack_tools.slack_messages.request import MessageBody, MessageHeader, MessageRequest
9
+ from django_slack_tools.messenger.shortcuts import MessageBody, MessageHeader, MessageRequest
10
10
 
11
11
  if TYPE_CHECKING:
12
- from django_slack_tools.slack_messages.response import MessageResponse
12
+ from django_slack_tools.messenger.shortcuts import MessageResponse
13
13
 
14
14
  logger = logging.getLogger(__name__)
15
15
 
@@ -9,8 +9,8 @@ from celery import shared_task
9
9
  from celery.utils.log import get_task_logger
10
10
  from django.utils import timezone
11
11
 
12
- from django_slack_tools.slack_messages import shortcuts
13
- from django_slack_tools.slack_messages.models import SlackMessage
12
+ from . import shortcuts
13
+ from .models import SlackMessage
14
14
 
15
15
  if TYPE_CHECKING:
16
16
  from typing import Any
@@ -4,7 +4,7 @@ from __future__ import annotations
4
4
 
5
5
  from django.core.exceptions import ValidationError
6
6
 
7
- from django_slack_tools.slack_messages.request import MessageBody, MessageHeader
7
+ from django_slack_tools.messenger.shortcuts import MessageBody, MessageHeader
8
8
 
9
9
 
10
10
  def header_validator(d: dict) -> None:
@@ -1,5 +1,4 @@
1
1
  """Application settings."""
2
- # flake8: noqa: UP007
3
2
 
4
3
  from __future__ import annotations
5
4