django-cfg 1.3.11__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 (439) hide show
  1. django_cfg/__init__.py +1 -1
  2. django_cfg/apps/accounts/admin/inlines.py +11 -5
  3. django_cfg/apps/accounts/admin/user_admin.py +39 -16
  4. django_cfg/apps/accounts/serializers/profile.py +1 -1
  5. django_cfg/apps/accounts/services/otp_service.py +18 -11
  6. django_cfg/apps/accounts/signals.py +15 -24
  7. django_cfg/apps/accounts/utils/notifications.py +217 -358
  8. django_cfg/apps/accounts/views/otp.py +2 -2
  9. django_cfg/apps/accounts/views/webhook.py +1 -1
  10. django_cfg/apps/agents/core/django_agent.py +1 -1
  11. django_cfg/apps/api/commands/views.py +66 -83
  12. django_cfg/apps/api/health/drf_views.py +269 -0
  13. django_cfg/apps/api/health/serializers.py +45 -0
  14. django_cfg/apps/api/health/urls.py +6 -1
  15. django_cfg/apps/knowbase/admin/actions/__init__.py +13 -0
  16. django_cfg/apps/knowbase/admin/actions/visibility_actions.py +56 -0
  17. django_cfg/apps/knowbase/admin/document_admin.py +136 -270
  18. django_cfg/apps/knowbase/admin/helpers/__init__.py +17 -0
  19. django_cfg/apps/knowbase/admin/helpers/configs.py +72 -0
  20. django_cfg/apps/knowbase/admin/helpers/display_helpers.py +156 -0
  21. django_cfg/apps/knowbase/admin/helpers/statistics.py +108 -0
  22. django_cfg/apps/knowbase/config/constance_fields.py +1 -1
  23. django_cfg/apps/knowbase/config/settings.py +2 -2
  24. django_cfg/apps/knowbase/mixins/__init__.py +19 -2
  25. django_cfg/apps/knowbase/mixins/config/__init__.py +14 -0
  26. django_cfg/apps/knowbase/mixins/config/defaults.py +75 -0
  27. django_cfg/apps/knowbase/mixins/config/meta_config.py +120 -0
  28. django_cfg/apps/knowbase/mixins/creator.py +10 -10
  29. django_cfg/apps/knowbase/mixins/external_data_mixin.py +105 -403
  30. django_cfg/apps/knowbase/mixins/generators/__init__.py +16 -0
  31. django_cfg/apps/knowbase/mixins/generators/content_generator.py +218 -0
  32. django_cfg/apps/knowbase/mixins/generators/field_analyzer.py +76 -0
  33. django_cfg/apps/knowbase/mixins/generators/metadata_generator.py +124 -0
  34. django_cfg/apps/knowbase/mixins/service.py +2 -2
  35. django_cfg/apps/knowbase/services/archive/__init__.py +1 -0
  36. django_cfg/apps/knowbase/services/archive/analyzers/__init__.py +17 -0
  37. django_cfg/apps/knowbase/services/archive/analyzers/complexity_analyzer.py +33 -0
  38. django_cfg/apps/knowbase/services/archive/analyzers/purpose_detector.py +36 -0
  39. django_cfg/apps/knowbase/services/archive/analyzers/quality_analyzer.py +39 -0
  40. django_cfg/apps/knowbase/services/archive/analyzers/tag_generator.py +103 -0
  41. django_cfg/apps/knowbase/services/archive/chunking/__init__.py +19 -0
  42. django_cfg/apps/knowbase/services/archive/chunking/base.py +81 -0
  43. django_cfg/apps/knowbase/services/archive/chunking/json_chunker.py +62 -0
  44. django_cfg/apps/knowbase/services/archive/chunking/markdown_chunker.py +107 -0
  45. django_cfg/apps/knowbase/services/archive/chunking/python_chunker.py +248 -0
  46. django_cfg/apps/knowbase/services/archive/chunking/text_chunker.py +70 -0
  47. django_cfg/apps/knowbase/services/archive/chunking_service.py +110 -729
  48. django_cfg/apps/knowbase/services/archive/context/__init__.py +14 -0
  49. django_cfg/apps/knowbase/services/archive/context/builders.py +220 -0
  50. django_cfg/apps/knowbase/services/archive/context/models.py +38 -0
  51. django_cfg/apps/knowbase/services/embedding/models.py +18 -14
  52. django_cfg/apps/knowbase/services/embedding/processors.py +6 -3
  53. django_cfg/apps/knowbase/tasks/document_processing.py +11 -3
  54. django_cfg/apps/leads/tests.py +1 -1
  55. django_cfg/apps/payments/admin/api_keys_admin.py +1 -1
  56. django_cfg/apps/payments/admin/balance_admin.py +1 -1
  57. django_cfg/apps/payments/admin/currencies_admin.py +1 -1
  58. django_cfg/apps/payments/admin/payments_admin.py +1 -1
  59. django_cfg/apps/payments/admin/subscriptions_admin.py +1 -1
  60. django_cfg/apps/payments/admin_interface/templates/payments/base.html +59 -126
  61. django_cfg/apps/payments/admin_interface/views/api/payments.py +1 -1
  62. django_cfg/apps/payments/admin_interface/views/api/stats.py +1 -1
  63. django_cfg/apps/payments/admin_interface/views/api/users.py +1 -1
  64. django_cfg/apps/payments/admin_interface/views/api/webhook_admin.py +1 -1
  65. django_cfg/apps/payments/admin_interface/views/api/webhook_public.py +1 -1
  66. django_cfg/apps/payments/admin_interface/views/base.py +29 -2
  67. django_cfg/apps/payments/apps.py +1 -1
  68. django_cfg/apps/payments/config/django_cfg_integration.py +2 -2
  69. django_cfg/apps/payments/config/helpers.py +3 -2
  70. django_cfg/apps/payments/management/commands/cleanup_expired_data.py +1 -1
  71. django_cfg/apps/payments/management/commands/currency_stats.py +1 -1
  72. django_cfg/apps/payments/management/commands/manage_currencies.py +1 -1
  73. django_cfg/apps/payments/management/commands/manage_providers.py +1 -1
  74. django_cfg/apps/payments/management/commands/process_pending_payments.py +1 -1
  75. django_cfg/apps/payments/management/commands/test_providers.py +1 -1
  76. django_cfg/apps/payments/middleware/api_access.py +1 -1
  77. django_cfg/apps/payments/middleware/rate_limiting.py +1 -1
  78. django_cfg/apps/payments/middleware/usage_tracking.py +1 -1
  79. django_cfg/apps/payments/models/balance.py +2 -2
  80. django_cfg/apps/payments/models/managers/api_key_managers.py +1 -1
  81. django_cfg/apps/payments/models/managers/balance_managers.py +1 -1
  82. django_cfg/apps/payments/models/managers/currency_managers.py +1 -1
  83. django_cfg/apps/payments/models/managers/payment_managers.py +1 -1
  84. django_cfg/apps/payments/models/managers/subscription_managers.py +1 -1
  85. django_cfg/apps/payments/models/payments.py +2 -2
  86. django_cfg/apps/payments/services/cache_service/__init__.py +1 -1
  87. django_cfg/apps/payments/services/cache_service/simple_cache.py +10 -5
  88. django_cfg/apps/payments/services/core/base.py +1 -1
  89. django_cfg/apps/payments/services/core/currency/__init__.py +13 -0
  90. django_cfg/apps/payments/services/core/currency/currency_converter.py +57 -0
  91. django_cfg/apps/payments/services/core/currency/currency_validator.py +61 -0
  92. django_cfg/apps/payments/services/core/operations/__init__.py +15 -0
  93. django_cfg/apps/payments/services/core/operations/payment_canceller.py +100 -0
  94. django_cfg/apps/payments/services/core/operations/payment_creator.py +196 -0
  95. django_cfg/apps/payments/services/core/operations/status_checker.py +100 -0
  96. django_cfg/apps/payments/services/core/payment_service.py +124 -612
  97. django_cfg/apps/payments/services/core/providers/__init__.py +13 -0
  98. django_cfg/apps/payments/services/core/providers/provider_client.py +132 -0
  99. django_cfg/apps/payments/services/core/providers/status_mapper.py +89 -0
  100. django_cfg/apps/payments/services/core/utils/__init__.py +13 -0
  101. django_cfg/apps/payments/services/core/utils/data_converter.py +48 -0
  102. django_cfg/apps/payments/services/core/utils/statistics_calculator.py +69 -0
  103. django_cfg/apps/payments/services/providers/base.py +1 -1
  104. django_cfg/apps/payments/services/providers/nowpayments/__init__.py +3 -3
  105. django_cfg/apps/payments/services/providers/nowpayments/parsers/__init__.py +9 -0
  106. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/__init__.py +23 -0
  107. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/constants.py +23 -0
  108. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/currency_names.py +244 -0
  109. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/patterns.py +511 -0
  110. django_cfg/apps/payments/services/providers/nowpayments/parsers/parser.py +168 -0
  111. django_cfg/apps/payments/services/providers/nowpayments/provider.py +1 -1
  112. django_cfg/apps/payments/services/providers/nowpayments/sync.py +1 -1
  113. django_cfg/apps/payments/services/providers/registry.py +1 -1
  114. django_cfg/apps/payments/services/providers/sync_service.py +1 -1
  115. django_cfg/apps/payments/signals/__init__.py +1 -1
  116. django_cfg/apps/payments/signals/api_key_signals.py +1 -1
  117. django_cfg/apps/payments/signals/balance_signals.py +1 -1
  118. django_cfg/apps/payments/signals/payment_signals.py +1 -1
  119. django_cfg/apps/payments/signals/subscription_signals.py +1 -1
  120. django_cfg/apps/payments/views/api/api_keys.py +1 -1
  121. django_cfg/apps/payments/views/api/balances.py +1 -1
  122. django_cfg/apps/payments/views/api/base.py +1 -1
  123. django_cfg/apps/payments/views/api/currencies.py +1 -1
  124. django_cfg/apps/payments/views/api/payments.py +1 -1
  125. django_cfg/apps/payments/views/api/subscriptions.py +1 -1
  126. django_cfg/apps/payments/views/api/webhooks.py +1 -1
  127. django_cfg/apps/payments/views/serializers/api_keys.py +1 -1
  128. django_cfg/apps/payments/views/serializers/balances.py +1 -1
  129. django_cfg/apps/payments/views/serializers/currencies.py +1 -1
  130. django_cfg/apps/payments/views/serializers/payments.py +1 -1
  131. django_cfg/apps/payments/views/serializers/subscriptions.py +1 -1
  132. django_cfg/apps/payments/views/serializers/webhooks.py +1 -1
  133. django_cfg/apps/support/admin/support_admin.py +21 -13
  134. django_cfg/apps/support/templates/support/chat/access_denied.html +21 -27
  135. django_cfg/apps/support/templates/support/chat/ticket_chat.html +183 -254
  136. django_cfg/apps/support/utils/support_email_service.py +1 -1
  137. django_cfg/apps/tasks/templates/tasks/layout/base.html +20 -115
  138. django_cfg/apps/tasks/utils/simulator.py +1 -1
  139. django_cfg/apps/tasks/views/dashboard.py +33 -3
  140. django_cfg/apps/urls.py +5 -1
  141. django_cfg/cli/README.md +57 -471
  142. django_cfg/cli/commands/create_project.py +140 -529
  143. django_cfg/cli/main.py +13 -10
  144. django_cfg/core/__init__.py +63 -6
  145. django_cfg/core/base/__init__.py +5 -0
  146. django_cfg/core/base/config_model.py +652 -0
  147. django_cfg/core/builders/__init__.py +11 -0
  148. django_cfg/core/builders/apps_builder.py +258 -0
  149. django_cfg/core/builders/middleware_builder.py +115 -0
  150. django_cfg/core/builders/security_builder.py +96 -0
  151. django_cfg/core/config.py +20 -892
  152. django_cfg/core/constants.py +69 -0
  153. django_cfg/core/environment/__init__.py +9 -0
  154. django_cfg/core/exceptions.py +45 -298
  155. django_cfg/core/generation/__init__.py +51 -0
  156. django_cfg/core/generation/core_generators/__init__.py +0 -0
  157. django_cfg/core/generation/core_generators/settings.py +90 -0
  158. django_cfg/core/generation/core_generators/static.py +82 -0
  159. django_cfg/core/generation/core_generators/templates.py +141 -0
  160. django_cfg/core/generation/data_generators/__init__.py +15 -0
  161. django_cfg/core/generation/data_generators/cache.py +132 -0
  162. django_cfg/core/generation/data_generators/database.py +117 -0
  163. django_cfg/core/generation/generation.py +92 -0
  164. django_cfg/core/generation/integration_generators/__init__.py +21 -0
  165. django_cfg/core/generation/integration_generators/api.py +237 -0
  166. django_cfg/core/generation/integration_generators/sessions.py +65 -0
  167. django_cfg/core/generation/integration_generators/tailwind.py +54 -0
  168. django_cfg/core/generation/integration_generators/tasks.py +92 -0
  169. django_cfg/core/generation/integration_generators/third_party.py +144 -0
  170. django_cfg/core/generation/orchestrator.py +285 -0
  171. django_cfg/core/generation/protocols.py +30 -0
  172. django_cfg/core/generation/security_generators/__init__.py +0 -0
  173. django_cfg/core/generation/utility_generators/__init__.py +24 -0
  174. django_cfg/core/generation/utility_generators/email.py +58 -0
  175. django_cfg/core/generation/utility_generators/i18n.py +66 -0
  176. django_cfg/core/generation/utility_generators/limits.py +58 -0
  177. django_cfg/core/generation/utility_generators/logging.py +66 -0
  178. django_cfg/core/generation/utility_generators/security.py +101 -0
  179. django_cfg/core/generation/utils/__init__.py +0 -0
  180. django_cfg/core/generation/utils/helpers.py +32 -0
  181. django_cfg/core/integration/__init__.py +18 -25
  182. django_cfg/core/integration/display/startup.py +146 -133
  183. django_cfg/core/integration/url_integration.py +13 -2
  184. django_cfg/core/services/__init__.py +5 -0
  185. django_cfg/core/services/config_service.py +121 -0
  186. django_cfg/core/state/__init__.py +9 -0
  187. django_cfg/core/state/registry.py +84 -0
  188. django_cfg/core/types/__init__.py +15 -0
  189. django_cfg/core/types/aliases.py +15 -0
  190. django_cfg/core/types/enums.py +49 -0
  191. django_cfg/dashboard/DEBUG_README.md +105 -0
  192. django_cfg/dashboard/REFACTORING_SUMMARY.md +237 -0
  193. django_cfg/dashboard/__init__.py +24 -0
  194. django_cfg/dashboard/components.py +308 -0
  195. django_cfg/dashboard/debug.py +176 -0
  196. django_cfg/dashboard/management/__init__.py +0 -0
  197. django_cfg/dashboard/management/commands/__init__.py +0 -0
  198. django_cfg/dashboard/management/commands/debug_dashboard.py +109 -0
  199. django_cfg/dashboard/sections/__init__.py +1 -0
  200. django_cfg/dashboard/sections/base.py +128 -0
  201. django_cfg/dashboard/sections/commands.py +32 -0
  202. django_cfg/dashboard/sections/overview.py +394 -0
  203. django_cfg/dashboard/sections/stats.py +48 -0
  204. django_cfg/dashboard/sections/system.py +73 -0
  205. django_cfg/management/commands/check_settings.py +6 -2
  206. django_cfg/management/commands/clear_constance.py +6 -1
  207. django_cfg/management/commands/create_token.py +5 -4
  208. django_cfg/management/commands/generate.py +5 -0
  209. django_cfg/management/commands/list_urls.py +7 -2
  210. django_cfg/management/commands/migrate_all.py +6 -2
  211. django_cfg/management/commands/migrator.py +6 -1
  212. django_cfg/management/commands/rundramatiq.py +6 -1
  213. django_cfg/management/commands/rundramatiq_simulator.py +11 -4
  214. django_cfg/management/commands/runserver_ngrok.py +9 -7
  215. django_cfg/management/commands/script.py +25 -21
  216. django_cfg/management/commands/show_config.py +6 -1
  217. django_cfg/management/commands/show_urls.py +8 -3
  218. django_cfg/management/commands/superuser.py +5 -4
  219. django_cfg/management/commands/task_clear.py +8 -3
  220. django_cfg/management/commands/task_status.py +8 -3
  221. django_cfg/management/commands/test_email.py +6 -1
  222. django_cfg/management/commands/test_telegram.py +6 -1
  223. django_cfg/management/commands/test_twilio.py +6 -1
  224. django_cfg/management/commands/tree.py +7 -4
  225. django_cfg/models/__init__.py +88 -3
  226. django_cfg/models/api/__init__.py +27 -0
  227. django_cfg/models/{api.py → api/config.py} +1 -1
  228. django_cfg/models/api/drf/__init__.py +21 -0
  229. django_cfg/models/api/drf/config.py +101 -0
  230. django_cfg/models/api/drf/redoc.py +31 -0
  231. django_cfg/models/api/drf/spectacular.py +129 -0
  232. django_cfg/models/api/drf/swagger.py +59 -0
  233. django_cfg/models/{api_keys.py → api/keys.py} +16 -6
  234. django_cfg/models/{limits.py → api/limits.py} +0 -1
  235. django_cfg/models/base/__init__.py +14 -0
  236. django_cfg/models/django/__init__.py +16 -0
  237. django_cfg/models/{constance.py → django/constance.py} +1 -1
  238. django_cfg/models/{environment.py → django/environment.py} +1 -1
  239. django_cfg/models/infrastructure/__init__.py +17 -0
  240. django_cfg/models/{cache.py → infrastructure/cache.py} +3 -2
  241. django_cfg/models/infrastructure/database/__init__.py +22 -0
  242. django_cfg/models/infrastructure/database/config.py +265 -0
  243. django_cfg/models/infrastructure/database/converters.py +91 -0
  244. django_cfg/models/infrastructure/database/parsers.py +96 -0
  245. django_cfg/models/infrastructure/database/routing.py +85 -0
  246. django_cfg/models/infrastructure/database/validators.py +170 -0
  247. django_cfg/models/{logging.py → infrastructure/logging.py} +1 -1
  248. django_cfg/models/{security.py → infrastructure/security.py} +2 -2
  249. django_cfg/models/ngrok/__init__.py +11 -0
  250. django_cfg/models/ngrok/auth.py +37 -0
  251. django_cfg/models/ngrok/config.py +77 -0
  252. django_cfg/models/ngrok/tunnel.py +35 -0
  253. django_cfg/models/payments/__init__.py +20 -0
  254. django_cfg/models/payments/api_keys.py +57 -0
  255. django_cfg/models/{payments.py → payments/config.py} +56 -154
  256. django_cfg/models/payments/providers/__init__.py +15 -0
  257. django_cfg/models/payments/providers/base.py +25 -0
  258. django_cfg/models/payments/providers/nowpayments.py +48 -0
  259. django_cfg/models/services/__init__.py +18 -0
  260. django_cfg/models/services/base.py +65 -0
  261. django_cfg/models/{email.py → services/email.py} +1 -1
  262. django_cfg/models/services/telegram.py +172 -0
  263. django_cfg/models/tasks/__init__.py +51 -0
  264. django_cfg/models/tasks/backends.py +250 -0
  265. django_cfg/models/tasks/config.py +314 -0
  266. django_cfg/models/tasks/utils.py +174 -0
  267. django_cfg/modules/base.py +18 -3
  268. django_cfg/modules/django_admin/decorators/actions.py +1 -1
  269. django_cfg/modules/django_admin/decorators/display.py +1 -1
  270. django_cfg/modules/django_admin/mixins/standalone_actions_mixin.py +1 -1
  271. django_cfg/modules/django_cfg_rpc_client/README.md +346 -0
  272. django_cfg/modules/django_cfg_rpc_client/__init__.py +51 -0
  273. django_cfg/modules/django_cfg_rpc_client/client.py +540 -0
  274. django_cfg/modules/django_cfg_rpc_client/config.py +207 -0
  275. django_cfg/modules/django_cfg_rpc_client/dashboard/README.md +517 -0
  276. django_cfg/modules/django_cfg_rpc_client/dashboard/UNFOLD_INTEGRATION.md +439 -0
  277. django_cfg/modules/django_cfg_rpc_client/dashboard/__init__.py +11 -0
  278. django_cfg/modules/django_cfg_rpc_client/dashboard/apps.py +22 -0
  279. django_cfg/modules/django_cfg_rpc_client/dashboard/monitor.py +435 -0
  280. django_cfg/modules/django_cfg_rpc_client/dashboard/static/django_cfg_rpc_dashboard/js/dashboard.js +373 -0
  281. django_cfg/modules/django_cfg_rpc_client/dashboard/templates/django_cfg_rpc_dashboard/base.html +76 -0
  282. django_cfg/modules/django_cfg_rpc_client/dashboard/templates/django_cfg_rpc_dashboard/dashboard.html +200 -0
  283. django_cfg/modules/django_cfg_rpc_client/dashboard/urls.py +22 -0
  284. django_cfg/modules/django_cfg_rpc_client/dashboard/urls_admin.py +9 -0
  285. django_cfg/modules/django_cfg_rpc_client/dashboard/views.py +251 -0
  286. django_cfg/modules/django_cfg_rpc_client/exceptions.py +201 -0
  287. django_cfg/modules/django_drf_theme/CHANGELOG.md +210 -0
  288. django_cfg/modules/django_drf_theme/EXAMPLE.md +465 -0
  289. django_cfg/modules/django_drf_theme/IMPLEMENTATION.md +232 -0
  290. django_cfg/modules/django_drf_theme/README.md +207 -0
  291. django_cfg/modules/django_drf_theme/TAILWIND_CDN_GUIDE.md +274 -0
  292. django_cfg/modules/django_drf_theme/__init__.py +23 -0
  293. django_cfg/modules/django_drf_theme/apps.py +15 -0
  294. django_cfg/modules/django_drf_theme/renderers.py +58 -0
  295. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/api.html +375 -0
  296. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/base.html +938 -0
  297. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/forms/filter_form.html +132 -0
  298. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/forms/raw_data_form.html +123 -0
  299. django_cfg/modules/django_drf_theme/templatetags/__init__.py +1 -0
  300. django_cfg/modules/django_drf_theme/templatetags/tailwind_tags.py +57 -0
  301. django_cfg/modules/django_email/__init__.py +14 -0
  302. django_cfg/modules/{django_email.py → django_email/service.py} +78 -113
  303. django_cfg/modules/django_email/utils.py +40 -0
  304. django_cfg/modules/django_health/__init__.py +9 -0
  305. django_cfg/modules/{django_health.py → django_health/service.py} +23 -21
  306. django_cfg/modules/django_llm/llm/client.py +155 -550
  307. django_cfg/modules/django_llm/llm/embeddings/__init__.py +13 -0
  308. django_cfg/modules/django_llm/llm/embeddings/mock_embedder.py +106 -0
  309. django_cfg/modules/django_llm/llm/embeddings/openai_embedder.py +79 -0
  310. django_cfg/modules/django_llm/llm/models_api/__init__.py +9 -0
  311. django_cfg/modules/django_llm/llm/models_api/models_query.py +163 -0
  312. django_cfg/modules/django_llm/llm/providers/__init__.py +15 -0
  313. django_cfg/modules/django_llm/llm/providers/config_builder.py +103 -0
  314. django_cfg/modules/django_llm/llm/providers/provider_manager.py +148 -0
  315. django_cfg/modules/django_llm/llm/providers/provider_selector.py +60 -0
  316. django_cfg/modules/django_llm/llm/requests/__init__.py +15 -0
  317. django_cfg/modules/django_llm/llm/requests/cache_manager.py +170 -0
  318. django_cfg/modules/django_llm/llm/requests/chat_handler.py +199 -0
  319. django_cfg/modules/django_llm/llm/requests/embedding_handler.py +113 -0
  320. django_cfg/modules/django_llm/llm/responses/__init__.py +9 -0
  321. django_cfg/modules/django_llm/llm/responses/response_builder.py +131 -0
  322. django_cfg/modules/django_llm/llm/stats/__init__.py +9 -0
  323. django_cfg/modules/django_llm/llm/stats/stats_manager.py +107 -0
  324. django_cfg/modules/django_llm/translator/detectors/__init__.py +13 -0
  325. django_cfg/modules/django_llm/translator/detectors/language_detector.py +90 -0
  326. django_cfg/modules/django_llm/translator/detectors/script_detector.py +153 -0
  327. django_cfg/modules/django_llm/translator/stats/__init__.py +11 -0
  328. django_cfg/modules/django_llm/translator/stats/stats_tracker.py +85 -0
  329. django_cfg/modules/django_llm/translator/translator.py +150 -603
  330. django_cfg/modules/django_llm/translator/translators/__init__.py +15 -0
  331. django_cfg/modules/django_llm/translator/translators/json_translator.py +316 -0
  332. django_cfg/modules/django_llm/translator/translators/text_translator.py +139 -0
  333. django_cfg/modules/django_llm/translator/utils/__init__.py +13 -0
  334. django_cfg/modules/django_llm/translator/utils/prompt_builder.py +110 -0
  335. django_cfg/modules/django_llm/translator/utils/text_utils.py +114 -0
  336. django_cfg/modules/django_logging/FIXES_SUMMARY.md +276 -0
  337. django_cfg/modules/django_logging/LOGGING_GUIDE.md +504 -0
  338. django_cfg/modules/django_logging/__init__.py +14 -0
  339. django_cfg/modules/{django_logger.py → django_logging/django_logger.py} +13 -13
  340. django_cfg/modules/{logger.py → django_logging/logger.py} +14 -4
  341. django_cfg/modules/django_ngrok/__init__.py +39 -0
  342. django_cfg/modules/{django_ngrok.py → django_ngrok/service.py} +14 -42
  343. django_cfg/modules/django_rpc_old/POETRY.md +344 -0
  344. django_cfg/modules/django_rpc_old/README.md +397 -0
  345. django_cfg/modules/django_rpc_old/TESTING.md +358 -0
  346. django_cfg/modules/django_rpc_old/__init__.py +39 -0
  347. django_cfg/modules/django_rpc_old/client.py +531 -0
  348. django_cfg/modules/django_rpc_old/config.py +279 -0
  349. django_cfg/modules/django_rpc_old/exceptions.py +172 -0
  350. django_cfg/modules/django_tailwind/README.md +478 -0
  351. django_cfg/modules/django_tailwind/__init__.py +7 -0
  352. django_cfg/modules/django_tailwind/apps.py +10 -0
  353. django_cfg/modules/django_tailwind/templates/django_tailwind/app.html +5 -0
  354. django_cfg/modules/django_tailwind/templates/django_tailwind/base.html +117 -0
  355. django_cfg/modules/django_tailwind/templates/django_tailwind/components/navbar.html +124 -0
  356. django_cfg/modules/django_tailwind/templates/django_tailwind/components/theme_toggle.html +54 -0
  357. django_cfg/modules/django_tailwind/templates/django_tailwind/components/user_menu.html +116 -0
  358. django_cfg/modules/django_tailwind/templates/django_tailwind/simple.html +46 -0
  359. django_cfg/modules/django_tailwind/templatetags/__init__.py +1 -0
  360. django_cfg/modules/django_tailwind/templatetags/tailwind_info.py +185 -0
  361. django_cfg/modules/django_tasks/__init__.py +29 -0
  362. django_cfg/modules/django_tasks/factory.py +127 -0
  363. django_cfg/modules/{django_tasks.py → django_tasks/service.py} +45 -274
  364. django_cfg/modules/django_tasks/settings.py +107 -0
  365. django_cfg/modules/django_telegram/__init__.py +29 -0
  366. django_cfg/modules/{django_telegram.py → django_telegram/service.py} +45 -113
  367. django_cfg/modules/django_telegram/utils.py +62 -0
  368. django_cfg/modules/django_twilio/__init__.py +54 -107
  369. django_cfg/modules/django_twilio/_imports.py +30 -0
  370. django_cfg/modules/django_twilio/base.py +192 -0
  371. django_cfg/modules/django_twilio/email_otp.py +227 -0
  372. django_cfg/modules/django_twilio/sendgrid_service.py +1 -1
  373. django_cfg/modules/django_twilio/simple_service.py +1 -2
  374. django_cfg/modules/django_twilio/sms.py +94 -0
  375. django_cfg/modules/django_twilio/twilio_service.py +2 -3
  376. django_cfg/modules/django_twilio/unified.py +310 -0
  377. django_cfg/modules/django_twilio/utils.py +190 -0
  378. django_cfg/modules/django_twilio/whatsapp.py +137 -0
  379. django_cfg/modules/django_unfold/callbacks/base.py +198 -7
  380. django_cfg/modules/django_unfold/callbacks/main.py +102 -10
  381. django_cfg/modules/django_unfold/dashboard.py +65 -43
  382. django_cfg/modules/django_unfold/models/config.py +13 -12
  383. django_cfg/modules/django_unfold/models/navigation.py +8 -3
  384. django_cfg/modules/django_unfold/models/tabs.py +2 -2
  385. django_cfg/modules/django_unfold/templates/unfold/helpers/app_list.html +102 -0
  386. django_cfg/registry/core.py +24 -26
  387. django_cfg/registry/modules.py +5 -2
  388. django_cfg/registry/services.py +20 -3
  389. django_cfg/registry/third_party.py +8 -8
  390. django_cfg/static/admin/css/dashboard.css +260 -0
  391. django_cfg/static/admin/js/commands.js +171 -0
  392. django_cfg/static/admin/js/dashboard.js +126 -0
  393. django_cfg/templates/admin/components/management_commands.js +375 -0
  394. django_cfg/templates/admin/components/progress_bar.html +18 -23
  395. django_cfg/templates/admin/index.html +48 -20
  396. django_cfg/templates/admin/index_new.html +106 -0
  397. django_cfg/templates/admin/layouts/base_dashboard.html +60 -0
  398. django_cfg/templates/admin/layouts/dashboard_with_tabs.html +1 -20
  399. django_cfg/templates/admin/sections/commands_section.html +626 -0
  400. django_cfg/templates/admin/sections/overview_section.html +112 -0
  401. django_cfg/templates/admin/sections/stats_section.html +35 -0
  402. django_cfg/templates/admin/sections/system_section.html +99 -0
  403. django_cfg/templates/admin/snippets/components/CHARTS_GUIDE.md +322 -0
  404. django_cfg/templates/admin/snippets/components/activity_tracker.html +85 -47
  405. django_cfg/templates/admin/snippets/components/charts_section.html +154 -64
  406. django_cfg/templates/admin/snippets/components/django_commands.html +3 -3
  407. django_cfg/templates/admin/snippets/components/recent_activity_improved.html +25 -0
  408. django_cfg/templates/admin/snippets/components/recent_users_table.html +1 -1
  409. django_cfg/templates/admin/snippets/components/system_metrics.html +179 -93
  410. django_cfg/templates/admin/snippets/zones/zones_table.html +2 -2
  411. django_cfg/templatetags/django_cfg.py +7 -1
  412. django_cfg/utils/smart_defaults.py +4 -4
  413. django_cfg-1.4.0.dist-info/METADATA +920 -0
  414. {django_cfg-1.3.11.dist-info → django_cfg-1.4.0.dist-info}/RECORD +425 -196
  415. django_cfg/apps/accounts/utils/auth_email_service.py +0 -84
  416. django_cfg/apps/payments/services/providers/nowpayments/parsers.py +0 -879
  417. django_cfg/core/generation.py +0 -621
  418. django_cfg/management/commands/validate_config.py +0 -189
  419. django_cfg/models/database.py +0 -480
  420. django_cfg/models/drf.py +0 -272
  421. django_cfg/models/ngrok.py +0 -122
  422. django_cfg/models/services.py +0 -440
  423. django_cfg/models/tasks.py +0 -550
  424. django_cfg/modules/django_twilio/service.py +0 -942
  425. django_cfg/template_archive/django_sample.zip +0 -0
  426. django_cfg/templates/rest_framework/api.html +0 -12
  427. django_cfg/utils/toolkit.py +0 -703
  428. django_cfg-1.3.11.dist-info/METADATA +0 -1029
  429. /django_cfg/apps/accounts/management/commands/{test_otp.py → otp_test.py} +0 -0
  430. /django_cfg/core/{environment.py → environment/detector.py} +0 -0
  431. /django_cfg/models/{cors.py → api/cors.py} +0 -0
  432. /django_cfg/models/{jwt.py → api/jwt.py} +0 -0
  433. /django_cfg/models/{base.py → base/config.py} +0 -0
  434. /django_cfg/models/{cfg.py → base/module.py} +0 -0
  435. /django_cfg/models/{revolution.py → django/revolution.py} +0 -0
  436. /django_cfg/modules/{dramatiq_setup.py → django_tasks/dramatiq_setup.py} +0 -0
  437. {django_cfg-1.3.11.dist-info → django_cfg-1.4.0.dist-info}/WHEEL +0 -0
  438. {django_cfg-1.3.11.dist-info → django_cfg-1.4.0.dist-info}/entry_points.txt +0 -0
  439. {django_cfg-1.3.11.dist-info → django_cfg-1.4.0.dist-info}/licenses/LICENSE +0 -0
