django-slack-tools 0.3.1__tar.gz → 0.3.2__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 (217) hide show
  1. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.devcontainer/devcontainer.json +2 -2
  2. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.github/workflows/ci.yaml +8 -8
  3. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.github/workflows/docs.yaml +6 -5
  4. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.github/workflows/release.yaml +6 -5
  5. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.pre-commit-config.yaml +12 -4
  6. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/PKG-INFO +5 -23
  7. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/README.md +1 -1
  8. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/app_settings.py +1 -2
  9. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/backends/base.py +2 -2
  10. django_slack_tools-0.3.2/django_slack_tools/messenger/message_templates/__init__.py +4 -0
  11. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/messenger.py +6 -6
  12. django_slack_tools-0.3.2/django_slack_tools/messenger/middlewares/__init__.py +3 -0
  13. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/middlewares/base.py +2 -2
  14. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/request.py +2 -2
  15. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/response.py +1 -2
  16. django_slack_tools-0.3.2/django_slack_tools/messenger/shortcuts.py +28 -0
  17. django_slack_tools-0.3.2/django_slack_tools/messenger/template_loaders/__init__.py +4 -0
  18. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/template_loaders/base.py +1 -1
  19. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/apps.py +2 -2
  20. django_slack_tools-0.3.2/django_slack_tools/slack_messages/messenger/__init__.py +11 -0
  21. django_slack_tools-0.3.1/django_slack_tools/slack_messages/message_templates/django.py → django_slack_tools-0.3.2/django_slack_tools/slack_messages/messenger/message_templates.py +1 -1
  22. django_slack_tools-0.3.1/django_slack_tools/slack_messages/middlewares/django.py → django_slack_tools-0.3.2/django_slack_tools/slack_messages/messenger/middlewares.py +3 -6
  23. django_slack_tools-0.3.1/django_slack_tools/slack_messages/template_loaders/django.py → django_slack_tools-0.3.2/django_slack_tools/slack_messages/messenger/template_loaders.py +2 -2
  24. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/shortcuts.py +2 -2
  25. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/tasks.py +2 -2
  26. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/validators.py +1 -1
  27. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/utils/import_helper.py +0 -1
  28. django_slack_tools-0.3.2/docs/api-references/messenger.md +27 -0
  29. django_slack_tools-0.3.1/docs/api-references/slack-messages/django-integration.md → django_slack_tools-0.3.2/docs/api-references/slack-messages.md +4 -4
  30. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/docs/quick-start.md +3 -3
  31. {django_slack_tools-0.3.1/docs/api-references/slack-messages → django_slack_tools-0.3.2/docs/usages}/celery-support.md +1 -1
  32. django_slack_tools-0.3.2/docs/usages/sending-messages.md +3 -0
  33. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/Makefile +1 -1
  34. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/manage.py +1 -1
  35. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo/settings.py +6 -6
  36. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo/urls.py +1 -1
  37. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/apps.py +1 -1
  38. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/uv.lock +6 -4
  39. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/mkdocs.yaml +7 -5
  40. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/noxfile.py +0 -3
  41. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/pyproject.toml +19 -9
  42. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/testproj/config/settings.py +7 -7
  43. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/testproj/config/urls.py +1 -1
  44. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/testproj/manage.py +1 -1
  45. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/_helpers.py +1 -1
  46. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/conftest.py +2 -2
  47. django_slack_tools-0.3.2/tests/messenger/_factories.py +27 -0
  48. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/_helpers.py +5 -7
  49. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/backends/test_dummy.py +7 -3
  50. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/backends/test_logging_.py +7 -3
  51. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/backends/test_slack.py +10 -5
  52. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/message_templates/test_python.py +1 -1
  53. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/test_messenger.py +4 -8
  54. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/test_request.py +1 -1
  55. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/test_response.py +1 -1
  56. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/_factories.py +1 -25
  57. django_slack_tools-0.3.2/tests/slack_messages/messenger/__init__.py +0 -0
  58. django_slack_tools-0.3.1/tests/slack_messages/message_templates/test_django.py → django_slack_tools-0.3.2/tests/slack_messages/messenger/test_message_templates.py +1 -1
  59. django_slack_tools-0.3.1/tests/slack_messages/middlewares/test_django.py → django_slack_tools-0.3.2/tests/slack_messages/messenger/test_middlewares.py +13 -17
  60. django_slack_tools-0.3.1/tests/slack_messages/template_loaders/test_django.py → django_slack_tools-0.3.2/tests/slack_messages/messenger/test_template_loaders.py +2 -2
  61. django_slack_tools-0.3.2/tests/slack_messages/models/__init__.py +0 -0
  62. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/test_shortcuts.py +6 -6
  63. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/test_validators.py +11 -0
  64. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/test_app_settings.py +15 -15
  65. django_slack_tools-0.3.2/tests/utils/__init__.py +0 -0
  66. django_slack_tools-0.3.2/tests/utils/django/__init__.py +0 -0
  67. django_slack_tools-0.3.2/tests/utils/slack/__init__.py +0 -0
  68. django_slack_tools-0.3.2/tests/utils/test_import_helper.py +0 -0
  69. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/uv.lock +949 -891
  70. django_slack_tools-0.3.1/django_slack_tools/slack_messages/message_templates/__init__.py +0 -5
  71. django_slack_tools-0.3.1/django_slack_tools/slack_messages/middlewares/__init__.py +0 -4
  72. django_slack_tools-0.3.1/django_slack_tools/slack_messages/template_loaders/__init__.py +0 -11
  73. django_slack_tools-0.3.1/docs/api-references/slack-messages/messenger-framework.md +0 -19
  74. django_slack_tools-0.3.1/docs/api-references/slack-messages/sending-messages.md +0 -11
  75. django_slack_tools-0.3.1/tests/utils/slack/test_django.py +0 -24
  76. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.devcontainer/onCreateCommand.sh +0 -0
  77. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.editorconfig +0 -0
  78. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.gitattributes +0 -0
  79. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.github/dependabot.yaml +0 -0
  80. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.gitignore +0 -0
  81. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.python-version +0 -0
  82. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.vscode/extensions.json +0 -0
  83. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.vscode/launch.json +0 -0
  84. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/.vscode/settings.json +0 -0
  85. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/CONTRIBUTING.md +0 -0
  86. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/LICENSE +0 -0
  87. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/Makefile +0 -0
  88. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/__init__.py +0 -0
  89. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/locale/ko_KR/LC_MESSAGES/django.po +0 -0
  90. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/__init__.py +0 -0
  91. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/backends/__init__.py +0 -0
  92. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/backends/dummy.py +0 -0
  93. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/backends/logging_.py +0 -0
  94. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/backends/slack.py +0 -0
  95. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/message_templates/base.py +0 -0
  96. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/message_templates/python.py +0 -0
  97. {django_slack_tools-0.3.1/django_slack_tools/slack_messages → django_slack_tools-0.3.2/django_slack_tools/messenger}/template_loaders/errors.py +0 -0
  98. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/py.typed +0 -0
  99. {django_slack_tools-0.3.1/django_slack_tools/slack_messages/migrations → django_slack_tools-0.3.2/django_slack_tools/slack_events}/__init__.py +0 -0
  100. {django_slack_tools-0.3.1/django_slack_tools → django_slack_tools-0.3.2/django_slack_tools/slack_events}/views.py +0 -0
  101. {django_slack_tools-0.3.1/django_slack_tools/utils → django_slack_tools-0.3.2/django_slack_tools/slack_messages}/__init__.py +0 -0
  102. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/admin/__init__.py +0 -0
  103. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/admin/mention.py +0 -0
  104. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/admin/message.py +0 -0
  105. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/admin/message_recipient.py +0 -0
  106. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/admin/messaging_policy.py +0 -0
  107. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/migrations/0001_initial.py +0 -0
  108. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/migrations/0002_default_policy.py +0 -0
  109. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/migrations/0003_default_recipient.py +0 -0
  110. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/migrations/0004_slackmessagingpolicy_template_type.py +0 -0
  111. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/migrations/0005_alter_slackmessagingpolicy_template_type.py +0 -0
  112. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/migrations/0006_alter_slackmessage_id.py +0 -0
  113. {django_slack_tools-0.3.1/django_slack_tools/utils/django → django_slack_tools-0.3.2/django_slack_tools/slack_messages/migrations}/__init__.py +0 -0
  114. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/models/__init__.py +0 -0
  115. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/models/mention.py +0 -0
  116. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/models/message.py +0 -0
  117. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/models/message_recipient.py +0 -0
  118. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/slack_messages/models/messaging_policy.py +0 -0
  119. {django_slack_tools-0.3.1/examples/todo/todo_app → django_slack_tools-0.3.2/django_slack_tools/utils}/__init__.py +0 -0
  120. {django_slack_tools-0.3.1/examples/todo/todo_app/migrations → django_slack_tools-0.3.2/django_slack_tools/utils/django}/__init__.py +0 -0
  121. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/utils/django/model_mixins.py +0 -0
  122. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/utils/django/widgets.py +0 -0
  123. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/utils/repr.py +0 -0
  124. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/utils/slack/__init__.py +0 -0
  125. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/django_slack_tools/utils/slack/misc.py +0 -0
  126. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/docs/index.md +0 -0
  127. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/.env.example +0 -0
  128. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/.python-version +0 -0
  129. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/README.md +0 -0
  130. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/docker-compose.yaml +0 -0
  131. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/docs/messages.png +0 -0
  132. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/docs/slack-app-home.png +0 -0
  133. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/docs/slash-command.png +0 -0
  134. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/dump.json +0 -0
  135. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/pyproject.toml +0 -0
  136. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo/__init__.py +0 -0
  137. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo/celery.py +0 -0
  138. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo/slack_app.py +0 -0
  139. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo/wsgi.py +0 -0
  140. {django_slack_tools-0.3.1/testproj → django_slack_tools-0.3.2/examples/todo/todo_app}/__init__.py +0 -0
  141. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/admin.py +0 -0
  142. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/migrations/0001_initial.py +0 -0
  143. {django_slack_tools-0.3.1/testproj/config → django_slack_tools-0.3.2/examples/todo/todo_app/migrations}/__init__.py +0 -0
  144. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/models.py +0 -0
  145. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/services.py +0 -0
  146. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/signals.py +0 -0
  147. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/slack_listeners.py +0 -0
  148. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/templates/todo-created.xml +0 -0
  149. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/examples/todo/todo_app/templates/todo-updated.xml +0 -0
  150. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/manage.py +0 -0
  151. {django_slack_tools-0.3.1/tests → django_slack_tools-0.3.2/testproj}/__init__.py +0 -0
  152. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/testproj/config}/__init__.py +0 -0
  153. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/testproj/config/slack_app.py +0 -0
  154. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/testproj/config/wsgi.py +0 -0
  155. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/testproj/templates/greet.xml +0 -0
  156. {django_slack_tools-0.3.1/tests/slack_messages/admin → django_slack_tools-0.3.2/tests}/__init__.py +0 -0
  157. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/_factories.py +0 -0
  158. {django_slack_tools-0.3.1/tests/slack_messages/backends → django_slack_tools-0.3.2/tests/messenger}/__init__.py +0 -0
  159. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/messenger/backends}/__init__.py +0 -0
  160. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/backends/test_base.py +0 -0
  161. {django_slack_tools-0.3.1/tests/slack_messages/middlewares → django_slack_tools-0.3.2/tests/messenger/message_templates}/__init__.py +0 -0
  162. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/message_templates/test_base.py +0 -0
  163. {django_slack_tools-0.3.1/tests/slack_messages/models → django_slack_tools-0.3.2/tests/messenger/middlewares}/__init__.py +0 -0
  164. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/middlewares/test_base.py +0 -0
  165. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/template_loaders/__init__.py +0 -0
  166. {django_slack_tools-0.3.1/tests/slack_messages → django_slack_tools-0.3.2/tests/messenger}/template_loaders/test_base.py +0 -0
  167. /django_slack_tools-0.3.1/tests/utils/__init__.py → /django_slack_tools-0.3.2/tests/messenger/test_shortcuts.py +0 -0
  168. {django_slack_tools-0.3.1/tests/utils/django → django_slack_tools-0.3.2/tests/slack_events}/__init__.py +0 -0
  169. {django_slack_tools-0.3.1/tests → django_slack_tools-0.3.2/tests/slack_events}/test_views.py +0 -0
  170. {django_slack_tools-0.3.1/tests/utils/slack → django_slack_tools-0.3.2/tests/slack_messages}/__init__.py +0 -0
  171. /django_slack_tools-0.3.1/tests/utils/test_import_helper.py → /django_slack_tools-0.3.2/tests/slack_messages/admin/__init__.py +0 -0
  172. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/admin/test_mention.py +0 -0
  173. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/admin/test_message.py +0 -0
  174. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/admin/test_message_recipient.py +0 -0
  175. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/admin/test_messaging_policy.py +0 -0
  176. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/approval.json +0 -0
  177. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/approval.png +0 -0
  178. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/approval.xml +0 -0
  179. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/bullet-list.json +0 -0
  180. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/bullet-list.png +0 -0
  181. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/bullet-list.xml +0 -0
  182. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/complex-template-with-context.xml +0 -0
  183. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/complex-template.json +0 -0
  184. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/complex-template.png +0 -0
  185. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/complex-template.xml +0 -0
  186. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/newsletter.json +0 -0
  187. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/newsletter.png +0 -0
  188. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/newsletter.xml +0 -0
  189. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/notification.json +0 -0
  190. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/notification.png +0 -0
  191. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/notification.xml +0 -0
  192. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/onboarding-1.json +0 -0
  193. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/onboarding-1.png +0 -0
  194. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/onboarding-1.xml +0 -0
  195. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/onboarding-2.json +0 -0
  196. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/onboarding-2.png +0 -0
  197. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/onboarding-2.xml +0 -0
  198. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/poll.json +0 -0
  199. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/poll.png +0 -0
  200. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/poll.xml +0 -0
  201. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/search-results-1.json +0 -0
  202. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/search-results-1.png +0 -0
  203. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/search-results-1.xml +0 -0
  204. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/search-results-2.json +0 -0
  205. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/search-results-2.png +0 -0
  206. {django_slack_tools-0.3.1/tests/slack_messages/message_templates → django_slack_tools-0.3.2/tests/slack_messages/messenger}/testcases/search-results-2.xml +0 -0
  207. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/models/_factories.py +0 -0
  208. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/models/test_mention.py +0 -0
  209. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/models/test_message.py +0 -0
  210. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/models/test_message_recipient.py +0 -0
  211. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/models/test_messaging_policy.py +0 -0
  212. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/test_apps.py +0 -0
  213. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/slack_messages/test_tasks.py +0 -0
  214. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/utils/django/test_model_mixins.py +0 -0
  215. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/utils/django/test_widgets.py +0 -0
  216. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/utils/slack/test_misc.py +0 -0
  217. {django_slack_tools-0.3.1 → django_slack_tools-0.3.2}/tests/utils/test_repr.py +0 -0
