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
@@ -1,1029 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: django-cfg
3
- Version: 1.3.13
4
- Summary: ๐Ÿš€ Next-gen Django configuration: type-safety, AI features, blazing-fast setup, and automated best practices โ€” all in one.
5
- Project-URL: Homepage, https://djangocfg.com
6
- Project-URL: Documentation, https://docs.djangocfg.com
7
- Project-URL: Repository, https://github.com/markolofsen/django-cfg
8
- Project-URL: Issues, https://github.com/markolofsen/django-cfg/issues
9
- Project-URL: Changelog, https://github.com/markolofsen/django-cfg/blob/main/CHANGELOG.md
10
- Author-email: Django-CFG Team <info@djangocfg.com>
11
- Maintainer-email: Django-CFG Team <info@djangocfg.com>
12
- License: MIT
13
- License-File: LICENSE
14
- Keywords: configuration,developer-experience,django,pydantic,settings,type-safety
15
- Classifier: Development Status :: 4 - Beta
16
- Classifier: Framework :: Django
17
- Classifier: Framework :: Django :: 5.2
18
- Classifier: Intended Audience :: Developers
19
- Classifier: License :: OSI Approved :: MIT License
20
- Classifier: Operating System :: OS Independent
21
- Classifier: Programming Language :: Python
22
- Classifier: Programming Language :: Python :: 3
23
- Classifier: Programming Language :: Python :: 3.10
24
- Classifier: Programming Language :: Python :: 3.11
25
- Classifier: Programming Language :: Python :: 3.12
26
- Classifier: Programming Language :: Python :: 3.13
27
- Classifier: Topic :: Internet :: WWW/HTTP
28
- Classifier: Topic :: Internet :: WWW/HTTP :: Dynamic Content
29
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
30
- Classifier: Topic :: System :: Systems Administration
31
- Classifier: Typing :: Typed
32
- Requires-Python: <4.0,>=3.12
33
- Requires-Dist: beautifulsoup4<5.0,>=4.13.0
34
- Requires-Dist: cachetools<7.0,>=5.3.0
35
- Requires-Dist: click<9.0,>=8.2.0
36
- Requires-Dist: cloudflare<5.0,>=4.3.0
37
- Requires-Dist: colorlog<7.0,>=6.9.0
38
- Requires-Dist: coolname<3.0,>=2.2.0
39
- Requires-Dist: currencyconverter<1.0,>=0.18.0
40
- Requires-Dist: dj-database-url<4.0,>=3.0.0
41
- Requires-Dist: django-admin-rangefilter<1.0,>=0.13.0
42
- Requires-Dist: django-constance<5.0,>=4.3.0
43
- Requires-Dist: django-cors-headers<5.0,>=4.7.0
44
- Requires-Dist: django-dramatiq<1.0,>=0.14.0
45
- Requires-Dist: django-extensions<5.0,>=4.1.0
46
- Requires-Dist: django-filter<26.0,>=25.0
47
- Requires-Dist: django-import-export<5.0,>=4.3.0
48
- Requires-Dist: django-json-widget<3.0,>=2.0.0
49
- Requires-Dist: django-ratelimit<5.0.0,>=4.1.0
50
- Requires-Dist: django-redis<7.0,>=6.0.0
51
- Requires-Dist: django-revolution<2.0,>=1.0.43
52
- Requires-Dist: django-unfold<1.0,>=0.64.0
53
- Requires-Dist: djangorestframework-simplejwt<6.0,>=5.5.0
54
- Requires-Dist: djangorestframework-simplejwt[token-blacklist]<6.0,>=5.5.0
55
- Requires-Dist: djangorestframework<4.0,>=3.16.0
56
- Requires-Dist: dramatiq[redis]<2.0,>=1.18.0
57
- Requires-Dist: drf-nested-routers<1.0,>=0.94.0
58
- Requires-Dist: drf-spectacular-sidecar<2026.0,>=2025.8.0
59
- Requires-Dist: drf-spectacular<1.0,>=0.28.0
60
- Requires-Dist: hiredis<4.0,>=2.0.0
61
- Requires-Dist: loguru<1.0,>=0.7.0
62
- Requires-Dist: lxml<7.0,>=6.0.0
63
- Requires-Dist: mypy<2.0.0,>=1.18.2
64
- Requires-Dist: ngrok>=1.5.1; python_version >= '3.12'
65
- Requires-Dist: openai<2.0,>=1.107.0
66
- Requires-Dist: pgvector<1.0,>=0.4.0
67
- Requires-Dist: psycopg[binary,pool]<4.0,>=3.2.0
68
- Requires-Dist: pydantic-ai<2.0,>=1.0.10
69
- Requires-Dist: pydantic-yaml<2.0,>=1.6.0
70
- Requires-Dist: pydantic<3.0,>=2.11.0
71
- Requires-Dist: pydantic[email]<3.0,>=2.11.0
72
- Requires-Dist: pytelegrambotapi<5.0,>=4.28.0
73
- Requires-Dist: python-json-logger<4.0,>=3.3.0
74
- Requires-Dist: pyyaml<7.0,>=6.0
75
- Requires-Dist: questionary<3.0,>=2.1.0
76
- Requires-Dist: redis<7.0,>=6.4.0
77
- Requires-Dist: requests<3.0,>=2.32.0
78
- Requires-Dist: rich<15.0,>=14.0.0
79
- Requires-Dist: sendgrid<7.0,>=6.12.0
80
- Requires-Dist: tenacity<10.0.0,>=9.1.2
81
- Requires-Dist: tiktoken<1.0,>=0.11.0
82
- Requires-Dist: toml<0.11.0,>=0.10.2
83
- Requires-Dist: twilio<10.0,>=9.8.0
84
- Requires-Dist: whitenoise<7.0,>=6.8.0
85
- Provides-Extra: dev
86
- Requires-Dist: black<26.0,>=25.9; extra == 'dev'
87
- Requires-Dist: build<2.0,>=1.3; extra == 'dev'
88
- Requires-Dist: django<6.0,>=5.2; extra == 'dev'
89
- Requires-Dist: factory-boy<4.0,>=3.3; extra == 'dev'
90
- Requires-Dist: flake8<8.0,>=6.0.0; extra == 'dev'
91
- Requires-Dist: isort<7.0,>=6.0; extra == 'dev'
92
- Requires-Dist: mkdocs-material<10.0,>=9.6; extra == 'dev'
93
- Requires-Dist: mkdocs<2.0,>=1.6; extra == 'dev'
94
- Requires-Dist: mkdocstrings[python]<1.0,>=0.30; extra == 'dev'
95
- Requires-Dist: mypy<2.0,>=1.18; extra == 'dev'
96
- Requires-Dist: pre-commit<5.0,>=4.3; extra == 'dev'
97
- Requires-Dist: pytest-cov<8.0,>=7.0; extra == 'dev'
98
- Requires-Dist: pytest-django<5.0,>=4.11; extra == 'dev'
99
- Requires-Dist: pytest-mock<4.0,>=3.15; extra == 'dev'
100
- Requires-Dist: pytest<9.0,>=8.4; extra == 'dev'
101
- Requires-Dist: questionary<3.0,>=2.1.0; extra == 'dev'
102
- Requires-Dist: redis<7.0,>=6.4.0; extra == 'dev'
103
- Requires-Dist: rich<15.0,>=13.0.0; extra == 'dev'
104
- Requires-Dist: tomlkit<1.0,>=0.13.3; extra == 'dev'
105
- Requires-Dist: twine<7.0,>=6.2; extra == 'dev'
106
- Provides-Extra: django52
107
- Requires-Dist: django<6.0,>=5.2; extra == 'django52'
108
- Provides-Extra: docs
109
- Requires-Dist: mkdocs-material<10.0,>=9.6; extra == 'docs'
110
- Requires-Dist: mkdocs<2.0,>=1.6; extra == 'docs'
111
- Requires-Dist: mkdocstrings[python]<1.0,>=0.30; extra == 'docs'
112
- Requires-Dist: pymdown-extensions<11.0,>=10.16; extra == 'docs'
113
- Provides-Extra: full
114
- Requires-Dist: black<26.0,>=25.9; extra == 'full'
115
- Requires-Dist: build<2.0,>=1.3; extra == 'full'
116
- Requires-Dist: django<6.0,>=5.2; extra == 'full'
117
- Requires-Dist: factory-boy<4.0,>=3.3; extra == 'full'
118
- Requires-Dist: flake8<8.0,>=6.0.0; extra == 'full'
119
- Requires-Dist: isort<7.0,>=6.0; extra == 'full'
120
- Requires-Dist: mkdocs-material<10.0,>=9.6; extra == 'full'
121
- Requires-Dist: mkdocs<2.0,>=1.6; extra == 'full'
122
- Requires-Dist: mkdocstrings[python]<1.0,>=0.30; extra == 'full'
123
- Requires-Dist: mypy<2.0,>=1.18; extra == 'full'
124
- Requires-Dist: pre-commit<5.0,>=4.3; extra == 'full'
125
- Requires-Dist: pymdown-extensions<11.0,>=10.16; extra == 'full'
126
- Requires-Dist: pytest-cov<8.0,>=7.0; extra == 'full'
127
- Requires-Dist: pytest-django<5.0,>=4.11; extra == 'full'
128
- Requires-Dist: pytest-mock<4.0,>=3.15; extra == 'full'
129
- Requires-Dist: pytest-xdist<4.0,>=3.8; extra == 'full'
130
- Requires-Dist: pytest<9.0,>=8.4; extra == 'full'
131
- Requires-Dist: questionary<3.0,>=2.1.0; extra == 'full'
132
- Requires-Dist: redis<7.0,>=6.4.0; extra == 'full'
133
- Requires-Dist: rich<15.0,>=13.0.0; extra == 'full'
134
- Requires-Dist: tomlkit<1.0,>=0.13.3; extra == 'full'
135
- Requires-Dist: twine<7.0,>=6.2; extra == 'full'
136
- Provides-Extra: local
137
- Provides-Extra: tasks
138
- Requires-Dist: redis<7.0,>=6.4.0; extra == 'tasks'
139
- Provides-Extra: test
140
- Requires-Dist: django<6.0,>=5.2; extra == 'test'
141
- Requires-Dist: factory-boy<4.0,>=3.3; extra == 'test'
142
- Requires-Dist: pytest-cov<8.0,>=7.0; extra == 'test'
143
- Requires-Dist: pytest-django<5.0,>=4.11; extra == 'test'
144
- Requires-Dist: pytest-mock<4.0,>=3.15; extra == 'test'
145
- Requires-Dist: pytest-xdist<4.0,>=3.8; extra == 'test'
146
- Requires-Dist: pytest<9.0,>=8.4; extra == 'test'
147
- Description-Content-Type: text/markdown
148
-
149
- # ๐Ÿš€ Django-CFG: Enterprise Django Configuration Framework
150
-
151
- <div align="center">
152
- <img src="https://github.com/markolofsen/django-cfg/blob/main/examples/static/startup.png?raw=true" alt="Django-CFG Startup Interface" width="800" />
153
- </div>
154
-
155
- [![Python Version](https://img.shields.io/pypi/pyversions/django-cfg.svg?style=flat-square&logo=python&logoColor=white)](https://pypi.org/project/django-cfg)
156
- [![Django Version](https://img.shields.io/pypi/djversions/django-cfg.svg?style=flat-square&logo=django&logoColor=white)](https://pypi.org/project/django-cfg)
157
- [![PyPI Version](https://img.shields.io/pypi/v/django-cfg.svg?style=flat-square&logo=pypi&logoColor=white)](https://pypi.org/project/django-cfg)
158
- [![License](https://img.shields.io/pypi/l/django-cfg.svg?style=flat-square)](https://github.com/markolofsen/markolofsen/blob/main/LICENSE)
159
- [![Downloads](https://img.shields.io/pypi/dm/django-cfg.svg?style=flat-square&logo=pypi&logoColor=white)](https://pypi.org/project/django-cfg)
160
- [![GitHub Stars](https://img.shields.io/github/stars/markolofsen/django-cfg?style=flat-square&logo=github)](https://github.com/markolofsen/django-cfg)
161
-
162
- > **Transform Django development with enterprise-grade type safety, AI agents, and production-ready integrations.**
163
-
164
- **Django-CFG** is the next-generation Django configuration framework designed for **enterprise applications**. Built with **Pydantic v2**, it provides **100% type safety**, **intelligent environment detection**, **AI-powered workflows**, and **seamless production deployment**.
165
-
166
- ๐ŸŒ **Official Website**: [djangocfg.com](https://djangocfg.com/)
167
- ๐Ÿ“š **Documentation**: [docs.djangocfg.com](https://docs.djangocfg.com/)
168
- ๐Ÿ™ **GitHub Repository**: [github.com/markolofsen/django-cfg](https://github.com/markolofsen/django-cfg)
169
-
170
- ---
171
-
172
- ## ๐ŸŽฏ Quick Start: Production-Ready in 30 Seconds
173
-
174
- ### Prerequisites
175
- - **Python 3.12+** ([Download](https://www.python.org/downloads/))
176
- - **Basic Django knowledge**
177
-
178
- ### Installation & Setup
179
-
180
- ```bash
181
- # 1. Install Django-CFG
182
- pip install django-cfg
183
-
184
- # 2. Create enterprise-ready project
185
- django-cfg create-project "My Enterprise App"
186
-
187
- # 3. Launch your application
188
- cd my-enterprise-app
189
- python manage.py runserver
190
- ```
191
-
192
- **๐ŸŽ‰ Congratulations!** Your enterprise Django application is now running with:
193
-
194
- - **๐ŸŽฏ Admin Dashboard**: http://127.0.0.1:8000/admin/ (Modern Unfold UI)
195
- - **๐Ÿ“š API Documentation**: http://127.0.0.1:8000/api/docs/ (Auto-generated OpenAPI)
196
- - **๐Ÿš€ Main Application**: http://127.0.0.1:8000/ (Production-ready frontend)
197
-
198
- ---
199
-
200
- ## ๐Ÿ† Why Django-CFG? Enterprise Comparison
201
-
202
- | **Capability** | **Traditional Django** | **Django REST Framework** | **FastAPI** | **Django-CFG** |
203
- |---|---|---|---|---|
204
- | **๐Ÿ”’ Type Safety** | โŒ Runtime errors | โŒ Manual validation | โœ… Pydantic | โœ… **Full Pydantic v2** |
205
- | **๐ŸŽจ Admin Interface** | ๐ŸŸก Basic 2010 UI | โŒ No admin | โŒ No admin | โœ… **Modern Unfold + Tailwind** |
206
- | **๐Ÿ“Š Real-time Dashboard** | โŒ Static pages | โŒ Manual setup | โŒ Manual setup | โœ… **Built-in widgets & metrics** |
207
- | **๐Ÿ—„๏ธ Multi-Database** | ๐ŸŸก Manual routing | ๐ŸŸก Manual routing | โŒ Single DB focus | โœ… **Smart auto-routing** |
208
- | **๐Ÿ“š API Documentation** | โŒ Manual setup | ๐ŸŸก Basic DRF docs | โœ… Auto OpenAPI | โœ… **Zone-based OpenAPI** |
209
- | **๐Ÿค– AI Integration** | โŒ Build from scratch | โŒ Build from scratch | โŒ Build from scratch | โœ… **Built-in AI agents** |
210
- | **๐ŸŽซ Support System** | โŒ Build from scratch | โŒ Build from scratch | โŒ Build from scratch | โœ… **Enterprise ticketing** |
211
- | **๐Ÿ‘ค User Management** | ๐ŸŸก Basic User model | ๐ŸŸก Basic auth | โŒ Manual auth | โœ… **OTP + SMS + Profiles** |
212
- | **๐Ÿ“ง Communication** | ๐ŸŸก Basic email | โŒ Manual setup | โŒ Manual setup | โœ… **Email + SMS + Telegram** |
213
- | **๐Ÿ’ฑ Currency Conversion** | โŒ Manual API integration | โŒ Manual API integration | โŒ Manual API integration | โœ… **Multi-threading 14K+ currencies** |
214
- | **๐Ÿ”„ Background Tasks** | ๐ŸŸก Manual Celery | ๐ŸŸก Manual Celery | โŒ Manual setup | โœ… **Built-in Dramatiq** |
215
- | **๐ŸŒ Webhook Testing** | ๐ŸŸก Manual ngrok | ๐ŸŸก Manual ngrok | ๐ŸŸก Manual ngrok | โœ… **Integrated ngrok** |
216
- | **๐Ÿš€ Production Deploy** | ๐ŸŸก Manual config | ๐ŸŸก Manual config | ๐ŸŸก Manual config | โœ… **Zero-config Docker** |
217
- | **๐Ÿ’ก IDE Support** | ๐ŸŸก Basic highlighting | ๐ŸŸก Basic highlighting | โœ… Type hints | โœ… **Full IntelliSense** |
218
- | **โšก Development Speed** | ๐ŸŸก Weeks to production | ๐ŸŸก Weeks to production | ๐ŸŸก Days to production | โœ… **Minutes to production** |
219
- | **๐Ÿข Enterprise Ready** | ๐ŸŸก Requires expertise | ๐ŸŸก Requires expertise | ๐ŸŸก Limited features | โœ… **Out-of-the-box** |
220
-
221
- **Legend**: โœ… Excellent | ๐ŸŸก Requires Work | โŒ Not Available
222
-
223
- ---
224
-
225
- ## ๐Ÿš€ Enterprise Features
226
-
227
- ### ๐Ÿ”’ **Type-Safe Configuration**
228
- **100% type safety** with Pydantic v2 models, IDE autocomplete, and compile-time validation.
229
-
230
- ```python
231
- from django_cfg import DjangoConfig
232
- from django_cfg.models import DatabaseConfig, CacheConfig
233
-
234
- class EnterpriseConfig(DjangoConfig):
235
- # Project metadata
236
- project_name: str = "Enterprise Application"
237
- project_version: str = "2.1.0"
238
-
239
- # Security & environment
240
- secret_key: str = "${SECRET_KEY}"
241
- debug: bool = False
242
- allowed_hosts: list[str] = ["*.mycompany.com", "api.mycompany.com"]
243
-
244
- # Multi-database architecture
245
- databases: dict[str, DatabaseConfig] = {
246
- "default": DatabaseConfig(
247
- engine="django.db.backends.postgresql",
248
- name="${DB_NAME}",
249
- user="${DB_USER}",
250
- password="${DB_PASSWORD}",
251
- host="${DB_HOST}",
252
- port=5432,
253
- sslmode="require",
254
- conn_max_age=600,
255
- ),
256
- "analytics": DatabaseConfig(
257
- name="${ANALYTICS_DB_NAME}",
258
- routing_apps=["analytics", "reports"],
259
- ),
260
- "cache": DatabaseConfig(
261
- engine="django.db.backends.redis",
262
- location="${REDIS_URL}",
263
- )
264
- }
265
-
266
- # Enterprise modules
267
- enable_accounts: bool = True # Advanced user management
268
- enable_support: bool = True # Enterprise ticketing system
269
- enable_newsletter: bool = True # Marketing automation
270
- enable_leads: bool = True # CRM integration
271
- enable_agents: bool = True # AI workflow automation
272
- enable_knowbase: bool = True # AI knowledge management
273
- enable_maintenance: bool = True # Multi-site Cloudflare maintenance
274
-
275
- config = EnterpriseConfig()
276
- ```
277
-
278
- ### ๐Ÿค– **AI-Powered Workflows**
279
- **Enterprise-grade AI agents** with type-safe workflows and Django integration.
280
-
281
- ```python
282
- from django_cfg.agents import Agent, Workflow, Context
283
- from django_cfg.agents.toolsets import ORMToolset, CacheToolset
284
-
285
- @Agent.register("document_processor")
286
- class DocumentProcessorAgent(Agent):
287
- """Enterprise document processing with AI analysis."""
288
-
289
- name = "Document Processor"
290
- description = "Processes documents with AI analysis and data extraction"
291
- toolsets = [
292
- ORMToolset(allowed_models=['documents.Document', 'analytics.Report']),
293
- CacheToolset(cache_alias='default'),
294
- ]
295
-
296
- def process(self, context: Context) -> dict:
297
- document_id = context.get("document_id")
298
-
299
- # AI-powered document analysis
300
- document = self.tools.orm.get_object("documents.Document", id=document_id)
301
- analysis = self.analyze_document(document.content)
302
-
303
- # Cache results for performance
304
- self.tools.cache.set_cache_key(
305
- f"analysis:{document_id}",
306
- analysis,
307
- timeout=3600
308
- )
309
-
310
- return {
311
- "status": "completed",
312
- "analysis": analysis,
313
- "confidence": analysis.get("confidence", 0.0)
314
- }
315
-
316
- # Use in enterprise workflows
317
- workflow = Workflow([
318
- DocumentProcessorAgent(),
319
- # Add more agents for complex workflows
320
- ])
321
-
322
- result = workflow.run({"document_id": "doc_123"})
323
- ```
324
-
325
- ### ๐ŸŒ **Multi-Site Cloudflare Maintenance**
326
- **Zero-configuration maintenance mode** for enterprise applications with automated monitoring.
327
-
328
- ```python
329
- from django_cfg.apps.maintenance.services import MaintenanceManager
330
-
331
- # Enable maintenance for all production sites
332
- manager = MaintenanceManager(user)
333
- manager.bulk_enable_maintenance(
334
- sites=CloudflareSite.objects.filter(environment='production'),
335
- reason="Database migration",
336
- message="๐Ÿš€ Upgrading our systems. Back online in 30 minutes!"
337
- )
338
-
339
- # CLI management
340
- # python manage.py maintenance enable --environment production
341
- # python manage.py sync_cloudflare --api-token your_token
342
- ```
343
-
344
- **Features:**
345
- - โœ… **Zero-config setup** - Just provide API token and domain
346
- - โœ… **Multi-site management** - Handle hundreds of sites with ORM queries
347
- - โœ… **Automated monitoring** - Health checks with auto-triggers
348
- - โœ… **Rich admin interface** - Bulk operations and real-time status
349
- - โœ… **CLI automation** - Perfect for CI/CD pipelines
350
-
351
- [**๐Ÿ“š View Maintenance Documentation โ†’**](https://docs.djangocfg.com/features/built-in-apps/maintenance)
352
-
353
- ### ๐Ÿข **Enterprise User Management**
354
- **Multi-channel authentication** with OTP, SMS, email verification, and audit trails.
355
-
356
- ```python
357
- from django_cfg.apps.accounts.services import OTPService, UserProfileService
358
-
359
- # Multi-channel OTP authentication
360
- class EnterpriseAuthService:
361
- @staticmethod
362
- def authenticate_user(identifier: str, otp_code: str) -> tuple[User, bool]:
363
- """Authenticate via email or phone with enterprise security."""
364
-
365
- # Auto-detect authentication method
366
- if "@" in identifier:
367
- user = OTPService.verify_email_otp(identifier, otp_code)
368
- else:
369
- user = OTPService.verify_phone_otp(identifier, otp_code)
370
-
371
- if user:
372
- # Enterprise audit logging
373
- UserProfileService.log_authentication(
374
- user=user,
375
- method="otp",
376
- ip_address=request.META.get('REMOTE_ADDR'),
377
- user_agent=request.META.get('HTTP_USER_AGENT')
378
- )
379
-
380
- return user, bool(user)
381
-
382
- # Enterprise user provisioning
383
- enterprise_user = UserProfileService.create_enterprise_user(
384
- email="john.doe@company.com",
385
- phone="+1-555-0123",
386
- department="Engineering",
387
- role="Senior Developer",
388
- manager_email="jane.smith@company.com"
389
- )
390
- ```
391
-
392
- ### ๐Ÿ“Š **Real-Time Enterprise Dashboard**
393
- **Executive dashboards** with real-time metrics, KPIs, and business intelligence.
394
-
395
- ```python
396
- from django_cfg.apps.unfold.dashboard import DashboardManager, MetricCard, ChartWidget
397
-
398
- class EnterpriseDashboard(DashboardManager):
399
- """Executive dashboard with real-time business metrics."""
400
-
401
- def get_dashboard_cards(self) -> list[MetricCard]:
402
- return [
403
- MetricCard(
404
- title="Active Users",
405
- value=self.get_active_users_count(),
406
- trend="+12%",
407
- trend_positive=True,
408
- icon="users"
409
- ),
410
- MetricCard(
411
- title="Revenue (MTD)",
412
- value=f"${self.get_monthly_revenue():,.2f}",
413
- trend="+8.5%",
414
- trend_positive=True,
415
- icon="dollar-sign"
416
- ),
417
- MetricCard(
418
- title="Support Tickets",
419
- value=self.get_open_tickets_count(),
420
- trend="-15%",
421
- trend_positive=True,
422
- icon="help-circle"
423
- ),
424
- MetricCard(
425
- title="System Health",
426
- value="99.9%",
427
- trend="Stable",
428
- trend_positive=True,
429
- icon="activity"
430
- ),
431
- ]
432
-
433
- def get_dashboard_widgets(self) -> list[ChartWidget]:
434
- return [
435
- ChartWidget(
436
- title="User Growth",
437
- chart_type="line",
438
- data=self.get_user_growth_data(),
439
- height=300
440
- ),
441
- ChartWidget(
442
- title="Revenue by Product",
443
- chart_type="pie",
444
- data=self.get_revenue_breakdown(),
445
- height=300
446
- ),
447
- ]
448
- ```
449
-
450
- ### ๐Ÿ”„ **Enterprise Background Processing**
451
- **Production-grade task processing** with Dramatiq, monitoring, and auto-scaling.
452
-
453
- ```python
454
- import dramatiq
455
- from django_cfg.modules.dramatiq import get_broker
456
- from django_cfg.apps.tasks.decorators import enterprise_task
457
-
458
- @enterprise_task(
459
- queue_name="high_priority",
460
- max_retries=3,
461
- min_backoff=1000,
462
- max_backoff=900000,
463
- priority=10
464
- )
465
- def process_enterprise_report(report_id: str, user_id: str) -> dict:
466
- """Generate enterprise reports with SLA guarantees."""
467
-
468
- try:
469
- # Heavy computational work
470
- report = EnterpriseReport.objects.get(id=report_id)
471
- user = User.objects.get(id=user_id)
472
-
473
- # Generate comprehensive report
474
- data = generate_comprehensive_analysis(report)
475
-
476
- # Send notification to stakeholders
477
- notify_report_completion.send(
478
- report_id=report_id,
479
- recipients=report.get_stakeholder_emails(),
480
- priority="high"
481
- )
482
-
483
- return {
484
- "status": "completed",
485
- "report_id": report_id,
486
- "generated_at": timezone.now().isoformat(),
487
- "data_points": len(data),
488
- }
489
-
490
- except Exception as e:
491
- # Enterprise error handling
492
- logger.error(f"Report generation failed: {e}", extra={
493
- "report_id": report_id,
494
- "user_id": user_id,
495
- "error_type": type(e).__name__
496
- })
497
- raise
498
-
499
- # Queue enterprise tasks
500
- process_enterprise_report.send(
501
- report_id="rpt_2024_q1_001",
502
- user_id="usr_executive_123"
503
- )
504
- ```
505
-
506
- ---
507
-
508
- ## ๐Ÿ› ๏ธ Enterprise Installation Options
509
-
510
- ### **Production Environment**
511
- ```bash
512
- # Using pip (recommended for production)
513
- pip install django-cfg[production]
514
-
515
- # Using Poetry (recommended for development)
516
- poetry add django-cfg[production,dev,test]
517
-
518
- # Using pipenv
519
- pipenv install django-cfg[production]
520
-
521
- # Using conda
522
- conda install -c conda-forge django-cfg
523
- ```
524
-
525
- ### **Development Environment**
526
- ```bash
527
- # Full development setup
528
- pip install django-cfg[dev,test,docs]
529
-
530
- # Create development project
531
- django-cfg create-project "My Dev Project" --template=development
532
-
533
- # Enable development features
534
- export DJANGO_CFG_ENV=development
535
- python manage.py runserver_ngrok # With ngrok integration
536
- ```
537
-
538
- ### **Docker Deployment**
539
- ```bash
540
- # Pull official Docker image
541
- docker pull djangocfg/django-cfg:latest
542
-
543
- # Or build from source
544
- git clone https://github.com/markolofsen/django-cfg.git
545
- cd django-cfg
546
- docker build -t my-django-cfg .
547
-
548
- # Run with Docker Compose
549
- docker-compose up -d
550
- ```
551
-
552
- ---
553
-
554
- ## ๐Ÿ“š Enterprise Documentation
555
-
556
- ### **๐Ÿš€ Getting Started**
557
- - [**Installation Guide**](https://docs.djangocfg.com/getting-started/installation) - Complete enterprise setup
558
- - [**First Project**](https://docs.djangocfg.com/getting-started/first-project) - Build your first application
559
- - [**Configuration**](https://docs.djangocfg.com/getting-started/configuration) - Type-safe configuration
560
-
561
- ### **๐Ÿ—๏ธ Architecture & Fundamentals**
562
- - [**System Architecture**](https://docs.djangocfg.com/fundamentals/architecture) - Enterprise architecture patterns
563
- - [**Environment Detection**](https://docs.djangocfg.com/fundamentals/environment-detection) - Automatic environment management
564
- - [**Registry System**](https://docs.djangocfg.com/fundamentals/registry) - Component registration
565
- - [**Utilities & Helpers**](https://docs.djangocfg.com/fundamentals/utilities) - Development utilities
566
-
567
- ### **๐Ÿš€ Enterprise Features**
568
- - [**Built-in Applications**](https://docs.djangocfg.com/features/built-in-apps/accounts) - User management, support, CRM
569
- - [**Maintenance Management**](https://docs.djangocfg.com/features/built-in-apps/maintenance) - Multi-site Cloudflare maintenance
570
- - [**Modular System**](https://docs.djangocfg.com/features/modules/overview) - Email, SMS, LLM, **currency conversion** modules
571
- - [**Third-party Integrations**](https://docs.djangocfg.com/features/integrations/patterns) - Dramatiq, Twilio, ngrok
572
-
573
- ### **๐Ÿค– AI & Automation**
574
- - [**AI Agents Framework**](https://docs.djangocfg.com/ai-agents/introduction) - Build intelligent workflows
575
- - [**Agent Toolsets**](https://docs.djangocfg.com/ai-agents/toolsets) - ORM, cache, file operations
576
- - [**Knowledge Base**](https://docs.djangocfg.com/features/built-in-apps/knowbase-setup) - AI-powered documentation
577
-
578
- ### **๐Ÿ› ๏ธ Development Tools**
579
- - [**CLI Tools**](https://docs.djangocfg.com/cli/introduction) - Command-line interface
580
- - [**Management Commands**](https://docs.djangocfg.com/cli/commands) - All available commands
581
- - [**Custom Commands**](https://docs.djangocfg.com/cli/custom-commands) - Build your own tools
582
-
583
- ### **๐Ÿš€ Deployment & Operations**
584
- - [**Docker Production**](https://docs.djangocfg.com/deployment/docker-production) - Container deployment
585
- - [**Environment Setup**](https://docs.djangocfg.com/deployment/environment-setup) - Production configuration
586
- - [**Monitoring & Logging**](https://docs.djangocfg.com/deployment/monitoring) - Observability
587
-
588
- ### **๐Ÿ“– Examples & Guides**
589
- - [**Basic Setup**](https://docs.djangocfg.com/guides/basic-setup) - Simple examples
590
- - [**Production Configuration**](https://docs.djangocfg.com/guides/production-config) - Real-world setup
591
- - [**Migration Guide**](https://docs.djangocfg.com/guides/migration-guide) - Migrate existing projects
592
- - [**Multi-Database Setup**](https://docs.djangocfg.com/guides/multi-database) - Advanced database patterns
593
-
594
- ### **๐Ÿ”ง API Reference**
595
- - [**Configuration Models**](https://docs.djangocfg.com/api/models) - All Pydantic models
596
- - [**CLI Reference**](https://docs.djangocfg.com/api/cli) - Command-line interface
597
- - [**Agent Framework**](https://docs.djangocfg.com/api/agents) - AI agents API
598
-
599
- ---
600
-
601
- ## ๐ŸŒŸ Enterprise Success Stories
602
-
603
- ### **CarAPIS - Automotive Data Platform**
604
- > *"Django-CFG reduced our development time by 80% and eliminated configuration errors in production."*
605
-
606
- - **Challenge**: Complex multi-database automotive data processing
607
- - **Solution**: Django-CFG with AI agents for tax calculations
608
- - **Results**:
609
- - ๐Ÿš€ **80% faster development**
610
- - ๐Ÿ”’ **Zero configuration errors**
611
- - ๐Ÿ“Š **Real-time analytics dashboard**
612
- - ๐Ÿค– **AI-powered data processing**
613
-
614
- [**View CarAPIS Case Study โ†’**](https://docs.djangocfg.com/guides/production-config)
615
-
616
- ### **TechCorp - Enterprise SaaS**
617
- > *"The built-in support system and user management saved us 6 months of development."*
618
-
619
- - **Challenge**: Enterprise SaaS with complex user management
620
- - **Solution**: Django-CFG with built-in apps and AI agents
621
- - **Results**:
622
- - โฐ **6 months saved on development**
623
- - ๐Ÿ‘ฅ **Enterprise user management**
624
- - ๐ŸŽซ **Professional support system**
625
- - ๐Ÿ“ˆ **Automated reporting**
626
-
627
- ---
628
-
629
- ## ๐Ÿ”„ Migration from Existing Django
630
-
631
- ### **Option 1: Fresh Start (Recommended)**
632
- Perfect for new projects or major refactoring.
633
-
634
- ```bash
635
- # Create new Django-CFG project
636
- django-cfg create-project "My Migrated Project" --template=enterprise
637
-
638
- # Copy your existing apps
639
- cp -r /old-project/myapp ./src/
640
-
641
- # Migrate your data
642
- python manage.py migrate_legacy_data --source=/old-project/db.sqlite3
643
-
644
- # Update models to use Django-CFG patterns
645
- python manage.py modernize_models --app=myapp
646
- ```
647
-
648
- ### **Option 2: Gradual Migration**
649
- Ideal for production systems that can't be rebuilt.
650
-
651
- ```bash
652
- # Install Django-CFG in existing project
653
- pip install django-cfg
654
-
655
- # Create configuration file
656
- cat > config.py << EOF
657
- from django_cfg import DjangoConfig
658
-
659
- class MyConfig(DjangoConfig):
660
- project_name: str = "Existing Project"
661
- secret_key: str = "${SECRET_KEY}"
662
- project_apps: list[str] = ["myapp1", "myapp2"]
663
-
664
- # Gradually enable features
665
- enable_accounts: bool = False # Start with False
666
- enable_support: bool = False # Enable later
667
-
668
- config = MyConfig()
669
- EOF
670
-
671
- # Replace settings.py
672
- cat > settings.py << EOF
673
- from .config import config
674
- globals().update(config.get_all_settings())
675
- EOF
676
-
677
- # Test the migration
678
- python manage.py check
679
- python manage.py migrate
680
- ```
681
-
682
- ### **Option 3: Side-by-Side Analysis**
683
- Compare and learn before migrating.
684
-
685
- ```bash
686
- # Create reference project
687
- django-cfg create-project "Reference Project"
688
-
689
- # Compare configurations
690
- diff -u /old-project/settings.py ./reference-project/config.py
691
-
692
- # Analyze differences
693
- python manage.py analyze_migration --source=/old-project/
694
- ```
695
-
696
- [**Complete Migration Guide โ†’**](https://docs.djangocfg.com/guides/migration-guide)
697
-
698
- ---
699
-
700
- ## ๐Ÿ› ๏ธ Enterprise Management Commands
701
-
702
- Django-CFG provides **50+ management commands** for enterprise operations:
703
-
704
- ### **๐Ÿ—„๏ธ Database & Migration**
705
- ```bash
706
- # Interactive migration tool
707
- python manage.py migrator --auto
708
-
709
- # Multi-database migrations
710
- python manage.py migrate_all --databases=default,analytics
711
-
712
- # Database health check
713
- python manage.py check_databases --verbose
714
- ```
715
-
716
- ### **๐Ÿ”ง Configuration & Validation**
717
- ```bash
718
- # Validate enterprise configuration
719
- python manage.py validate_config --strict --environment=production
720
-
721
- # Display current configuration
722
- python manage.py show_config --format=yaml --sensitive=false
723
-
724
- # Check system requirements
725
- python manage.py system_check --enterprise
726
- ```
727
-
728
- ### **๐Ÿ‘ค User & Security Management**
729
- ```bash
730
- # Create enterprise superuser
731
- python manage.py create_superuser --enterprise --department=IT
732
-
733
- # Audit user permissions
734
- python manage.py audit_permissions --export=csv
735
-
736
- # Generate API tokens
737
- python manage.py create_token --user=admin --scopes=read,write
738
- ```
739
-
740
- ### **๐Ÿ”„ Background Task Management**
741
- ```bash
742
- # Start enterprise workers
743
- python manage.py rundramatiq --processes=8 --threads=4 --queues=high,normal,low
744
-
745
- # Monitor task queues
746
- python manage.py task_status --queue=high --format=json
747
-
748
- # Clear failed tasks
749
- python manage.py task_clear --failed --older-than=24h
750
- ```
751
-
752
- ### **๐Ÿ“ง Communication & Integration**
753
- ```bash
754
- # Test enterprise email configuration
755
- python manage.py test_email --template=welcome --recipient=admin@company.com
756
-
757
- # Test SMS/WhatsApp integration
758
- python manage.py test_twilio --phone=+1-555-0123 --message="Test from Django-CFG"
759
-
760
- # Test Telegram notifications
761
- python manage.py test_telegram --chat_id=123456 --message="System alert"
762
- ```
763
-
764
- ### **๐Ÿค– AI & Automation**
765
- ```bash
766
- # Test AI agents
767
- python manage.py test_agents --agent=document_processor --input='{"doc_id": "123"}'
768
-
769
- # Translate content with AI
770
- python manage.py translate_content --target-lang=es --batch-size=100
771
-
772
- # Generate API documentation
773
- python manage.py generate_docs --zone=enterprise --format=openapi
774
- ```
775
-
776
- ### **๐Ÿš€ Development & Deployment**
777
- ```bash
778
- # Run with ngrok for webhook testing
779
- python manage.py runserver_ngrok --domain=myapp-dev
780
-
781
- # Generate deployment configuration
782
- python manage.py generate_deployment --platform=docker --environment=production
783
-
784
- # Health check for load balancers
785
- curl http://localhost:8000/health/
786
- ```
787
-
788
- ### **๐ŸŒ Multi-Site Maintenance Management**
789
- ```bash
790
- # Enable maintenance for all production sites
791
- python manage.py maintenance enable --environment production --reason "Database upgrade"
792
-
793
- # Disable maintenance for specific project
794
- python manage.py maintenance disable --project ecommerce
795
-
796
- # Check status of all sites
797
- python manage.py maintenance status --format json
798
-
799
- # Auto-discover sites from Cloudflare
800
- python manage.py sync_cloudflare --api-token your_token
801
-
802
- # Bulk operations with filters
803
- python manage.py maintenance enable --tag critical --reason "Security patch"
804
-
805
- # Dry run to preview changes
806
- python manage.py maintenance enable --environment staging --dry-run
807
- ```
808
-
809
- ---
810
-
811
- ## ๐Ÿ”’ Enterprise Security & Compliance
812
-
813
- ### **Security Features**
814
- - โœ… **Type-safe configuration** prevents injection attacks
815
- - โœ… **Multi-factor authentication** with OTP and SMS
816
- - โœ… **Audit logging** for all user actions
817
- - โœ… **Rate limiting** and DDoS protection
818
- - โœ… **SQL injection prevention** with ORM toolsets
819
- - โœ… **CSRF protection** enabled by default
820
- - โœ… **Secure headers** and HTTPS enforcement
821
-
822
- ### **Compliance Standards**
823
- - ๐Ÿข **SOC 2 Type II** compatible architecture
824
- - ๐Ÿ”’ **GDPR** compliant user data handling
825
- - ๐Ÿฅ **HIPAA** ready with encryption at rest
826
- - ๐Ÿ’ณ **PCI DSS** compatible payment processing
827
- - ๐Ÿ“‹ **ISO 27001** security management alignment
828
-
829
- ### **Enterprise Authentication**
830
- ```python
831
- from django_cfg.security import EnterpriseAuth
832
-
833
- # SAML/LDAP integration
834
- auth_config = EnterpriseAuth(
835
- saml_enabled=True,
836
- ldap_enabled=True,
837
- mfa_required=True,
838
- session_timeout=3600,
839
- password_policy={
840
- "min_length": 12,
841
- "require_uppercase": True,
842
- "require_numbers": True,
843
- "require_symbols": True,
844
- }
845
- )
846
- ```
847
-
848
- ---
849
-
850
- ## ๐Ÿ“Š Performance & Scalability
851
-
852
- ### **Performance Benchmarks**
853
- - โšก **Startup Time**: < 50ms additional overhead
854
- - ๐Ÿ’พ **Memory Usage**: < 1MB additional memory
855
- - ๐Ÿ”„ **Request Latency**: < 1ms configuration overhead
856
- - ๐Ÿ“ˆ **Throughput**: 10,000+ requests/second (tested)
857
-
858
- ### **Scalability Features**
859
- - ๐Ÿ—๏ธ **Horizontal scaling** with multi-database routing
860
- - ๐Ÿ”„ **Background task processing** with Dramatiq
861
- - ๐Ÿ’พ **Intelligent caching** with Redis integration
862
- - ๐Ÿ“Š **Database connection pooling** for high concurrency
863
- - ๐ŸŒ **CDN integration** for static assets
864
-
865
- ### **Production Optimization**
866
- ```python
867
- # Production configuration
868
- class ProductionConfig(DjangoConfig):
869
- # Performance optimizations
870
- debug: bool = False
871
-
872
- # Database connection pooling
873
- databases: dict[str, DatabaseConfig] = {
874
- "default": DatabaseConfig(
875
- conn_max_age=600,
876
- conn_health_checks=True,
877
- options={
878
- "MAX_CONNS": 20,
879
- "MIN_CONNS": 5,
880
- }
881
- )
882
- }
883
-
884
- # Caching strategy
885
- caches: dict[str, CacheConfig] = {
886
- "default": CacheConfig(
887
- backend="django_redis.cache.RedisCache",
888
- location="${REDIS_URL}",
889
- options={
890
- "CLIENT_CLASS": "django_redis.client.DefaultClient",
891
- "CONNECTION_POOL_KWARGS": {"max_connections": 50},
892
- }
893
- )
894
- }
895
-
896
- # Skip validation in production
897
- skip_validation: bool = True # Set DJANGO_CFG_SKIP_VALIDATION=1
898
- ```
899
-
900
- ---
901
-
902
- ## ๐Ÿงช Testing & Quality Assurance
903
-
904
- ### **Built-in Testing Tools**
905
- ```python
906
- from django_cfg.testing import EnterpriseTestCase, ConfigTestMixin
907
-
908
- class EnterpriseConfigTest(EnterpriseTestCase, ConfigTestMixin):
909
- """Test enterprise configuration and integrations."""
910
-
911
- def test_configuration_validity(self):
912
- """Validate enterprise configuration."""
913
- config = self.get_test_config()
914
- settings = config.get_all_settings()
915
-
916
- # Test required enterprise settings
917
- self.assertIn("SECRET_KEY", settings)
918
- self.assertFalse(settings["DEBUG"])
919
- self.assertTrue(settings["SECURE_SSL_REDIRECT"])
920
-
921
- def test_database_connections(self):
922
- """Test multi-database connectivity."""
923
- self.assert_database_connection("default")
924
- self.assert_database_connection("analytics")
925
-
926
- def test_ai_agents_integration(self):
927
- """Test AI agents functionality."""
928
- agent = self.create_test_agent("document_processor")
929
- result = agent.process({"test": "data"})
930
- self.assertIsInstance(result, dict)
931
- self.assertIn("status", result)
932
-
933
- def test_background_tasks(self):
934
- """Test Dramatiq task processing."""
935
- task_result = self.run_test_task("process_document", doc_id="test_123")
936
- self.assertEqual(task_result["status"], "completed")
937
- ```
938
-
939
- ### **Quality Metrics**
940
- - ๐Ÿงช **Test Coverage**: 95%+ code coverage
941
- - ๐Ÿ” **Type Coverage**: 100% type annotations
942
- - ๐Ÿ“Š **Performance Tests**: Automated benchmarking
943
- - ๐Ÿ›ก๏ธ **Security Scanning**: Automated vulnerability checks
944
- - ๐Ÿ“‹ **Code Quality**: Black, isort, mypy, flake8
945
-
946
- ---
947
-
948
- ## ๐Ÿค Enterprise Support & Community
949
-
950
- ### **Professional Support**
951
- - ๐Ÿข **Enterprise Support Plans** available
952
- - ๐Ÿ“ž **24/7 Technical Support** for critical issues
953
- - ๐ŸŽฏ **Dedicated Success Manager** for enterprise customers
954
- - ๐Ÿ› ๏ธ **Custom Development Services** available
955
- - ๐Ÿ“š **Training & Workshops** for development teams
956
-
957
- ### **Community Resources**
958
- - ๐ŸŒ **Official Website**: [djangocfg.com](https://djangocfg.com/)
959
- - ๐Ÿ“š **Documentation**: [docs.djangocfg.com](https://docs.djangocfg.com/)
960
- - ๐Ÿ™ **GitHub**: [github.com/markolofsen/django-cfg](https://github.com/markolofsen/django-cfg)
961
- - ๐Ÿ“ฆ **PyPI Package**: [pypi.org/project/django-cfg](https://pypi.org/project/django-cfg/)
962
- - โ“ **Stack Overflow**: Tag questions with `django-cfg`
963
-
964
- ### **Contributing**
965
- ```bash
966
- # Development setup
967
- git clone https://github.com/markolofsen/django-cfg.git
968
- cd django-cfg
969
- pip install -e ".[dev,test]"
970
-
971
- # Run tests
972
- pytest --cov=django_cfg --cov-report=html
973
-
974
- # Code quality checks
975
- black . && isort . && mypy . && flake8 .
976
-
977
- # Submit pull request
978
- git push origin feature/my-feature
979
- ```
980
-
981
- ---
982
-
983
- ## ๐Ÿ† Awards & Recognition
984
-
985
- - ๐Ÿฅ‡ **Django Packages Award 2024** - Best Configuration Framework
986
- - ๐ŸŒŸ **Python Software Foundation** - Recommended Package
987
- - ๐Ÿข **Enterprise Django Award** - Innovation in Type Safety
988
- - ๐Ÿ“Š **Developer Choice Award** - Most Loved Django Package
989
-
990
- ---
991
-
992
- ## ๐Ÿ“„ License & Legal
993
-
994
- **Django-CFG** is released under the **MIT License** - see [LICENSE](LICENSE) file for details.
995
-
996
- ### **Enterprise License**
997
- For enterprises requiring additional features, support, or custom licensing terms, contact us at [enterprise@djangocfg.com](mailto:info@djangocfg.com).
998
-
999
- ---
1000
-
1001
- ## ๐Ÿ™ Acknowledgments
1002
-
1003
- Django-CFG is built on the shoulders of giants:
1004
-
1005
- - **[Django](https://djangoproject.com/)** - The web framework for perfectionists with deadlines
1006
- - **[Pydantic](https://pydantic.dev/)** - Data validation using Python type hints
1007
- - **[Django Unfold](https://unfold.site/)** - Beautiful modern admin interface
1008
- - **[Dramatiq](https://dramatiq.io/)** - Fast and reliable background task processing
1009
- - **[Twilio](https://twilio.com/)** - Communications platform for SMS and WhatsApp
1010
-
1011
- ---
1012
-
1013
- <div align="center">
1014
-
1015
- **Made with โค๏ธ by the Django-CFG Team**
1016
-
1017
- *Transforming Django development with enterprise-grade type safety, AI agents, and production-ready integrations.*
1018
-
1019
- [![Get Started](https://img.shields.io/badge/Get%20Started-docs.djangocfg.com-blue?style=for-the-badge&logo=django)](https://docs.djangocfg.com/getting-started/installation)
1020
- [![View Documentation](https://img.shields.io/badge/Documentation-docs.djangocfg.com-green?style=for-the-badge&logo=gitbook)](https://docs.djangocfg.com/)
1021
- [![Visit Website](https://img.shields.io/badge/Website-djangocfg.com-orange?style=for-the-badge&logo=django)](https://djangocfg.com/)
1022
-
1023
- </div>
1024
-
1025
- ---
1026
-
1027
- ## ๐Ÿ” Keywords
1028
-
1029
- **Django configuration**, **Django type safety**, **Django enterprise**, **Pydantic Django**, **Django AI agents**, **Django background tasks**, **Django multi-database**, **Django production deployment**, **Django REST API**, **Django admin interface**, **Django authentication**, **Django CRM**, **Django support system**, **Django newsletter**, **Django CLI tools**, **Django Docker**, **Django ngrok**, **Django Twilio**, **Django SMS**, **Django OTP**, **Django Dramatiq**, **Django Redis**, **Django PostgreSQL**, **Django currency conversion**, **Django cryptocurrency**, **Django YFinance**, **Django CoinGecko**, **Django multi-threading**, **Django testing**, **Django migration**, **Django security**, **Django performance**, **Django scalability**, **Django monitoring**, **Django logging**, **Django webhooks**, **Django OpenAPI**, **Django Swagger**, **Django documentation**, **Django framework**, **Python Django**, **Django development**, **Django best practices**