@@ -13,7 +13,7 @@ from django.conf import settings
13
13
  from django.core.exceptions import ImproperlyConfigured
14
14
  from django.core.mail import get_connection
15
15
  from datetime import datetime
16
- from django_cfg.modules.django_logger import get_logger
16
+ from django_cfg.modules.django_logging import get_logger
17
17
 
18
18
 
19
19
 
@@ -22,6 +22,10 @@ logger = get_logger('check_settings')
22
22
  class Command(BaseCommand):
23
23
  """Command to check and debug django-cfg settings."""
24
24
 
25
+ # Web execution metadata
26
+ web_executable = True
27
+ requires_input = False
28
+ is_destructive = False
25
29
 
26
30
  help = "Check and debug django-cfg configuration settings"
27
31
 
@@ -154,7 +158,7 @@ class Command(BaseCommand):
154
158
 
155
159
  # Get current config
156
160
  try:
157
- from django_cfg.core.config import get_current_config
161
+ from django_cfg.core.state import get_current_config
158
162
  config = get_current_config()
159
163
 
160
164
  if config:
@@ -6,7 +6,7 @@ Clear Constance configuration cache and database records.
6
6
  from django.core.management.base import BaseCommand
7
7
  from django.core.cache import cache
8
8
  from django.conf import settings