@@ -2,8 +2,8 @@
2
2
  "name": "lasuillard/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": {}
@@ -17,16 +17,16 @@ jobs:
17
17
  runs-on: ubuntu-latest
18
18
  steps:
19
19
  - name: Checkout
20
- uses: actions/checkout@v4
20
+ uses: actions/checkout@v5
21
21
 
22
22
  - name: Set up uv
23
- uses: astral-sh/setup-uv@v5
23
+ uses: astral-sh/setup-uv@v6
24
24
  with:
25
25
  version: latest
26
26
  enable-cache: true
27
27
 
28
28
  - name: Install deps
29
- run: uv sync --all-extras
29
+ run: uv sync
30
30
 
31
31
  - uses: pre-commit/action@v3.0.1
32
32
  env:
@@ -45,20 +45,20 @@ jobs:
45
45
  fail-fast: false
46
46
  matrix:
47
47
  python-version: ["3.10", "3.11", "3.12"]
48
- django-version: ["4.2", "5.0", "5.1"]
48
+ django-version: ["4.2", "5.2"]
49
49
  include:
50
50
  - python-version: "3.9"
51
51
  django-version: "4.2"
52
52
 
53
53
  - python-version: "3.13"
54
- django-version: "5.1"
54
+ django-version: "5.2"
55
55
 
