django-cfg 1.3.13__py3-none-any.whl → 1.4.0__py3-none-any.whl

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 (438) hide show
  1. django_cfg/__init__.py +1 -1
  2. django_cfg/apps/accounts/admin/user_admin.py +39 -16
  3. django_cfg/apps/accounts/serializers/profile.py +1 -1
  4. django_cfg/apps/accounts/services/otp_service.py +18 -11
  5. django_cfg/apps/accounts/signals.py +15 -24
  6. django_cfg/apps/accounts/utils/notifications.py +217 -358
  7. django_cfg/apps/accounts/views/otp.py +2 -2
  8. django_cfg/apps/accounts/views/webhook.py +1 -1
  9. django_cfg/apps/agents/core/django_agent.py +1 -1
  10. django_cfg/apps/api/commands/views.py +66 -83
  11. django_cfg/apps/api/health/drf_views.py +269 -0
  12. django_cfg/apps/api/health/serializers.py +45 -0
  13. django_cfg/apps/api/health/urls.py +6 -1
  14. django_cfg/apps/knowbase/admin/actions/__init__.py +13 -0
  15. django_cfg/apps/knowbase/admin/actions/visibility_actions.py +56 -0
  16. django_cfg/apps/knowbase/admin/document_admin.py +136 -270
  17. django_cfg/apps/knowbase/admin/helpers/__init__.py +17 -0
  18. django_cfg/apps/knowbase/admin/helpers/configs.py +72 -0
  19. django_cfg/apps/knowbase/admin/helpers/display_helpers.py +156 -0
  20. django_cfg/apps/knowbase/admin/helpers/statistics.py +108 -0
  21. django_cfg/apps/knowbase/config/constance_fields.py +1 -1
  22. django_cfg/apps/knowbase/config/settings.py +2 -2
  23. django_cfg/apps/knowbase/mixins/__init__.py +19 -2
  24. django_cfg/apps/knowbase/mixins/config/__init__.py +14 -0
  25. django_cfg/apps/knowbase/mixins/config/defaults.py +75 -0
  26. django_cfg/apps/knowbase/mixins/config/meta_config.py +120 -0
  27. django_cfg/apps/knowbase/mixins/creator.py +10 -10
  28. django_cfg/apps/knowbase/mixins/external_data_mixin.py +105 -403
  29. django_cfg/apps/knowbase/mixins/generators/__init__.py +16 -0
  30. django_cfg/apps/knowbase/mixins/generators/content_generator.py +218 -0
  31. django_cfg/apps/knowbase/mixins/generators/field_analyzer.py +76 -0
  32. django_cfg/apps/knowbase/mixins/generators/metadata_generator.py +124 -0
  33. django_cfg/apps/knowbase/mixins/service.py +2 -2
  34. django_cfg/apps/knowbase/services/archive/__init__.py +1 -0
  35. django_cfg/apps/knowbase/services/archive/analyzers/__init__.py +17 -0
  36. django_cfg/apps/knowbase/services/archive/analyzers/complexity_analyzer.py +33 -0
  37. django_cfg/apps/knowbase/services/archive/analyzers/purpose_detector.py +36 -0
  38. django_cfg/apps/knowbase/services/archive/analyzers/quality_analyzer.py +39 -0
  39. django_cfg/apps/knowbase/services/archive/analyzers/tag_generator.py +103 -0
  40. django_cfg/apps/knowbase/services/archive/chunking/__init__.py +19 -0
  41. django_cfg/apps/knowbase/services/archive/chunking/base.py +81 -0
  42. django_cfg/apps/knowbase/services/archive/chunking/json_chunker.py +62 -0
  43. django_cfg/apps/knowbase/services/archive/chunking/markdown_chunker.py +107 -0
  44. django_cfg/apps/knowbase/services/archive/chunking/python_chunker.py +248 -0
  45. django_cfg/apps/knowbase/services/archive/chunking/text_chunker.py +70 -0
  46. django_cfg/apps/knowbase/services/archive/chunking_service.py +110 -729
  47. django_cfg/apps/knowbase/services/archive/context/__init__.py +14 -0
  48. django_cfg/apps/knowbase/services/archive/context/builders.py +220 -0
  49. django_cfg/apps/knowbase/services/archive/context/models.py +38 -0
  50. django_cfg/apps/knowbase/services/embedding/models.py +18 -14
  51. django_cfg/apps/knowbase/services/embedding/processors.py +6 -3
  52. django_cfg/apps/knowbase/tasks/document_processing.py +11 -3
  53. django_cfg/apps/leads/tests.py +1 -1
  54. django_cfg/apps/payments/admin/api_keys_admin.py +1 -1
  55. django_cfg/apps/payments/admin/balance_admin.py +1 -1
  56. django_cfg/apps/payments/admin/currencies_admin.py +1 -1
  57. django_cfg/apps/payments/admin/payments_admin.py +1 -1
  58. django_cfg/apps/payments/admin/subscriptions_admin.py +1 -1
  59. django_cfg/apps/payments/admin_interface/templates/payments/base.html +59 -126
  60. django_cfg/apps/payments/admin_interface/views/api/payments.py +1 -1
  61. django_cfg/apps/payments/admin_interface/views/api/stats.py +1 -1
  62. django_cfg/apps/payments/admin_interface/views/api/users.py +1 -1
  63. django_cfg/apps/payments/admin_interface/views/api/webhook_admin.py +1 -1
  64. django_cfg/apps/payments/admin_interface/views/api/webhook_public.py +1 -1
  65. django_cfg/apps/payments/admin_interface/views/base.py +29 -2
  66. django_cfg/apps/payments/apps.py +1 -1
  67. django_cfg/apps/payments/config/django_cfg_integration.py +2 -2
  68. django_cfg/apps/payments/config/helpers.py +3 -2
  69. django_cfg/apps/payments/management/commands/cleanup_expired_data.py +1 -1
  70. django_cfg/apps/payments/management/commands/currency_stats.py +1 -1
  71. django_cfg/apps/payments/management/commands/manage_currencies.py +1 -1
  72. django_cfg/apps/payments/management/commands/manage_providers.py +1 -1
  73. django_cfg/apps/payments/management/commands/process_pending_payments.py +1 -1
  74. django_cfg/apps/payments/management/commands/test_providers.py +1 -1
  75. django_cfg/apps/payments/middleware/api_access.py +1 -1
  76. django_cfg/apps/payments/middleware/rate_limiting.py +1 -1
  77. django_cfg/apps/payments/middleware/usage_tracking.py +1 -1
  78. django_cfg/apps/payments/models/balance.py +2 -2
  79. django_cfg/apps/payments/models/managers/api_key_managers.py +1 -1
  80. django_cfg/apps/payments/models/managers/balance_managers.py +1 -1
  81. django_cfg/apps/payments/models/managers/currency_managers.py +1 -1
  82. django_cfg/apps/payments/models/managers/payment_managers.py +1 -1
  83. django_cfg/apps/payments/models/managers/subscription_managers.py +1 -1
  84. django_cfg/apps/payments/models/payments.py +2 -2
  85. django_cfg/apps/payments/services/cache_service/__init__.py +1 -1
  86. django_cfg/apps/payments/services/cache_service/simple_cache.py +10 -5
  87. django_cfg/apps/payments/services/core/base.py +1 -1
  88. django_cfg/apps/payments/services/core/currency/__init__.py +13 -0
  89. django_cfg/apps/payments/services/core/currency/currency_converter.py +57 -0
  90. django_cfg/apps/payments/services/core/currency/currency_validator.py +61 -0
  91. django_cfg/apps/payments/services/core/operations/__init__.py +15 -0
  92. django_cfg/apps/payments/services/core/operations/payment_canceller.py +100 -0
  93. django_cfg/apps/payments/services/core/operations/payment_creator.py +196 -0
  94. django_cfg/apps/payments/services/core/operations/status_checker.py +100 -0
  95. django_cfg/apps/payments/services/core/payment_service.py +124 -612
  96. django_cfg/apps/payments/services/core/providers/__init__.py +13 -0
  97. django_cfg/apps/payments/services/core/providers/provider_client.py +132 -0
  98. django_cfg/apps/payments/services/core/providers/status_mapper.py +89 -0
  99. django_cfg/apps/payments/services/core/utils/__init__.py +13 -0
  100. django_cfg/apps/payments/services/core/utils/data_converter.py +48 -0
  101. django_cfg/apps/payments/services/core/utils/statistics_calculator.py +69 -0
  102. django_cfg/apps/payments/services/providers/base.py +1 -1
  103. django_cfg/apps/payments/services/providers/nowpayments/__init__.py +3 -3
  104. django_cfg/apps/payments/services/providers/nowpayments/parsers/__init__.py +9 -0
  105. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/__init__.py +23 -0
  106. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/constants.py +23 -0
  107. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/currency_names.py +244 -0
  108. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/patterns.py +511 -0
  109. django_cfg/apps/payments/services/providers/nowpayments/parsers/parser.py +168 -0
  110. django_cfg/apps/payments/services/providers/nowpayments/provider.py +1 -1
  111. django_cfg/apps/payments/services/providers/nowpayments/sync.py +1 -1
  112. django_cfg/apps/payments/services/providers/registry.py +1 -1
  113. django_cfg/apps/payments/services/providers/sync_service.py +1 -1
  114. django_cfg/apps/payments/signals/__init__.py +1 -1
  115. django_cfg/apps/payments/signals/api_key_signals.py +1 -1
  116. django_cfg/apps/payments/signals/balance_signals.py +1 -1
  117. django_cfg/apps/payments/signals/payment_signals.py +1 -1
  118. django_cfg/apps/payments/signals/subscription_signals.py +1 -1
  119. django_cfg/apps/payments/views/api/api_keys.py +1 -1
  120. django_cfg/apps/payments/views/api/balances.py +1 -1
  121. django_cfg/apps/payments/views/api/base.py +1 -1
  122. django_cfg/apps/payments/views/api/currencies.py +1 -1
  123. django_cfg/apps/payments/views/api/payments.py +1 -1
  124. django_cfg/apps/payments/views/api/subscriptions.py +1 -1
  125. django_cfg/apps/payments/views/api/webhooks.py +1 -1
  126. django_cfg/apps/payments/views/serializers/api_keys.py +1 -1
  127. django_cfg/apps/payments/views/serializers/balances.py +1 -1
  128. django_cfg/apps/payments/views/serializers/currencies.py +1 -1
  129. django_cfg/apps/payments/views/serializers/payments.py +1 -1
  130. django_cfg/apps/payments/views/serializers/subscriptions.py +1 -1
  131. django_cfg/apps/payments/views/serializers/webhooks.py +1 -1
  132. django_cfg/apps/support/admin/support_admin.py +21 -13
  133. django_cfg/apps/support/templates/support/chat/access_denied.html +21 -27
  134. django_cfg/apps/support/templates/support/chat/ticket_chat.html +183 -254
  135. django_cfg/apps/support/utils/support_email_service.py +1 -1
  136. django_cfg/apps/tasks/templates/tasks/layout/base.html +20 -115
  137. django_cfg/apps/tasks/utils/simulator.py +1 -1
  138. django_cfg/apps/tasks/views/dashboard.py +33 -3
  139. django_cfg/apps/urls.py +5 -1
  140. django_cfg/cli/README.md +57 -471
  141. django_cfg/cli/commands/create_project.py +140 -529
  142. django_cfg/cli/main.py +13 -10
  143. django_cfg/core/__init__.py +63 -6
  144. django_cfg/core/base/__init__.py +5 -0
  145. django_cfg/core/base/config_model.py +652 -0
  146. django_cfg/core/builders/__init__.py +11 -0
  147. django_cfg/core/builders/apps_builder.py +258 -0
  148. django_cfg/core/builders/middleware_builder.py +115 -0
  149. django_cfg/core/builders/security_builder.py +96 -0
  150. django_cfg/core/config.py +20 -892
  151. django_cfg/core/constants.py +69 -0
  152. django_cfg/core/environment/__init__.py +9 -0
  153. django_cfg/core/exceptions.py +45 -298
  154. django_cfg/core/generation/__init__.py +51 -0
  155. django_cfg/core/generation/core_generators/__init__.py +0 -0
  156. django_cfg/core/generation/core_generators/settings.py +90 -0
  157. django_cfg/core/generation/core_generators/static.py +82 -0
  158. django_cfg/core/generation/core_generators/templates.py +141 -0
  159. django_cfg/core/generation/data_generators/__init__.py +15 -0
  160. django_cfg/core/generation/data_generators/cache.py +132 -0
  161. django_cfg/core/generation/data_generators/database.py +117 -0
  162. django_cfg/core/generation/generation.py +92 -0
  163. django_cfg/core/generation/integration_generators/__init__.py +21 -0
  164. django_cfg/core/generation/integration_generators/api.py +237 -0
  165. django_cfg/core/generation/integration_generators/sessions.py +65 -0
  166. django_cfg/core/generation/integration_generators/tailwind.py +54 -0
  167. django_cfg/core/generation/integration_generators/tasks.py +92 -0
  168. django_cfg/core/generation/integration_generators/third_party.py +144 -0
  169. django_cfg/core/generation/orchestrator.py +285 -0
  170. django_cfg/core/generation/protocols.py +30 -0
  171. django_cfg/core/generation/security_generators/__init__.py +0 -0
  172. django_cfg/core/generation/utility_generators/__init__.py +24 -0
  173. django_cfg/core/generation/utility_generators/email.py +58 -0
  174. django_cfg/core/generation/utility_generators/i18n.py +66 -0
  175. django_cfg/core/generation/utility_generators/limits.py +58 -0
  176. django_cfg/core/generation/utility_generators/logging.py +66 -0
  177. django_cfg/core/generation/utility_generators/security.py +101 -0
  178. django_cfg/core/generation/utils/__init__.py +0 -0
  179. django_cfg/core/generation/utils/helpers.py +32 -0
  180. django_cfg/core/integration/__init__.py +18 -25
  181. django_cfg/core/integration/display/startup.py +146 -133
  182. django_cfg/core/integration/url_integration.py +13 -2
  183. django_cfg/core/services/__init__.py +5 -0
  184. django_cfg/core/services/config_service.py +121 -0
  185. django_cfg/core/state/__init__.py +9 -0
  186. django_cfg/core/state/registry.py +84 -0
  187. django_cfg/core/types/__init__.py +15 -0
  188. django_cfg/core/types/aliases.py +15 -0
  189. django_cfg/core/types/enums.py +49 -0
  190. django_cfg/dashboard/DEBUG_README.md +105 -0
  191. django_cfg/dashboard/REFACTORING_SUMMARY.md +237 -0
  192. django_cfg/dashboard/__init__.py +24 -0
  193. django_cfg/dashboard/components.py +308 -0
  194. django_cfg/dashboard/debug.py +176 -0
  195. django_cfg/dashboard/management/__init__.py +0 -0
  196. django_cfg/dashboard/management/commands/__init__.py +0 -0
  197. django_cfg/dashboard/management/commands/debug_dashboard.py +109 -0
  198. django_cfg/dashboard/sections/__init__.py +1 -0
  199. django_cfg/dashboard/sections/base.py +128 -0
  200. django_cfg/dashboard/sections/commands.py +32 -0
  201. django_cfg/dashboard/sections/overview.py +394 -0
  202. django_cfg/dashboard/sections/stats.py +48 -0
  203. django_cfg/dashboard/sections/system.py +73 -0
  204. django_cfg/management/commands/check_settings.py +6 -2
  205. django_cfg/management/commands/clear_constance.py +6 -1
  206. django_cfg/management/commands/create_token.py +5 -4
  207. django_cfg/management/commands/generate.py +5 -0
  208. django_cfg/management/commands/list_urls.py +7 -2
  209. django_cfg/management/commands/migrate_all.py +6 -2
  210. django_cfg/management/commands/migrator.py +6 -1
  211. django_cfg/management/commands/rundramatiq.py +6 -1
  212. django_cfg/management/commands/rundramatiq_simulator.py +11 -4
  213. django_cfg/management/commands/runserver_ngrok.py +9 -7
  214. django_cfg/management/commands/script.py +25 -21
  215. django_cfg/management/commands/show_config.py +6 -1
  216. django_cfg/management/commands/show_urls.py +8 -3
  217. django_cfg/management/commands/superuser.py +5 -4
  218. django_cfg/management/commands/task_clear.py +8 -3
  219. django_cfg/management/commands/task_status.py +8 -3
  220. django_cfg/management/commands/test_email.py +6 -1
  221. django_cfg/management/commands/test_telegram.py +6 -1
  222. django_cfg/management/commands/test_twilio.py +6 -1
  223. django_cfg/management/commands/tree.py +7 -4
  224. django_cfg/models/__init__.py +88 -3
  225. django_cfg/models/api/__init__.py +27 -0
  226. django_cfg/models/{api.py → api/config.py} +1 -1
  227. django_cfg/models/api/drf/__init__.py +21 -0
  228. django_cfg/models/api/drf/config.py +101 -0
  229. django_cfg/models/api/drf/redoc.py +31 -0
  230. django_cfg/models/api/drf/spectacular.py +129 -0
  231. django_cfg/models/api/drf/swagger.py +59 -0
  232. django_cfg/models/{api_keys.py → api/keys.py} +16 -6
  233. django_cfg/models/{limits.py → api/limits.py} +0 -1
  234. django_cfg/models/base/__init__.py +14 -0
  235. django_cfg/models/django/__init__.py +16 -0
  236. django_cfg/models/{constance.py → django/constance.py} +1 -1
  237. django_cfg/models/{environment.py → django/environment.py} +1 -1
  238. django_cfg/models/infrastructure/__init__.py +17 -0
  239. django_cfg/models/{cache.py → infrastructure/cache.py} +3 -2
  240. django_cfg/models/infrastructure/database/__init__.py +22 -0
  241. django_cfg/models/infrastructure/database/config.py +265 -0
  242. django_cfg/models/infrastructure/database/converters.py +91 -0
  243. django_cfg/models/infrastructure/database/parsers.py +96 -0
  244. django_cfg/models/infrastructure/database/routing.py +85 -0
  245. django_cfg/models/infrastructure/database/validators.py +170 -0
  246. django_cfg/models/{logging.py → infrastructure/logging.py} +1 -1
  247. django_cfg/models/{security.py → infrastructure/security.py} +2 -2
  248. django_cfg/models/ngrok/__init__.py +11 -0
  249. django_cfg/models/ngrok/auth.py +37 -0
  250. django_cfg/models/ngrok/config.py +77 -0
  251. django_cfg/models/ngrok/tunnel.py +35 -0
  252. django_cfg/models/payments/__init__.py +20 -0
  253. django_cfg/models/payments/api_keys.py +57 -0
  254. django_cfg/models/{payments.py → payments/config.py} +56 -154
  255. django_cfg/models/payments/providers/__init__.py +15 -0
  256. django_cfg/models/payments/providers/base.py +25 -0
  257. django_cfg/models/payments/providers/nowpayments.py +48 -0
  258. django_cfg/models/services/__init__.py +18 -0
  259. django_cfg/models/services/base.py +65 -0
  260. django_cfg/models/{email.py → services/email.py} +1 -1
  261. django_cfg/models/services/telegram.py +172 -0
  262. django_cfg/models/tasks/__init__.py +51 -0
  263. django_cfg/models/tasks/backends.py +250 -0
  264. django_cfg/models/tasks/config.py +314 -0
  265. django_cfg/models/tasks/utils.py +174 -0
  266. django_cfg/modules/base.py +18 -3
  267. django_cfg/modules/django_admin/decorators/actions.py +1 -1
  268. django_cfg/modules/django_admin/decorators/display.py +1 -1
  269. django_cfg/modules/django_admin/mixins/standalone_actions_mixin.py +1 -1
  270. django_cfg/modules/django_cfg_rpc_client/README.md +346 -0
  271. django_cfg/modules/django_cfg_rpc_client/__init__.py +51 -0
  272. django_cfg/modules/django_cfg_rpc_client/client.py +540 -0
  273. django_cfg/modules/django_cfg_rpc_client/config.py +207 -0
  274. django_cfg/modules/django_cfg_rpc_client/dashboard/README.md +517 -0
  275. django_cfg/modules/django_cfg_rpc_client/dashboard/UNFOLD_INTEGRATION.md +439 -0
  276. django_cfg/modules/django_cfg_rpc_client/dashboard/__init__.py +11 -0
  277. django_cfg/modules/django_cfg_rpc_client/dashboard/apps.py +22 -0
  278. django_cfg/modules/django_cfg_rpc_client/dashboard/monitor.py +435 -0
  279. django_cfg/modules/django_cfg_rpc_client/dashboard/static/django_cfg_rpc_dashboard/js/dashboard.js +373 -0
  280. django_cfg/modules/django_cfg_rpc_client/dashboard/templates/django_cfg_rpc_dashboard/base.html +76 -0
  281. django_cfg/modules/django_cfg_rpc_client/dashboard/templates/django_cfg_rpc_dashboard/dashboard.html +200 -0
  282. django_cfg/modules/django_cfg_rpc_client/dashboard/urls.py +22 -0
  283. django_cfg/modules/django_cfg_rpc_client/dashboard/urls_admin.py +9 -0
  284. django_cfg/modules/django_cfg_rpc_client/dashboard/views.py +251 -0
  285. django_cfg/modules/django_cfg_rpc_client/exceptions.py +201 -0
  286. django_cfg/modules/django_drf_theme/CHANGELOG.md +210 -0
  287. django_cfg/modules/django_drf_theme/EXAMPLE.md +465 -0
  288. django_cfg/modules/django_drf_theme/IMPLEMENTATION.md +232 -0
  289. django_cfg/modules/django_drf_theme/README.md +207 -0
  290. django_cfg/modules/django_drf_theme/TAILWIND_CDN_GUIDE.md +274 -0
  291. django_cfg/modules/django_drf_theme/__init__.py +23 -0
  292. django_cfg/modules/django_drf_theme/apps.py +15 -0
  293. django_cfg/modules/django_drf_theme/renderers.py +58 -0
  294. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/api.html +375 -0
  295. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/base.html +938 -0
  296. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/forms/filter_form.html +132 -0
  297. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/forms/raw_data_form.html +123 -0
  298. django_cfg/modules/django_drf_theme/templatetags/__init__.py +1 -0
  299. django_cfg/modules/django_drf_theme/templatetags/tailwind_tags.py +57 -0
  300. django_cfg/modules/django_email/__init__.py +14 -0
  301. django_cfg/modules/{django_email.py → django_email/service.py} +78 -113
  302. django_cfg/modules/django_email/utils.py +40 -0
  303. django_cfg/modules/django_health/__init__.py +9 -0
  304. django_cfg/modules/{django_health.py → django_health/service.py} +23 -21
  305. django_cfg/modules/django_llm/llm/client.py +155 -550
  306. django_cfg/modules/django_llm/llm/embeddings/__init__.py +13 -0
  307. django_cfg/modules/django_llm/llm/embeddings/mock_embedder.py +106 -0
  308. django_cfg/modules/django_llm/llm/embeddings/openai_embedder.py +79 -0
  309. django_cfg/modules/django_llm/llm/models_api/__init__.py +9 -0
  310. django_cfg/modules/django_llm/llm/models_api/models_query.py +163 -0
  311. django_cfg/modules/django_llm/llm/providers/__init__.py +15 -0
  312. django_cfg/modules/django_llm/llm/providers/config_builder.py +103 -0
  313. django_cfg/modules/django_llm/llm/providers/provider_manager.py +148 -0
  314. django_cfg/modules/django_llm/llm/providers/provider_selector.py +60 -0
  315. django_cfg/modules/django_llm/llm/requests/__init__.py +15 -0
  316. django_cfg/modules/django_llm/llm/requests/cache_manager.py +170 -0
  317. django_cfg/modules/django_llm/llm/requests/chat_handler.py +199 -0
  318. django_cfg/modules/django_llm/llm/requests/embedding_handler.py +113 -0
  319. django_cfg/modules/django_llm/llm/responses/__init__.py +9 -0
  320. django_cfg/modules/django_llm/llm/responses/response_builder.py +131 -0
  321. django_cfg/modules/django_llm/llm/stats/__init__.py +9 -0
  322. django_cfg/modules/django_llm/llm/stats/stats_manager.py +107 -0
  323. django_cfg/modules/django_llm/translator/detectors/__init__.py +13 -0
  324. django_cfg/modules/django_llm/translator/detectors/language_detector.py +90 -0
  325. django_cfg/modules/django_llm/translator/detectors/script_detector.py +153 -0
  326. django_cfg/modules/django_llm/translator/stats/__init__.py +11 -0
  327. django_cfg/modules/django_llm/translator/stats/stats_tracker.py +85 -0
  328. django_cfg/modules/django_llm/translator/translator.py +150 -603
  329. django_cfg/modules/django_llm/translator/translators/__init__.py +15 -0
  330. django_cfg/modules/django_llm/translator/translators/json_translator.py +316 -0
  331. django_cfg/modules/django_llm/translator/translators/text_translator.py +139 -0
  332. django_cfg/modules/django_llm/translator/utils/__init__.py +13 -0
  333. django_cfg/modules/django_llm/translator/utils/prompt_builder.py +110 -0
  334. django_cfg/modules/django_llm/translator/utils/text_utils.py +114 -0
  335. django_cfg/modules/django_logging/FIXES_SUMMARY.md +276 -0
  336. django_cfg/modules/django_logging/LOGGING_GUIDE.md +504 -0
  337. django_cfg/modules/django_logging/__init__.py +14 -0
  338. django_cfg/modules/{django_logger.py → django_logging/django_logger.py} +13 -13
  339. django_cfg/modules/{logger.py → django_logging/logger.py} +14 -4
  340. django_cfg/modules/django_ngrok/__init__.py +39 -0
  341. django_cfg/modules/{django_ngrok.py → django_ngrok/service.py} +14 -42
  342. django_cfg/modules/django_rpc_old/POETRY.md +344 -0
  343. django_cfg/modules/django_rpc_old/README.md +397 -0
  344. django_cfg/modules/django_rpc_old/TESTING.md +358 -0
  345. django_cfg/modules/django_rpc_old/__init__.py +39 -0
  346. django_cfg/modules/django_rpc_old/client.py +531 -0
  347. django_cfg/modules/django_rpc_old/config.py +279 -0
  348. django_cfg/modules/django_rpc_old/exceptions.py +172 -0
  349. django_cfg/modules/django_tailwind/README.md +478 -0
  350. django_cfg/modules/django_tailwind/__init__.py +7 -0
  351. django_cfg/modules/django_tailwind/apps.py +10 -0
  352. django_cfg/modules/django_tailwind/templates/django_tailwind/app.html +5 -0
  353. django_cfg/modules/django_tailwind/templates/django_tailwind/base.html +117 -0
  354. django_cfg/modules/django_tailwind/templates/django_tailwind/components/navbar.html +124 -0
  355. django_cfg/modules/django_tailwind/templates/django_tailwind/components/theme_toggle.html +54 -0
  356. django_cfg/modules/django_tailwind/templates/django_tailwind/components/user_menu.html +116 -0
  357. django_cfg/modules/django_tailwind/templates/django_tailwind/simple.html +46 -0
  358. django_cfg/modules/django_tailwind/templatetags/__init__.py +1 -0
  359. django_cfg/modules/django_tailwind/templatetags/tailwind_info.py +185 -0
  360. django_cfg/modules/django_tasks/__init__.py +29 -0
  361. django_cfg/modules/django_tasks/factory.py +127 -0
  362. django_cfg/modules/{django_tasks.py → django_tasks/service.py} +45 -274
  363. django_cfg/modules/django_tasks/settings.py +107 -0
  364. django_cfg/modules/django_telegram/__init__.py +29 -0
  365. django_cfg/modules/{django_telegram.py → django_telegram/service.py} +45 -113
  366. django_cfg/modules/django_telegram/utils.py +62 -0
  367. django_cfg/modules/django_twilio/__init__.py +54 -107
  368. django_cfg/modules/django_twilio/_imports.py +30 -0
  369. django_cfg/modules/django_twilio/base.py +192 -0
  370. django_cfg/modules/django_twilio/email_otp.py +227 -0
  371. django_cfg/modules/django_twilio/sendgrid_service.py +1 -1
  372. django_cfg/modules/django_twilio/simple_service.py +1 -2
  373. django_cfg/modules/django_twilio/sms.py +94 -0
  374. django_cfg/modules/django_twilio/twilio_service.py +2 -3
  375. django_cfg/modules/django_twilio/unified.py +310 -0
  376. django_cfg/modules/django_twilio/utils.py +190 -0
  377. django_cfg/modules/django_twilio/whatsapp.py +137 -0
  378. django_cfg/modules/django_unfold/callbacks/base.py +198 -7
  379. django_cfg/modules/django_unfold/callbacks/main.py +102 -10
  380. django_cfg/modules/django_unfold/dashboard.py +65 -43
  381. django_cfg/modules/django_unfold/models/config.py +13 -12
  382. django_cfg/modules/django_unfold/models/navigation.py +8 -3
  383. django_cfg/modules/django_unfold/models/tabs.py +2 -2
  384. django_cfg/modules/django_unfold/templates/unfold/helpers/app_list.html +102 -0
  385. django_cfg/registry/core.py +24 -26
  386. django_cfg/registry/modules.py +5 -2
  387. django_cfg/registry/services.py +20 -3
  388. django_cfg/registry/third_party.py +8 -8
  389. django_cfg/static/admin/css/dashboard.css +260 -0
  390. django_cfg/static/admin/js/commands.js +171 -0
  391. django_cfg/static/admin/js/dashboard.js +126 -0
  392. django_cfg/templates/admin/components/management_commands.js +375 -0
  393. django_cfg/templates/admin/components/progress_bar.html +18 -23
  394. django_cfg/templates/admin/index.html +48 -20
  395. django_cfg/templates/admin/index_new.html +106 -0
  396. django_cfg/templates/admin/layouts/base_dashboard.html +60 -0
  397. django_cfg/templates/admin/layouts/dashboard_with_tabs.html +1 -20
  398. django_cfg/templates/admin/sections/commands_section.html +626 -0
  399. django_cfg/templates/admin/sections/overview_section.html +112 -0
  400. django_cfg/templates/admin/sections/stats_section.html +35 -0
  401. django_cfg/templates/admin/sections/system_section.html +99 -0
  402. django_cfg/templates/admin/snippets/components/CHARTS_GUIDE.md +322 -0
  403. django_cfg/templates/admin/snippets/components/activity_tracker.html +85 -47
  404. django_cfg/templates/admin/snippets/components/charts_section.html +154 -64
  405. django_cfg/templates/admin/snippets/components/django_commands.html +3 -3
  406. django_cfg/templates/admin/snippets/components/recent_activity_improved.html +25 -0
  407. django_cfg/templates/admin/snippets/components/recent_users_table.html +1 -1
  408. django_cfg/templates/admin/snippets/components/system_metrics.html +179 -93
  409. django_cfg/templates/admin/snippets/zones/zones_table.html +2 -2
  410. django_cfg/templatetags/django_cfg.py +7 -1
  411. django_cfg/utils/smart_defaults.py +4 -4
  412. django_cfg-1.4.0.dist-info/METADATA +920 -0
  413. {django_cfg-1.3.13.dist-info → django_cfg-1.4.0.dist-info}/RECORD +424 -195
  414. django_cfg/apps/accounts/utils/auth_email_service.py +0 -84
  415. django_cfg/apps/payments/services/providers/nowpayments/parsers.py +0 -879
  416. django_cfg/core/generation.py +0 -621
  417. django_cfg/management/commands/validate_config.py +0 -189
  418. django_cfg/models/database.py +0 -480
  419. django_cfg/models/drf.py +0 -272
  420. django_cfg/models/ngrok.py +0 -122
  421. django_cfg/models/services.py +0 -440
  422. django_cfg/models/tasks.py +0 -550
  423. django_cfg/modules/django_twilio/service.py +0 -942
  424. django_cfg/template_archive/django_sample.zip +0 -0
  425. django_cfg/templates/rest_framework/api.html +0 -12
  426. django_cfg/utils/toolkit.py +0 -703
  427. django_cfg-1.3.13.dist-info/METADATA +0 -1029
  428. /django_cfg/apps/accounts/management/commands/{test_otp.py → otp_test.py} +0 -0
  429. /django_cfg/core/{environment.py → environment/detector.py} +0 -0
  430. /django_cfg/models/{cors.py → api/cors.py} +0 -0
  431. /django_cfg/models/{jwt.py → api/jwt.py} +0 -0
  432. /django_cfg/models/{base.py → base/config.py} +0 -0
  433. /django_cfg/models/{cfg.py → base/module.py} +0 -0
  434. /django_cfg/models/{revolution.py → django/revolution.py} +0 -0
  435. /django_cfg/modules/{dramatiq_setup.py → django_tasks/dramatiq_setup.py} +0 -0
  436. {django_cfg-1.3.13.dist-info → django_cfg-1.4.0.dist-info}/WHEEL +0 -0
  437. {django_cfg-1.3.13.dist-info → django_cfg-1.4.0.dist-info}/entry_points.txt +0 -0
  438. {django_cfg-1.3.13.dist-info → django_cfg-1.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,141 @@
1
+ """
2
+ Django TEMPLATES settings generator.
3
+
4
+ Handles template configuration with auto-discovery of django-cfg app templates.
5
+ Size: ~90 lines (focused on template settings)
6
+ """
7
+
8
+ from typing import Dict, Any, List, TYPE_CHECKING
9
+ from pathlib import Path
10
+
11
+ if TYPE_CHECKING:
12
+ from ...base.config_model import DjangoConfig
13
+
14
+
15
+ class TemplateSettingsGenerator:
16
+ """
17
+ Generates Django TEMPLATES setting.
18
+
19
+ Responsibilities:
20
+ - Configure Django template backend
21
+ - Set up template directories
22
+ - Auto-discover django-cfg app templates
23
+ - Configure context processors
24
+
25
+ Example:
26
+ ```python
27
+ generator = TemplateSettingsGenerator(config)
28
+ settings = generator.generate()
29
+ ```
30
+ """
31
+
32
+ def __init__(self, config: "DjangoConfig"):
33
+ """
34
+ Initialize generator with configuration.
35
+
36
+ Args:
37
+ config: DjangoConfig instance
38
+ """
39
+ self.config = config
40
+
41
+ def generate(self) -> Dict[str, Any]:
42
+ """
43
+ Generate TEMPLATES setting.
44
+
45
+ Returns:
46
+ Dictionary with TEMPLATES configuration
47
+
48
+ Example:
49
+ >>> generator = TemplateSettingsGenerator(config)
50
+ >>> settings = generator.generate()
51
+ >>> "TEMPLATES" in settings
52
+ True
53
+ """
54
+ template_dirs = self._discover_template_directories()
55
+
56
+ return {
57
+ "TEMPLATES": [
58
+ {
59
+ "BACKEND": "django.template.backends.django.DjangoTemplates",
60
+ "DIRS": template_dirs,
61
+ "APP_DIRS": True,
62
+ "OPTIONS": {
63
+ "context_processors": [
64
+ "django.template.context_processors.debug",
65
+ "django.template.context_processors.request",
66
+ "django.contrib.auth.context_processors.auth",
67
+ "django.contrib.messages.context_processors.messages",
68
+ ],
69
+ },
70
+ },
71
+ ]
72
+ }
73
+
74
+ def _discover_template_directories(self) -> List[Path]:
75
+ """
76
+ Discover template directories from django-cfg and project.
77
+
78
+ Returns:
79
+ List of Path objects pointing to template directories
80
+ """
81
+ template_dirs = []
82
+
83
+ # Add project templates directory
84
+ project_templates = self.config.base_dir / "templates"
85
+ template_dirs.append(project_templates)
86
+
87
+ # Add django-cfg templates directory
88
+ django_cfg_templates = Path(__file__).parent.parent.parent.parent / "templates"
89
+ template_dirs.append(django_cfg_templates)
90
+
91
+ # Auto-discover app template directories
92
+ app_templates = self._discover_app_templates()
93
+ template_dirs.extend(app_templates)
94
+
95
+ return template_dirs
96
+
97
+ def _discover_app_templates(self) -> List[Path]:
98
+ """
99
+ Auto-discover template directories from django-cfg apps.
100
+
101
+ Looks for:
102
+ - app/templates/
103
+ - app/admin_interface/templates/
104
+ - app/frontend/templates/
105
+
106
+ Returns:
107
+ List of discovered template directory paths
108
+ """
109
+ app_templates = []
110
+
111
+ # Find django-cfg apps directory
112
+ django_cfg_dir = Path(__file__).parent.parent.parent.parent
113
+ apps_dir = django_cfg_dir / 'apps'
114
+
115
+ if not apps_dir.exists():
116
+ return app_templates
117
+
118
+ # Scan each app directory
119
+ for app_dir in apps_dir.iterdir():
120
+ if not app_dir.is_dir():
121
+ continue
122
+
123
+ # Skip special directories
124
+ if app_dir.name.startswith(('@', '_', '.')):
125
+ continue
126
+
127
+ # Look for common template directory patterns
128
+ possible_template_dirs = [
129
+ app_dir / 'templates',
130
+ app_dir / 'admin_interface' / 'templates',
131
+ app_dir / 'frontend' / 'templates',
132
+ ]
133
+
134
+ for template_dir in possible_template_dirs:
135
+ if template_dir.exists() and template_dir.is_dir():
136
+ app_templates.append(template_dir)
137
+
138
+ return app_templates
139
+
140
+
141
+ __all__ = ["TemplateSettingsGenerator"]
@@ -0,0 +1,15 @@
1
+ """
2
+ Data generators module.
3
+
4
+ Contains generators for data-related Django settings:
5
+ - Database configuration
6
+ - Cache backends
7
+ """
8
+
9
+ from .database import DatabaseSettingsGenerator
10
+ from .cache import CacheSettingsGenerator
11
+
12
+ __all__ = [
13
+ "DatabaseSettingsGenerator",
14
+ "CacheSettingsGenerator",
15
+ ]
@@ -0,0 +1,132 @@
1
+ """
2
+ Cache settings generator.
3
+
4
+ Handles CACHES configuration and session storage.
5
+ Size: ~90 lines (focused on cache settings)
6
+ """
7
+
8
+ from typing import Dict, Any, TYPE_CHECKING
9
+ import logging
10
+
11
+ if TYPE_CHECKING:
12
+ from ...base.config_model import DjangoConfig
13
+
14
+ logger = logging.getLogger(__name__)
15
+
16
+
17
+ class CacheSettingsGenerator:
18
+ """
19
+ Generates Django CACHES settings.
20
+
21
+ Responsibilities:
22
+ - Convert CacheConfig models to Django format
23
+ - Provide default cache backend
24
+ - Configure sessions cache
25
+ - Auto-discover additional cache backends
26
+
27
+ Example:
28
+ ```python
29
+ generator = CacheSettingsGenerator(config)
30
+ settings = generator.generate()
31
+ ```
32
+ """
33
+
34
+ def __init__(self, config: "DjangoConfig"):
35
+ """
36
+ Initialize generator with configuration.
37
+
38
+ Args:
39
+ config: DjangoConfig instance
40
+ """
41
+ self.config = config
42
+
43
+ def generate(self) -> Dict[str, Any]:
44
+ """
45
+ Generate cache settings.
46
+
47
+ Returns:
48
+ Dictionary with CACHES and session configuration
49
+
50
+ Example:
51
+ >>> generator = CacheSettingsGenerator(config)
52
+ >>> settings = generator.generate()
53
+ >>> "CACHES" in settings
54
+ True
55
+ """
56
+ settings = {}
57
+ caches = {}
58
+
59
+ # Default cache - always provide one
60
+ if self.config.cache_default:
61
+ caches["default"] = self.config.cache_default.to_django_config(
62
+ self.config.env_mode,
63
+ self.config.debug,
64
+ "default"
65
+ )
66
+ else:
67
+ # Create default cache backend
68
+ caches["default"] = self._get_default_cache_config()
69
+
70
+ # Sessions cache
71
+ if self.config.cache_sessions:
72
+ caches["sessions"] = self.config.cache_sessions.to_django_config(
73
+ self.config.env_mode,
74
+ self.config.debug,
75
+ "sessions"
76
+ )
77
+
78
+ # Configure Django to use cache for sessions
79
+ settings["SESSION_ENGINE"] = "django.contrib.sessions.backends.cache"
80
+ settings["SESSION_CACHE_ALIAS"] = "sessions"
81
+
82
+ # Auto-discover additional cache backends
83
+ additional_caches = self._discover_additional_caches()
84
+ caches.update(additional_caches)
85
+
86
+ if caches:
87
+ settings["CACHES"] = caches
88
+
89
+ return settings
90
+
91
+ def _get_default_cache_config(self) -> Dict[str, Any]:
92
+ """
93
+ Get default cache configuration.
94
+
95
+ Returns:
96
+ Dictionary with default cache backend configuration
97
+ """
98
+ from ....models.infrastructure.cache import CacheConfig
99
+
100
+ default_cache = CacheConfig()
101
+ return default_cache.to_django_config(
102
+ self.config.env_mode,
103
+ self.config.debug,
104
+ "default"
105
+ )
106
+
107
+ def _discover_additional_caches(self) -> Dict[str, Dict[str, Any]]:
108
+ """
109
+ Auto-discover additional cache backends.
110
+
111
+ Looks for attributes starting with "cache_" (excluding cache_default and cache_sessions).
112
+
113
+ Returns:
114
+ Dictionary of additional cache configurations
115
+ """
116
+ additional_caches = {}
117
+
118
+ for attr_name in dir(self.config):
119
+ if attr_name.startswith("cache_") and attr_name not in ["cache_default", "cache_sessions"]:
120
+ cache_obj = getattr(self.config, attr_name)
121
+ if hasattr(cache_obj, "to_django_config"):
122
+ cache_alias = attr_name.replace("cache_", "")
123
+ additional_caches[cache_alias] = cache_obj.to_django_config(
124
+ self.config.env_mode,
125
+ self.config.debug,
126
+ cache_alias
127
+ )
128
+
129
+ return additional_caches
130
+
131
+
132
+ __all__ = ["CacheSettingsGenerator"]
@@ -0,0 +1,117 @@
1
+ """
2
+ Database settings generator.
3
+
4
+ Handles DATABASES configuration and routing.
5
+ Size: ~100 lines (focused on database settings)
6
+ """
7
+
8
+ from typing import Dict, Any, TYPE_CHECKING
9
+ import logging
10
+
11
+ if TYPE_CHECKING:
12
+ from ...base.config_model import DjangoConfig
13
+
14
+ logger = logging.getLogger(__name__)
15
+
16
+
17
+ class DatabaseSettingsGenerator:
18
+ """
19
+ Generates Django DATABASES settings.
20
+
21
+ Responsibilities:
22
+ - Convert DatabaseConfig models to Django format
23
+ - Apply smart defaults per database engine
24
+ - Configure database routing
25
+
26
+ Example:
27
+ ```python
28
+ generator = DatabaseSettingsGenerator(config)
29
+ settings = generator.generate()
30
+ ```
31
+ """
32
+
33
+ def __init__(self, config: "DjangoConfig"):
34
+ """
35
+ Initialize generator with configuration.
36
+
37
+ Args:
38
+ config: DjangoConfig instance
39
+ """
40
+ self.config = config
41
+
42
+ def generate(self) -> Dict[str, Any]:
43
+ """
44
+ Generate database settings.
45
+
46
+ Returns:
47
+ Dictionary with DATABASES and routing configuration
48
+
49
+ Example:
50
+ >>> generator = DatabaseSettingsGenerator(config)
51
+ >>> settings = generator.generate()
52
+ >>> "DATABASES" in settings
53
+ True
54
+ """
55
+ settings = {}
56
+
57
+ if not self.config.databases:
58
+ return settings
59
+
60
+ # Convert database configurations
61
+ django_databases = {}
62
+ for alias, db_config in self.config.databases.items():
63
+ django_databases[alias] = db_config.to_django_config()
64
+
65
+ settings["DATABASES"] = django_databases
66
+
67
+ # Apply database defaults for each database based on its engine
68
+ from ....utils.smart_defaults import SmartDefaults
69
+
70
+ for alias, db_config in self.config.databases.items():
71
+ db_defaults = SmartDefaults.get_database_defaults(
72
+ self.config.env_mode,
73
+ self.config.debug,
74
+ db_config.engine
75
+ )
76
+ if db_defaults:
77
+ # Merge defaults with existing configuration
78
+ for key, value in db_defaults.items():
79
+ if key == "OPTIONS":
80
+ # Merge OPTIONS dictionaries
81
+ existing_options = django_databases[alias].get("OPTIONS", {})
82
+ merged_options = {**value, **existing_options}
83
+ django_databases[alias]["OPTIONS"] = merged_options
84
+ elif key not in django_databases[alias]:
85
+ django_databases[alias][key] = value
86
+
87
+ # Configure database routing if needed
88
+ routing_settings = self._generate_routing_settings()
89
+ settings.update(routing_settings)
90
+
91
+ return settings
92
+
93
+ def _generate_routing_settings(self) -> Dict[str, Any]:
94
+ """
95
+ Generate database routing configuration.
96
+
97
+ Returns:
98
+ Dictionary with routing settings
99
+ """
100
+ routing_rules = {}
101
+
102
+ # Check if any database has routing rules
103
+ for alias, db_config in self.config.databases.items():
104
+ if db_config.has_routing_rules():
105
+ for app in db_config.apps:
106
+ routing_rules[app] = alias
107
+
108
+ if not routing_rules:
109
+ return {}
110
+
111
+ return {
112
+ "DATABASE_ROUTERS": ["django_cfg.routing.routers.DatabaseRouter"],
113
+ "DATABASE_ROUTING_RULES": routing_rules,
114
+ }
115
+
116
+
117
+ __all__ = ["DatabaseSettingsGenerator"]
@@ -0,0 +1,92 @@
1
+ """
2
+ Django settings generation for django_cfg.
3
+
4
+ Main facade for settings generation.
5
+
6
+ Following CRITICAL_REQUIREMENTS.md:
7
+ - No raw Dict/Any usage
8
+ - Proper type annotations
9
+ - Comprehensive error handling
10
+ - Performance-aware generation
11
+ """
12
+
13
+ from typing import Dict, List, Any, TYPE_CHECKING
14
+ import logging
15
+
16
+ from django_cfg.core.exceptions import ConfigurationError
17
+
18
+ if TYPE_CHECKING:
19
+ from ..base.config_model import DjangoConfig
20
+
21
+ logger = logging.getLogger(__name__)
22
+
23
+
24
+ class SettingsGenerator:
25
+ """
26
+ Generates complete Django settings from DjangoConfig instances.
27
+
28
+ Converts type-safe Pydantic configuration models into Django-compatible
29
+ settings dictionaries with intelligent defaults and validation.
30
+
31
+ This is a facade class that delegates to SettingsOrchestrator for
32
+ actual generation.
33
+
34
+ Example:
35
+ ```python
36
+ from django_cfg import DjangoConfig
37
+ from django_cfg.core.generation import SettingsGenerator
38
+
39
+ config = DjangoConfig(project_name="MyProject", secret_key="x"*50)
40
+ settings = SettingsGenerator.generate(config)
41
+ ```
42
+ """
43
+
44
+ @classmethod
45
+ def generate(cls, config: "DjangoConfig") -> Dict[str, Any]:
46
+ """
47
+ Generate complete Django settings dictionary.
48
+
49
+ Args:
50
+ config: DjangoConfig instance
51
+
52
+ Returns:
53
+ Complete Django settings dictionary
54
+
55
+ Raises:
56
+ ConfigurationError: If settings generation fails
57
+
58
+ Example:
59
+ >>> from django_cfg import DjangoConfig
60
+ >>> config = DjangoConfig(project_name="Test", secret_key="x"*50)
61
+ >>> settings = SettingsGenerator.generate(config)
62
+ >>> "SECRET_KEY" in settings
63
+ True
64
+ """
65
+ from .orchestrator import SettingsOrchestrator
66
+
67
+ orchestrator = SettingsOrchestrator(config)
68
+ return orchestrator.generate()
69
+
70
+ @classmethod
71
+ def validate_generated_settings(cls, settings: Dict[str, Any]) -> List[str]:
72
+ """
73
+ Validate generated Django settings.
74
+
75
+ Args:
76
+ settings: Generated Django settings
77
+
78
+ Returns:
79
+ List of validation errors (empty if valid)
80
+
81
+ Example:
82
+ >>> settings = {"SECRET_KEY": "x"*50, "DEBUG": True}
83
+ >>> errors = SettingsGenerator.validate_generated_settings(settings)
84
+ >>> if errors:
85
+ ... print("Validation errors:", errors)
86
+ """
87
+ from .orchestrator import SettingsOrchestrator
88
+
89
+ return SettingsOrchestrator.validate_settings(settings)
90
+
91
+
92
+ __all__ = ["SettingsGenerator"]
@@ -0,0 +1,21 @@
1
+ """
2
+ Integration generators module.
3
+
4
+ Contains generators for third-party integrations and frameworks:
5
+ - Session configuration
6
+ - External services (Telegram, Unfold, Constance)
7
+ - API frameworks (JWT, DRF, Spectacular, Revolution)
8
+ - Background tasks (Dramatiq)
9
+ """
10
+
11
+ from .sessions import SessionSettingsGenerator
12
+ from .third_party import ThirdPartyIntegrationsGenerator
13
+ from .api import APIFrameworksGenerator
14
+ from .tasks import TasksSettingsGenerator
15
+
16
+ __all__ = [
17
+ "SessionSettingsGenerator",
18
+ "ThirdPartyIntegrationsGenerator",
19
+ "APIFrameworksGenerator",
20
+ "TasksSettingsGenerator",
21
+ ]