9
- from django_cfg.modules.django_logger import get_logger
9
+ from django_cfg.modules.django_logging import get_logger
10
10
 
11
11
 
12
12
 
@@ -14,6 +14,11 @@ from django_cfg.modules.django_logger import get_logger
14
14
  class Command(BaseCommand):
15
15
  logger = get_logger('clear_constance')
16
16
 
17
+ # Web execution metadata
18
+ web_executable = False
19
+ requires_input = True
20
+ is_destructive = True
21
+
17
22
  help = 'Clear Constance configuration cache and database records'
18
23
 
19
24
  def add_arguments(self, parser):
@@ -12,10 +12,7 @@ from django.contrib.auth import get_user_model
12
12
  from django.conf import settings
13
13
  import questionary
14
14
  from datetime import datetime, timedelta
15
- from django_cfg.modules.django_logger import get_logger
16
-
17
-
18
- from django_cfg import ConfigToolkit
15
+ from django_cfg.modules.django_logging import get_logger
19
16
 
20
17
  User = get_user_model()
21
18
 
@@ -23,6 +20,10 @@ User = get_user_model()
23
20
  logger = get_logger('create_token')
24
21
 
25
22
  class Command(BaseCommand):
23
+ # Web execution metadata
24
+ web_executable = False
25
+ requires_input = True
26
+ is_destructive = False
26
27
 