56
56
  steps:
57
57
  - name: Checkout
58
- uses: actions/checkout@v4
58
+ uses: actions/checkout@v5
59
59
 
60
60
  - name: Set up uv
61
- uses: astral-sh/setup-uv@v5
61
+ uses: astral-sh/setup-uv@v6
62
62
  with:
63
63
  version: latest
64
64
  enable-cache: true
@@ -67,7 +67,7 @@ jobs:
67
67
  run: uv python pin "${{ matrix.python-version }}"
68
68
 
69
69
  - name: Install deps
70
- run: uv sync --all-extras
70
+ run: uv sync
71
71
 
72
72
  - name: Install Django
73
73
  run: uv pip install Django=="${{ matrix.django-version }}.*"
@@ -4,7 +4,8 @@ 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:
@@ -12,22 +13,22 @@ jobs:
12
13
  runs-on: ubuntu-latest
13
14
  steps:
14
15
  - name: Checkout
15
- uses: actions/checkout@v4
16
+ uses: actions/checkout@v5
16
17
 
17
18
  - name: Set up uv
18
- uses: astral-sh/setup-uv@v5
19
+ uses: astral-sh/setup-uv@v6
19
20
  with:
20
21
  version: latest
21
22
  enable-cache: true
22
23
 
23
24
  - name: Install deps