27
28
  help = 'Create API tokens and authentication tokens'
28
29
 
@@ -14,6 +14,11 @@ from django_revolution.openapi.generator import OpenAPIGenerator
14
14
 
15
15
 
16
16
  class Command(BaseCommand):
17
+ # Web execution metadata
18
+ web_executable = True
19
+ requires_input = False
20
+ is_destructive = False
21
+
17
22
  help = "Generate Django Revolution clients (TypeScript and Python)"
18
23
 
19
24
  def add_arguments(self, parser):
@@ -9,7 +9,7 @@ import re
9
9
  from django.core.management.base import BaseCommand
10
10
  from django.urls import get_resolver
11
11
  from django.conf import settings
12
- from django_cfg.modules.django_logger import get_logger
12
+ from django_cfg.modules.django_logging import get_logger
13
13
 
14
14
 
15
15
  # Rich imports for beautiful output
@@ -19,7 +19,7 @@ from rich.text import Text
19
19
  from rich.table import Table
20
20
  from rich.align import Align
21
21
 
22
- from django_cfg.core.config import get_current_config
22
+ from django_cfg.core.state import get_current_config
23
23
 
24
24
 
25
25
  logger = get_logger('list_urls')
@@ -27,6 +27,11 @@ logger = get_logger('list_urls')
27
27
  class Command(BaseCommand):
28
28
  """Command to display all available URLs in the project."""
29
29
 
30
+ # Web execution metadata
31
+ web_executable = True
32
+ requires_input = False
33
+ is_destructive = False
34
+
30
35
  help = "Display all available URLs with Rich formatting"
31
36
 
32
37
  def __init__(self, *args, **kwargs):
@@ -6,15 +6,19 @@ Migrate all databases based on django-cfg configuration.
6
6
  from django.core.management.base import BaseCommand
7
7
  from django.core.management import call_command
8
8
  from django.apps import apps
9
- from django_cfg.modules.django_logger import get_logger
9
+ from django_cfg.modules.django_logging import get_logger
10
10
 
11
11
 
12
- from django_cfg.core.config import get_current_config
12
+ from django_cfg.core.state import get_current_config
13
13
 
14
14
 
15
15
  logger = get_logger('migrate_all')
16
16
 
17
17
  class Command(BaseCommand):
18
+ # Web execution metadata
19
+ web_executable = False
20
+ requires_input = False
21
+ is_destructive = True
18
22
 
19
23
  help = "Migrate all databases based on django-cfg configuration"
20
24
 
@@ -14,12 +14,17 @@ from django.conf import settings
14
14
  import questionary
15
15
  from datetime import datetime
16
16
  from django_cfg.core.config import DEFAULT_APPS