24
- run: uv sync --frozen --all-extras
25
+ run: uv sync
25
26
 
26
27
  - name: Generate API docs
27
28
  run: make docs
28
29
 
29
30
  - name: Upload docs artifact
30
- uses: actions/upload-pages-artifact@v3
31
+ uses: actions/upload-pages-artifact@v4
31
32
  with:
32
33
  path: site/
33
34
 
@@ -4,7 +4,8 @@ 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
  release:
@@ -14,16 +15,16 @@ jobs:
14
15
  contents: write
15
16
  steps:
16
17
  - name: Checkout
17
- uses: actions/checkout@v4
18
+ uses: actions/checkout@v5
18
19
 
19
20
  - name: Set up uv
20
- uses: astral-sh/setup-uv@v5
21
+ uses: astral-sh/setup-uv@v6
21
22
  with:
22
23
  version: latest
23
24
  enable-cache: true
24
25
 
25
26
  - name: Install deps
26
- run: uv sync --frozen --all-extras
27
+ run: uv sync
27
28
 
28
29
  - name: Build package
29
30
  run: uv build
@@ -50,7 +51,7 @@ jobs:
50
51
  environment: pypi
51
52
  steps:
52
53
  - name: Retrieve release distributions
53
- uses: actions/download-artifact@v4
54
+ uses: actions/download-artifact@v5
54
55
  with:
55
56
  name: release-dists
56
57
  path: dist/
@@ -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.2
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,27 +15,6 @@ 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
@@ -40,7 +22,7 @@ Description-Content-Type: text/markdown
40
22
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
41
23
  [![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
24
  [![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)
25
+ [![PyPI - Version](https://img.shields.io/pypi/v/django-slack-tools)](https://pypi.org/project/django-slack-tools/)
44
26
 
45
27
  Little helpers working with Slack bot 🤖 in Django.
46
28
 
@@ -3,7 +3,7 @@
3
3
  [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
4
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
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)
6
+ [![PyPI - Version](https://img.shields.io/pypi/v/django-slack-tools)](https://pypi.org/project/django-slack-tools/)
7
7
 
8
8
  Little helpers working with Slack bot 🤖 in Django.
9
9
 
@@ -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
 
@@ -0,0 +1,27 @@
1
+ ::: django_slack_tools.messenger.backends
2
+ options:
3
+ show_root_heading: true
4
+
5
+ ::: django_slack_tools.messenger.message_templates
6
+ options:
7
+ show_root_heading: true
8
+
9
+ ::: django_slack_tools.messenger.middlewares
10
+ options:
11
+ show_root_heading: true
12
+
13
+ ::: django_slack_tools.messenger.template_loaders
14
+ options:
15
+ show_root_heading: true
16
+
17
+ ::: django_slack_tools.messenger.messenger
18
+ options:
19
+ show_root_heading: true
20
+
21
+ ::: django_slack_tools.messenger.request
22
+ options:
23
+ show_root_heading: true
24
+
25
+ ::: django_slack_tools.messenger.response
26
+ options:
27
+ show_root_heading: true
@@ -1,15 +1,15 @@
1
- ::: django_slack_tools.slack_messages.models
1
+ ::: django_slack_tools.slack_messages.messenger
2
2
  options:
3
3
  show_root_heading: true
4
4
 
5
- ::: django_slack_tools.slack_messages.middlewares.django
5
+ ::: django_slack_tools.slack_messages.models
6
6
  options:
7
7
  show_root_heading: true
8
8
 
9
- ::: django_slack_tools.slack_messages.message_templates.django
9
+ ::: django_slack_tools.slack_messages.shortcuts
10
10
  options:
11
11
  show_root_heading: true
12
12
 
13
- ::: django_slack_tools.slack_messages.template_loaders.django
13
+ ::: django_slack_tools.slack_messages.tasks
14
14
  options:
15
15
  show_root_heading: true
@@ -29,14 +29,14 @@ Add configuration for application:
29
29
  DJANGO_SLACK_TOOLS = {
30
30
  "messengers": {
31
31
  "default": {
32
- "class": "django_slack_tools.slack_messages.messenger.Messenger",
32
+ "class": "django_slack_tools.messenger.shortcuts.Messenger",
33
33
  "kwargs": {
34
34
  "template_loaders": [
35
- "django_slack_tools.slack_messages.template_loaders.DjangoTemplateLoader",
35
+ "django_slack_tools.slack_messages.messenger.DjangoTemplateLoader",
36
36
  ],
37
37
  "middlewares": [],
38
38
  "messaging_backend": {
39
- "class": "django_slack_tools.slack_messages.backends.SlackBackend",
39
+ "class": "django_slack_tools.messenger.shortcuts.SlackBackend",
40
40
  "kwargs": {
41
41
  "slack_app": "<module.path.to.your-slack-app>",
42
42
  },
@@ -1,3 +1,3 @@
1
1
  ::: django_slack_tools.slack_messages.tasks
2
2
  options:
3
- show_root_heading: true
3
+ show_root_heading: false
@@ -0,0 +1,3 @@
1
+ ::: django_slack_tools.slack_messages.shortcuts
2
+ options:
3
+ show_root_heading: false
@@ -19,7 +19,7 @@ help: Makefile ## Show help
19
19
  # =============================================================================
20
20
  install: ## Install deps
21
21
  uv python install
22
- uv sync --frozen --all-extras
22
+ uv sync --frozen
23
23
  .PHONY: install
24
24
 
25
25
  run: ## Run development server
@@ -9,7 +9,7 @@ def main() -> None:
9
9
  """Run administrative tasks."""
10
10
  os.environ.setdefault("DJANGO_SETTINGS_MODULE", "todo.settings")
11
11
  try:
12
- from django.core.management import execute_from_command_line
12
+ from django.core.management import execute_from_command_line # noqa: PLC0415
13
13
  except ImportError as exc:
14
14
  raise ImportError( # noqa: TRY003
15
15
  "Couldn't import Django. Are you sure it's installed and " # noqa: EM101
@@ -147,23 +147,23 @@ DJANGO_SLACK_TOOLS = {
147
147
  "slack_app": "todo.slack_app.app",
148
148
  "messengers": {
149
149
  "default": {
150
- "class": "django_slack_tools.slack_messages.messenger.Messenger",
150
+ "class": "django_slack_tools.messenger.shortcuts.Messenger",
151
151
  "kwargs": {
152
152
  "template_loaders": [
153
- "django_slack_tools.slack_messages.template_loaders.DjangoTemplateLoader",
154
- "django_slack_tools.slack_messages.template_loaders.DjangoPolicyTemplateLoader",
153
+ "django_slack_tools.slack_messages.messenger.DjangoTemplateLoader",
154
+ "django_slack_tools.slack_messages.messenger.DjangoPolicyTemplateLoader",
155
155
  ],
156
156
  "middlewares": [
157
157
  {
158
- "class": "django_slack_tools.slack_messages.middlewares.DjangoDatabasePolicyHandler",
158
+ "class": "django_slack_tools.slack_messages.messenger.DjangoDatabasePolicyHandler",
159
159
  "kwargs": {
160
160
  "messenger": "default",
161
161
  },
162
162
  },
163
- "django_slack_tools.slack_messages.middlewares.DjangoDatabasePersister",
163
+ "django_slack_tools.slack_messages.messenger.DjangoDatabasePersister",
164
164
  ],
165
165
  "messaging_backend": {
166
- "class": "django_slack_tools.slack_messages.backends.SlackBackend",
166
+ "class": "django_slack_tools.messenger.shortcuts.SlackBackend",
167
167
  "kwargs": {
168
168
  "slack_app": "todo.slack_app.app",
169
169
  },
@@ -1,7 +1,7 @@
1
1
  from django.contrib import admin
2
2
  from django.urls import path
3
3
 
4
- from django_slack_tools.views import SlackEventHandlerView
4
+ from django_slack_tools.slack_events.views import SlackEventHandlerView
5
5
  from todo.slack_app import app
6
6
 
7
7
  urlpatterns = [