17
- from django_cfg.modules.django_logger import get_logger
17
+ from django_cfg.modules.django_logging import get_logger
18
18
 
19
19
  logger = get_logger('migrator')
20
20
 
21
21
 
22
22
  class Command(BaseCommand):
23
+ # Web execution metadata
24
+ web_executable = False
25
+ requires_input = True
26
+ is_destructive = True
27
+
23
28
  help = "Smart migration command with interactive menu for multiple databases"
24
29
 
25
30
  def add_arguments(self, parser):
@@ -15,7 +15,7 @@ from django.apps import apps
15
15
  from django.conf import settings
16
16
  from django.core.management.base import BaseCommand
17
17
  from django.utils.module_loading import module_has_submodule
18
- from django_cfg.modules.django_logger import get_logger
18
+ from django_cfg.modules.django_logging import get_logger
19
19
  from django_cfg.modules.django_tasks import get_task_service
20
20
 
21
21
 
@@ -28,6 +28,11 @@ logger = get_logger('rundramatiq')
28
28
 
29
29
 
30
30
  class Command(BaseCommand):
31
+ # Web execution metadata
32
+ web_executable = False
33
+ requires_input = False
34
+ is_destructive = False
35
+
31
36
  help = "Run Dramatiq workers with Django-CFG configuration."
32
37
 
33
38
  def add_arguments(self, parser):
@@ -54,7 +54,7 @@ class TaskSimulator:
54
54
  self.queues = config.tasks.dramatiq.queues
55
55
  except Exception as e:
56
56
  # Use default queues if we can't get configuration
57
- self.queues = ['critical', 'high', 'default', 'low', 'background', 'payments', 'agents']
57
+ self.queues = ['critical', 'high', 'default', 'low', 'background', 'payments', 'agents', 'knowbase']
58
58
 
59
59
  def clear_all_data(self) -> int:
60
60
  """
@@ -88,7 +88,8 @@ class TaskSimulator:
88
88
  'low': 8,
89
89
  'background': 15,
90
90
  'payments': 3,
91
- 'agents': 7
91
+ 'agents': 7,
92
+ 'knowbase': 4
92
93
  }
93
94
 
94
95
  if failed_tasks_per_queue is None:
@@ -99,7 +100,8 @@ class TaskSimulator:
99
100
  'low': 2,
100
101
  'background': 1,
101
102
  'payments': 0,
102
- 'agents': 1
103
+ 'agents': 1,
104
+ 'knowbase': 0
103
105
  }
104
106
 
105
107
  results = {}
@@ -282,7 +284,12 @@ class TaskSimulator:
282
284
 
283
285
  class Command(BaseCommand):
284
286
  """Django management command для симуляции Dramatiq данных."""
285
-
287
+
288
+ # Web execution metadata
289
+ web_executable = False
290
+ requires_input = False
291
+ is_destructive = False
292
+
286
293
  help = 'Simulate Dramatiq tasks and workers for dashboard testing'
287
294
 
288
295
  def add_arguments(self, parser):
@@ -8,14 +8,19 @@ import os
8
8
  import time
9
9
  from django.core.management.commands.runserver import Command as RunServerCommand
10
10
  from django_cfg.modules.django_ngrok import get_ngrok_service
11
- from django_cfg.modules.django_logger import get_logger
11
+ from django_cfg.modules.django_logging import get_logger
12
12
 
13
13
  logger = get_logger('runserver_ngrok')
14
14
 
15
15
 
16
16
  class Command(RunServerCommand):
17
17
  """Enhanced runserver command with ngrok tunnel support."""
18
-
18
+
19
+ # Web execution metadata
20
+ web_executable = False
21
+ requires_input = False
22
+ is_destructive = False
23
+
19
24
  help = f'{RunServerCommand.help.rstrip(".")} with ngrok tunnel.'
20
25
 
21
26
  def add_arguments(self, parser):
@@ -101,13 +106,10 @@ class Command(RunServerCommand):
101
106
  if tunnel_ready:
102
107
  # Set environment variables for ngrok URL
103
108
  self._set_ngrok_env_vars(tunnel_url)
104
-
109
+
105
110
  # Update ALLOWED_HOSTS if needed
106
111
  self._update_allowed_hosts(tunnel_url)
107
-
108
- # Update config URLs if enabled
109
- ngrok_service.update_config_urls()
110
-
112
+
111
113
  # Brief success message - detailed info will be shown by startup_display
112
114
  self.stdout.write(
113
115
  self.style.SUCCESS(f"✅ Ngrok tunnel ready: {tunnel_url}")
@@ -13,15 +13,16 @@ from django.core.management import call_command
13
13
  from django.conf import settings
14
14
  import questionary
15
15
  from datetime import datetime
16
- from django_cfg.modules.django_logger import get_logger
17
-
18
-
19
- from django_cfg import ConfigToolkit
16
+ from django_cfg.modules.django_logging import get_logger
20
17
 
21
18
 
22
19
  logger = get_logger('script')
23
20
 
24
21
  class Command(BaseCommand):
22
+ # Web execution metadata
23
+ web_executable = False
24
+ requires_input = True
25
+ is_destructive = False
25
26
 
26
27
  help = 'Run custom scripts and manage Django applications'
27
28
 
@@ -204,18 +205,15 @@ os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'project.settings')
204
205
  import django
205
206
  django.setup()
206
207
 
207
- # Import ConfigToolkit
208
- from django_cfg import ConfigToolkit
209
-
210
208
 
211
209
  def main():
212
210
  """Main function for {script_name} script."""
213
211
  print(f"🚀 Running {script_name} script...")
214
-
215
- # Initialize configuration
216
- config = ConfigToolkit()
217
-
212
+
218
213
  # Your script logic here
214
+ # You can use Django settings: from django.conf import settings
215
+ # Or DjangoConfig: from django_cfg.core.state import get_current_config
216
+
219
217
  print("✅ Script completed successfully!")
220
218
 
221
219
 
@@ -279,7 +277,7 @@ Auto-generated Django management command.
279
277
  """
280
278
 
281
279
  from django.core.management.base import BaseCommand
282
- from django_cfg import ConfigToolkit
280
+ from django.conf import settings
283
281
 
284
282
 
285
283
  class Command(BaseCommand):
@@ -292,11 +290,11 @@ class Command(BaseCommand):
292
290
  def handle(self, *args, **options):
293
291
  """Handle the command."""
294
292
  self.stdout.write(self.style.SUCCESS(f'🚀 Running {command_name} command...'))
295
-
296
- # Initialize configuration
297
- config = ConfigToolkit()
298
-
293
+
299
294
  # Your command logic here
295
+ # You can use Django settings: settings.DEBUG, etc.
296
+ # Or DjangoConfig: from django_cfg.core.state import get_current_config
297
+
300
298
  self.stdout.write(self.style.SUCCESS('✅ Command completed successfully!'))
301
299
  '''
302
300
 
@@ -483,10 +481,16 @@ class Command(BaseCommand):
483
481
  for db_name in settings.DATABASES:
484
482
  engine = settings.DATABASES[db_name].get('ENGINE', 'Unknown')
485
483
  self.stdout.write(f' - {db_name}: {engine}')
486
-
487
- # ConfigToolkit info
484
+
485
+ # Django-CFG info
488
486
  try:
489
- config = ConfigToolkit()
490
- self.stdout.write(f'⚙️ ConfigToolkit: Loaded successfully')
487
+ from django_cfg.core.state import get_current_config
488
+ config = get_current_config()
489
+ if config:
490
+ self.stdout.write(f'⚙️ Django-CFG: Loaded')
491
+ if hasattr(config, 'project_name'):
492
+ self.stdout.write(f' - Project: {config.project_name}')
493
+ else:
494
+ self.stdout.write(f'⚠️ Django-CFG: No config loaded')
491
495
  except Exception as e:
492
- self.stdout.write(f'❌ ConfigToolkit: Error - {e}')
496
+ self.stdout.write(f'❌ Django-CFG: Error - {e}')
@@ -10,12 +10,17 @@ import json
10
10
  import os
11
11
  from django.core.management.base import BaseCommand
12
12
  from django.conf import settings
13
- from django_cfg.modules.django_logger import get_logger
13
+ from django_cfg.modules.django_logging import get_logger
14
14
 
15
15
  logger = get_logger('show_config')
16
16
 
17
17
 
18
18
  class Command(BaseCommand):
19
+ # Web execution metadata
20
+ web_executable = True
21
+ requires_input = False
22
+ is_destructive = False
23
+
19
24
  help = 'Show Django Config configuration'
20
25
 
21
26
  def add_arguments(self, parser):
@@ -8,7 +8,7 @@ from django.core.management.base import BaseCommand, CommandParser
8
8
  from django.urls import get_resolver
9
9
  from django.conf import settings
10
10
  from django.utils.termcolors import make_style
11
- from django_cfg.modules.django_logger import get_logger
11
+ from django_cfg.modules.django_logging import get_logger
12
12
 
13
13
  logger = get_logger('show_urls')
14
14
 
@@ -16,11 +16,16 @@ logger = get_logger('show_urls')
16
16
  class Command(BaseCommand):
17
17
  """
18
18
  Display all URL patterns in the Django project.
19
-
19
+
20
20
  This command recursively walks through all URL patterns and displays them
21
21
  in a hierarchical format with colors and filtering options.
22
22
  """
23
-
23
+
24
+ # Web execution metadata
25
+ web_executable = True
26
+ requires_input = False
27
+ is_destructive = False
28
+
24
29
  help = 'Display all URL patterns in the project'
25
30
 
26
31
  def __init__(self, *args, **kwargs):
@@ -14,10 +14,7 @@ from django.core.exceptions import ValidationError
14
14
  from django.conf import settings
15
15
  import questionary
16
16
  from datetime import datetime
17
- from django_cfg.modules.django_logger import get_logger
18
-
19
-
20
- from django_cfg import ConfigToolkit
17
+ from django_cfg.modules.django_logging import get_logger
21
18
 
22
19
  User = get_user_model()
23
20
 
@@ -25,6 +22,10 @@ User = get_user_model()
25
22
  logger = get_logger('superuser')
26
23
 
27
24
  class Command(BaseCommand):
25
+ # Web execution metadata
26
+ web_executable = False
27
+ requires_input = True
28
+ is_destructive = False
28
29
 
29
30
  help = 'Create a superuser with enhanced validation and configuration'
30
31
 
@@ -9,7 +9,7 @@ from django.core.management.base import BaseCommand, CommandError
9
9
  from django.conf import settings
10
10
  from typing import Any, Optional, List
11
11
  import logging
12
- from django_cfg.modules.django_logger import get_logger
12
+ from django_cfg.modules.django_logging import get_logger
13
13
 
14
14
  logger = get_logger('task_clear')
15
15
 
@@ -17,13 +17,18 @@ logger = get_logger('task_clear')
17
17
  class Command(BaseCommand):
18
18
  """
19
19
  Clear tasks from Dramatiq queues.
20
-
20
+
21
21
  Provides options to:
22
22
  - Clear all tasks from specific queues
23
23
  - Clear only failed tasks
24
24
  - Clear all tasks from all queues
25
25
  """
26
-
26
+
27
+ # Web execution metadata
28
+ web_executable = False
29
+ requires_input = True
30
+ is_destructive = True
31
+
27
32
  help = "Clear tasks from Dramatiq queues"
28
33
 
29
34
  def add_arguments(self, parser):
@@ -11,7 +11,7 @@ from django.conf import settings
11
11
  from typing import Any, Dict, List
12
12
  import json
13
13
  import logging
14
- from django_cfg.modules.django_logger import get_logger
14
+ from django_cfg.modules.django_logging import get_logger
15
15
 
16
16
  logger = get_logger('task_status')
17
17
 
@@ -19,7 +19,7 @@ logger = get_logger('task_status')
19
19
  class Command(BaseCommand):
20
20
  """
21
21
  Display comprehensive task system status.
22
-
22
+
23
23
  Shows information about:
24
24
  - Task system configuration
25
25
  - Redis connection status
@@ -27,7 +27,12 @@ class Command(BaseCommand):
27
27
  - Worker status
28
28
  - Discovered task modules
29
29
  """
30
-
30
+
31
+ # Web execution metadata
32
+ web_executable = True
33
+ requires_input = False
34
+ is_destructive = False
35
+
31
36
  help = "Display task system status and statistics"
32
37
 
33
38
  def add_arguments(self, parser):
@@ -6,7 +6,7 @@ Tests email sending functionality using django_cfg configuration.
6
6
 
7
7
  from django.core.management.base import BaseCommand
8
8
  from django.contrib.auth import get_user_model
9
- from django_cfg.modules.django_logger import get_logger
9
+ from django_cfg.modules.django_logging import get_logger
10
10
 
11
11
  User = get_user_model()
12
12
  logger = get_logger('test_email')
@@ -15,6 +15,11 @@ logger = get_logger('test_email')
15
15
  class Command(BaseCommand):
16
16
  """Command to test email functionality."""
17
17
 
18
+ # Web execution metadata
19
+ web_executable = True
20
+ requires_input = False
21
+ is_destructive = False
22
+
18
23
  help = "Test email sending functionality"
19
24
 
20
25
  def add_arguments(self, parser):
@@ -5,7 +5,7 @@ Tests Telegram notification functionality using django_cfg configuration.
5
5
  """
6
6
 
7
7
  from django.core.management.base import BaseCommand
8
- from django_cfg.modules.django_logger import get_logger
8
+ from django_cfg.modules.django_logging import get_logger
9
9
 
10
10
 
11
11
 
@@ -14,6 +14,11 @@ logger = get_logger('test_telegram')
14
14
  class Command(BaseCommand):
15
15
  """Command to test Telegram functionality."""
16
16
 
17
+ # Web execution metadata
18
+ web_executable = True
19
+ requires_input = False
20
+ is_destructive = False
21
+
17
22
  help = "Test Telegram notification functionality"
18
23
 
19
24
  def add_arguments(self, parser):
@@ -5,7 +5,7 @@ Tests Twilio messaging functionality using django_cfg configuration.
5
5
  """
6
6
 
7
7
  from django.core.management.base import BaseCommand
8
- from django_cfg.modules.django_logger import get_logger
8
+ from django_cfg.modules.django_logging import get_logger
9
9
 
10
10
 
11
11
 
@@ -14,6 +14,11 @@ logger = get_logger('test_twilio')
14
14
  class Command(BaseCommand):
15
15
  """Command to test Twilio functionality."""
16
16
 
17
+ # Web execution metadata
18
+ web_executable = True
19
+ requires_input = False
20
+ is_destructive = False
21
+
17
22
  help = "Test Twilio messaging functionality"
18
23
 
19
24
  def add_arguments(self, parser):
@@ -11,10 +11,10 @@ from typing import List, Optional
11
11
 
12
12
  from django.core.management.base import BaseCommand, CommandError
13
13
  from django.conf import settings
14
- from django_cfg.modules.django_logger import get_logger
14
+ from django_cfg.modules.django_logging import get_logger
15
15
 
16
16
 
17
- from django_cfg.core.config import get_current_config
17
+ from django_cfg.core.state import get_current_config
18
18
  from django_cfg.utils.path_resolution import PathResolver
19
19
 
20
20
 
@@ -22,7 +22,11 @@ logger = get_logger('tree')
22
22
 
23
23
  class Command(BaseCommand):
24
24
  """Display Django project structure in tree format."""
25
-
25
+
26
+ # Web execution metadata
27
+ web_executable = True
28
+ requires_input = False
29
+ is_destructive = False
26
30
 
27
31
  help = "Display Django project structure based on django-cfg configuration"
28
32
 
@@ -196,7 +200,6 @@ class Command(BaseCommand):
196
200
 
197
201
  # Conditionally add patterns based on options
198
202
  # Note: @docs folders are now included by default to show documentation
199
- # Use --include-docs flag is kept for backward compatibility but doesn't exclude @docs anymore
200
203
 
201
204
  if not options.get('include_docker'):
202
205
  default_ignores.extend([
@@ -3,9 +3,94 @@ Configuration models for django_cfg.
3
3
 
4
4
  All models are built using Pydantic v2 for complete type safety and validation.
5
5
  Following CRITICAL_REQUIREMENTS.md - no raw Dict/Any usage, everything is properly typed.
6
+
7
+ Organized by category:
8
+ - base/ - Base classes and foundations
9
+ - infrastructure/ - Core infrastructure (database, cache, logging, security)
10
+ - api/ - API, authentication, and documentation
11
+ - django/ - Django-specific configurations
12
+ - services/ - External services (email, telegram, ngrok)
13
+ - payments/ - Payment provider configurations
14
+ - tasks/ - Task/worker configurations
6
15
  """
7
16
 
8
- # This file intentionally left minimal to avoid circular imports
9
- # All models are imported through the main __init__.py lazy loading mechanism
17
+ # Base classes
18
+ from .base.config import BaseConfig, BaseSettings
19
+ from .base.module import BaseCfgAutoModule
20
+
21
+ # Infrastructure
22
+ from .infrastructure.database import DatabaseConfig
23
+ from .infrastructure.cache import CacheConfig
24
+ from .infrastructure.logging import LoggingConfig
25
+ from .infrastructure.security import SecurityConfig
26
+
27
+ # API & Authentication
28
+ from .api.config import APIConfig
29
+ from .api.keys import ApiKeys
30
+ from .api.jwt import JWTConfig
31
+ from .api.cors import CORSConfig
32
+ from .api.limits import LimitsConfig
33
+ from .api.drf.config import DRFConfig
34
+ from .api.drf.spectacular import SpectacularConfig
35
+ from .api.drf.swagger import SwaggerUISettings
36
+ from .api.drf.redoc import RedocUISettings
37
+
38
+ # Django-specific
39
+ from .django.environment import EnvironmentConfig
40
+ from .django.constance import ConstanceConfig, ConstanceField
41
+ from .django.revolution import RevolutionConfig
42
+
43
+ # Services
44
+ from .services.email import EmailConfig
45
+ from .services.telegram import TelegramConfig
46
+ from .services.base import ServiceConfig
47
+ from .ngrok.config import NgrokConfig
48
+ from .ngrok.auth import NgrokAuthConfig
49
+ from .ngrok.tunnel import NgrokTunnelConfig
50
+
51
+ # Payments
52
+ from .payments.config import PaymentsConfig
53
+ from .payments.providers.base import BaseProviderConfig
54
+ from .payments.providers.nowpayments import NowPaymentsProviderConfig
55
+
56
+ # External modules (imported from other locations)
57
+ from ..modules.django_unfold.models.config import UnfoldConfig
10
58
 
11
- __all__ = [] # All exports handled by parent __init__.py
59
+ __all__ = [
60
+ # Base
61
+ "BaseConfig",
62
+ "BaseSettings",
63
+ "BaseCfgAutoModule",
64
+ # Infrastructure
65
+ "DatabaseConfig",
66
+ "CacheConfig",
67
+ "LoggingConfig",
68
+ "SecurityConfig",
69
+ # API
70
+ "APIConfig",
71
+ "ApiKeys",
72
+ "JWTConfig",
73
+ "CORSConfig",
74
+ "LimitsConfig",
75
+ "DRFConfig",
76
+ "SpectacularConfig",
77
+ "SwaggerUISettings",
78
+ "RedocUISettings",
79
+ # Django
80
+ "EnvironmentConfig",
81
+ "ConstanceConfig",
82
+ "ConstanceField",
83
+ "RevolutionConfig",
84
+ "UnfoldConfig",
85
+ # Services
86
+ "EmailConfig",
87
+ "TelegramConfig",
88
+ "ServiceConfig",
89
+ "NgrokConfig",
90
+ "NgrokAuthConfig",
91
+ "NgrokTunnelConfig",
92
+ # Payments
93
+ "PaymentsConfig",
94
+ "BaseProviderConfig",
95
+ "NowPaymentsProviderConfig",
96
+ ]