django-cfg 1.3.13__py3-none-any.whl → 1.4.3__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 (446) 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/agents/examples/__init__.py +3 -0
  11. django_cfg/apps/agents/examples/simple_example.py +161 -0
  12. django_cfg/apps/api/commands/views.py +66 -83
  13. django_cfg/apps/api/health/drf_views.py +269 -0
  14. django_cfg/apps/api/health/serializers.py +45 -0
  15. django_cfg/apps/api/health/urls.py +6 -1
  16. django_cfg/apps/knowbase/admin/actions/__init__.py +13 -0
  17. django_cfg/apps/knowbase/admin/actions/visibility_actions.py +56 -0
  18. django_cfg/apps/knowbase/admin/document_admin.py +136 -270
  19. django_cfg/apps/knowbase/admin/helpers/__init__.py +17 -0
  20. django_cfg/apps/knowbase/admin/helpers/configs.py +72 -0
  21. django_cfg/apps/knowbase/admin/helpers/display_helpers.py +156 -0
  22. django_cfg/apps/knowbase/admin/helpers/statistics.py +108 -0
  23. django_cfg/apps/knowbase/config/constance_fields.py +1 -1
  24. django_cfg/apps/knowbase/config/settings.py +2 -2
  25. django_cfg/apps/knowbase/examples/__init__.py +3 -0
  26. django_cfg/apps/knowbase/examples/external_data_usage.py +191 -0
  27. django_cfg/apps/knowbase/mixins/__init__.py +19 -2
  28. django_cfg/apps/knowbase/mixins/config/__init__.py +14 -0
  29. django_cfg/apps/knowbase/mixins/config/defaults.py +75 -0
  30. django_cfg/apps/knowbase/mixins/config/meta_config.py +120 -0
  31. django_cfg/apps/knowbase/mixins/creator.py +10 -10
  32. django_cfg/apps/knowbase/mixins/examples/vehicle_model_example.py +199 -0
  33. django_cfg/apps/knowbase/mixins/external_data_mixin.py +105 -403
  34. django_cfg/apps/knowbase/mixins/generators/__init__.py +16 -0
  35. django_cfg/apps/knowbase/mixins/generators/content_generator.py +218 -0
  36. django_cfg/apps/knowbase/mixins/generators/field_analyzer.py +76 -0
  37. django_cfg/apps/knowbase/mixins/generators/metadata_generator.py +124 -0
  38. django_cfg/apps/knowbase/mixins/service.py +2 -2
  39. django_cfg/apps/knowbase/services/archive/__init__.py +1 -0
  40. django_cfg/apps/knowbase/services/archive/analyzers/__init__.py +17 -0
  41. django_cfg/apps/knowbase/services/archive/analyzers/complexity_analyzer.py +33 -0
  42. django_cfg/apps/knowbase/services/archive/analyzers/purpose_detector.py +36 -0
  43. django_cfg/apps/knowbase/services/archive/analyzers/quality_analyzer.py +39 -0
  44. django_cfg/apps/knowbase/services/archive/analyzers/tag_generator.py +103 -0
  45. django_cfg/apps/knowbase/services/archive/chunking/__init__.py +19 -0
  46. django_cfg/apps/knowbase/services/archive/chunking/base.py +81 -0
  47. django_cfg/apps/knowbase/services/archive/chunking/json_chunker.py +62 -0
  48. django_cfg/apps/knowbase/services/archive/chunking/markdown_chunker.py +107 -0
  49. django_cfg/apps/knowbase/services/archive/chunking/python_chunker.py +248 -0
  50. django_cfg/apps/knowbase/services/archive/chunking/text_chunker.py +70 -0
  51. django_cfg/apps/knowbase/services/archive/chunking_service.py +110 -729
  52. django_cfg/apps/knowbase/services/archive/context/__init__.py +14 -0
  53. django_cfg/apps/knowbase/services/archive/context/builders.py +220 -0
  54. django_cfg/apps/knowbase/services/archive/context/models.py +38 -0
  55. django_cfg/apps/knowbase/services/embedding/models.py +18 -14
  56. django_cfg/apps/knowbase/services/embedding/processors.py +6 -3
  57. django_cfg/apps/knowbase/tasks/document_processing.py +11 -3
  58. django_cfg/apps/leads/tests.py +1 -1
  59. django_cfg/apps/payments/admin/api_keys_admin.py +1 -1
  60. django_cfg/apps/payments/admin/balance_admin.py +1 -1
  61. django_cfg/apps/payments/admin/currencies_admin.py +1 -1
  62. django_cfg/apps/payments/admin/payments_admin.py +1 -1
  63. django_cfg/apps/payments/admin/subscriptions_admin.py +1 -1
  64. django_cfg/apps/payments/admin_interface/templates/payments/base.html +59 -126
  65. django_cfg/apps/payments/admin_interface/views/api/payments.py +1 -1
  66. django_cfg/apps/payments/admin_interface/views/api/stats.py +1 -1
  67. django_cfg/apps/payments/admin_interface/views/api/users.py +1 -1
  68. django_cfg/apps/payments/admin_interface/views/api/webhook_admin.py +1 -1
  69. django_cfg/apps/payments/admin_interface/views/api/webhook_public.py +1 -1
  70. django_cfg/apps/payments/admin_interface/views/base.py +29 -2
  71. django_cfg/apps/payments/apps.py +1 -1
  72. django_cfg/apps/payments/config/django_cfg_integration.py +2 -2
  73. django_cfg/apps/payments/config/helpers.py +3 -2
  74. django_cfg/apps/payments/management/commands/cleanup_expired_data.py +1 -1
  75. django_cfg/apps/payments/management/commands/currency_stats.py +1 -1
  76. django_cfg/apps/payments/management/commands/manage_currencies.py +1 -1
  77. django_cfg/apps/payments/management/commands/manage_providers.py +1 -1
  78. django_cfg/apps/payments/management/commands/process_pending_payments.py +1 -1
  79. django_cfg/apps/payments/management/commands/test_providers.py +1 -1
  80. django_cfg/apps/payments/middleware/api_access.py +1 -1
  81. django_cfg/apps/payments/middleware/rate_limiting.py +1 -1
  82. django_cfg/apps/payments/middleware/usage_tracking.py +1 -1
  83. django_cfg/apps/payments/models/balance.py +2 -2
  84. django_cfg/apps/payments/models/managers/api_key_managers.py +1 -1
  85. django_cfg/apps/payments/models/managers/balance_managers.py +1 -1
  86. django_cfg/apps/payments/models/managers/currency_managers.py +1 -1
  87. django_cfg/apps/payments/models/managers/payment_managers.py +1 -1
  88. django_cfg/apps/payments/models/managers/subscription_managers.py +1 -1
  89. django_cfg/apps/payments/models/payments.py +2 -2
  90. django_cfg/apps/payments/services/cache_service/__init__.py +1 -1
  91. django_cfg/apps/payments/services/cache_service/simple_cache.py +10 -5
  92. django_cfg/apps/payments/services/core/base.py +1 -1
  93. django_cfg/apps/payments/services/core/currency/__init__.py +13 -0
  94. django_cfg/apps/payments/services/core/currency/currency_converter.py +57 -0
  95. django_cfg/apps/payments/services/core/currency/currency_validator.py +61 -0
  96. django_cfg/apps/payments/services/core/operations/__init__.py +15 -0
  97. django_cfg/apps/payments/services/core/operations/payment_canceller.py +100 -0
  98. django_cfg/apps/payments/services/core/operations/payment_creator.py +196 -0
  99. django_cfg/apps/payments/services/core/operations/status_checker.py +100 -0
  100. django_cfg/apps/payments/services/core/payment_service.py +124 -612
  101. django_cfg/apps/payments/services/core/providers/__init__.py +13 -0
  102. django_cfg/apps/payments/services/core/providers/provider_client.py +132 -0
  103. django_cfg/apps/payments/services/core/providers/status_mapper.py +89 -0
  104. django_cfg/apps/payments/services/core/utils/__init__.py +13 -0
  105. django_cfg/apps/payments/services/core/utils/data_converter.py +48 -0
  106. django_cfg/apps/payments/services/core/utils/statistics_calculator.py +69 -0
  107. django_cfg/apps/payments/services/providers/base.py +1 -1
  108. django_cfg/apps/payments/services/providers/nowpayments/__init__.py +3 -3
  109. django_cfg/apps/payments/services/providers/nowpayments/parsers/__init__.py +9 -0
  110. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/__init__.py +23 -0
  111. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/constants.py +23 -0
  112. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/currency_names.py +244 -0
  113. django_cfg/apps/payments/services/providers/nowpayments/parsers/data/patterns.py +511 -0
  114. django_cfg/apps/payments/services/providers/nowpayments/parsers/parser.py +168 -0
  115. django_cfg/apps/payments/services/providers/nowpayments/provider.py +1 -1
  116. django_cfg/apps/payments/services/providers/nowpayments/sync.py +1 -1
  117. django_cfg/apps/payments/services/providers/registry.py +1 -1
  118. django_cfg/apps/payments/services/providers/sync_service.py +1 -1
  119. django_cfg/apps/payments/signals/__init__.py +1 -1
  120. django_cfg/apps/payments/signals/api_key_signals.py +1 -1
  121. django_cfg/apps/payments/signals/balance_signals.py +1 -1
  122. django_cfg/apps/payments/signals/payment_signals.py +1 -1
  123. django_cfg/apps/payments/signals/subscription_signals.py +1 -1
  124. django_cfg/apps/payments/views/api/api_keys.py +1 -1
  125. django_cfg/apps/payments/views/api/balances.py +1 -1
  126. django_cfg/apps/payments/views/api/base.py +1 -1
  127. django_cfg/apps/payments/views/api/currencies.py +1 -1
  128. django_cfg/apps/payments/views/api/payments.py +1 -1
  129. django_cfg/apps/payments/views/api/subscriptions.py +1 -1
  130. django_cfg/apps/payments/views/api/webhooks.py +1 -1
  131. django_cfg/apps/payments/views/serializers/api_keys.py +1 -1
  132. django_cfg/apps/payments/views/serializers/balances.py +1 -1
  133. django_cfg/apps/payments/views/serializers/currencies.py +1 -1
  134. django_cfg/apps/payments/views/serializers/payments.py +1 -1
  135. django_cfg/apps/payments/views/serializers/subscriptions.py +1 -1
  136. django_cfg/apps/payments/views/serializers/webhooks.py +1 -1
  137. django_cfg/apps/support/admin/support_admin.py +21 -13
  138. django_cfg/apps/support/templates/support/chat/access_denied.html +21 -27
  139. django_cfg/apps/support/templates/support/chat/ticket_chat.html +183 -254
  140. django_cfg/apps/support/utils/support_email_service.py +1 -1
  141. django_cfg/apps/tasks/templates/tasks/layout/base.html +20 -115
  142. django_cfg/apps/tasks/utils/simulator.py +1 -1
  143. django_cfg/apps/tasks/views/dashboard.py +33 -3
  144. django_cfg/apps/urls.py +5 -1
  145. django_cfg/cli/README.md +57 -471
  146. django_cfg/cli/commands/create_project.py +140 -529
  147. django_cfg/cli/main.py +13 -10
  148. django_cfg/core/__init__.py +63 -6
  149. django_cfg/core/base/__init__.py +5 -0
  150. django_cfg/core/base/config_model.py +652 -0
  151. django_cfg/core/builders/__init__.py +11 -0
  152. django_cfg/core/builders/apps_builder.py +258 -0
  153. django_cfg/core/builders/middleware_builder.py +115 -0
  154. django_cfg/core/builders/security_builder.py +96 -0
  155. django_cfg/core/config.py +20 -892
  156. django_cfg/core/constants.py +69 -0
  157. django_cfg/core/environment/__init__.py +9 -0
  158. django_cfg/core/exceptions.py +45 -298
  159. django_cfg/core/generation/__init__.py +51 -0
  160. django_cfg/core/generation/core_generators/__init__.py +0 -0
  161. django_cfg/core/generation/core_generators/settings.py +90 -0
  162. django_cfg/core/generation/core_generators/static.py +82 -0
  163. django_cfg/core/generation/core_generators/templates.py +141 -0
  164. django_cfg/core/generation/data_generators/__init__.py +15 -0
  165. django_cfg/core/generation/data_generators/cache.py +132 -0
  166. django_cfg/core/generation/data_generators/database.py +117 -0
  167. django_cfg/core/generation/generation.py +92 -0
  168. django_cfg/core/generation/integration_generators/__init__.py +21 -0
  169. django_cfg/core/generation/integration_generators/api.py +237 -0
  170. django_cfg/core/generation/integration_generators/sessions.py +65 -0
  171. django_cfg/core/generation/integration_generators/tailwind.py +54 -0
  172. django_cfg/core/generation/integration_generators/tasks.py +92 -0
  173. django_cfg/core/generation/integration_generators/third_party.py +144 -0
  174. django_cfg/core/generation/orchestrator.py +285 -0
  175. django_cfg/core/generation/protocols.py +30 -0
  176. django_cfg/core/generation/security_generators/__init__.py +0 -0
  177. django_cfg/core/generation/utility_generators/__init__.py +24 -0
  178. django_cfg/core/generation/utility_generators/email.py +58 -0
  179. django_cfg/core/generation/utility_generators/i18n.py +66 -0
  180. django_cfg/core/generation/utility_generators/limits.py +58 -0
  181. django_cfg/core/generation/utility_generators/logging.py +66 -0
  182. django_cfg/core/generation/utility_generators/security.py +101 -0
  183. django_cfg/core/generation/utils/__init__.py +0 -0
  184. django_cfg/core/generation/utils/helpers.py +32 -0
  185. django_cfg/core/integration/__init__.py +18 -25
  186. django_cfg/core/integration/display/startup.py +146 -133
  187. django_cfg/core/integration/url_integration.py +13 -2
  188. django_cfg/core/services/__init__.py +5 -0
  189. django_cfg/core/services/config_service.py +121 -0
  190. django_cfg/core/state/__init__.py +9 -0
  191. django_cfg/core/state/registry.py +84 -0
  192. django_cfg/core/types/__init__.py +15 -0
  193. django_cfg/core/types/aliases.py +15 -0
  194. django_cfg/core/types/enums.py +49 -0
  195. django_cfg/dashboard/DEBUG_README.md +105 -0
  196. django_cfg/dashboard/REFACTORING_SUMMARY.md +237 -0
  197. django_cfg/dashboard/__init__.py +24 -0
  198. django_cfg/dashboard/components.py +308 -0
  199. django_cfg/dashboard/debug.py +176 -0
  200. django_cfg/dashboard/management/__init__.py +0 -0
  201. django_cfg/dashboard/management/commands/__init__.py +0 -0
  202. django_cfg/dashboard/management/commands/debug_dashboard.py +109 -0
  203. django_cfg/dashboard/sections/__init__.py +1 -0
  204. django_cfg/dashboard/sections/base.py +128 -0
  205. django_cfg/dashboard/sections/commands.py +32 -0
  206. django_cfg/dashboard/sections/overview.py +394 -0
  207. django_cfg/dashboard/sections/stats.py +48 -0
  208. django_cfg/dashboard/sections/system.py +73 -0
  209. django_cfg/management/commands/check_settings.py +6 -2
  210. django_cfg/management/commands/clear_constance.py +6 -1
  211. django_cfg/management/commands/create_token.py +5 -4
  212. django_cfg/management/commands/generate.py +5 -0
  213. django_cfg/management/commands/list_urls.py +7 -2
  214. django_cfg/management/commands/migrate_all.py +6 -2
  215. django_cfg/management/commands/migrator.py +6 -1
  216. django_cfg/management/commands/rundramatiq.py +6 -1
  217. django_cfg/management/commands/rundramatiq_simulator.py +11 -4
  218. django_cfg/management/commands/runserver_ngrok.py +9 -7
  219. django_cfg/management/commands/script.py +25 -21
  220. django_cfg/management/commands/show_config.py +6 -1
  221. django_cfg/management/commands/show_urls.py +8 -3
  222. django_cfg/management/commands/superuser.py +5 -4
  223. django_cfg/management/commands/task_clear.py +8 -3
  224. django_cfg/management/commands/task_status.py +8 -3
  225. django_cfg/management/commands/test_email.py +6 -1
  226. django_cfg/management/commands/test_telegram.py +6 -1
  227. django_cfg/management/commands/test_twilio.py +6 -1
  228. django_cfg/management/commands/tree.py +7 -4
  229. django_cfg/models/__init__.py +88 -3
  230. django_cfg/models/api/__init__.py +27 -0
  231. django_cfg/models/{api.py → api/config.py} +1 -1
  232. django_cfg/models/api/drf/__init__.py +21 -0
  233. django_cfg/models/api/drf/config.py +101 -0
  234. django_cfg/models/api/drf/redoc.py +31 -0
  235. django_cfg/models/api/drf/spectacular.py +129 -0
  236. django_cfg/models/api/drf/swagger.py +59 -0
  237. django_cfg/models/{api_keys.py → api/keys.py} +16 -6
  238. django_cfg/models/{limits.py → api/limits.py} +0 -1
  239. django_cfg/models/base/__init__.py +14 -0
  240. django_cfg/models/django/__init__.py +16 -0
  241. django_cfg/models/{constance.py → django/constance.py} +1 -1
  242. django_cfg/models/{environment.py → django/environment.py} +1 -1
  243. django_cfg/models/infrastructure/__init__.py +17 -0
  244. django_cfg/models/{cache.py → infrastructure/cache.py} +3 -2
  245. django_cfg/models/infrastructure/database/__init__.py +22 -0
  246. django_cfg/models/infrastructure/database/config.py +265 -0
  247. django_cfg/models/infrastructure/database/converters.py +91 -0
  248. django_cfg/models/infrastructure/database/parsers.py +96 -0
  249. django_cfg/models/infrastructure/database/routing.py +85 -0
  250. django_cfg/models/infrastructure/database/validators.py +170 -0
  251. django_cfg/models/{logging.py → infrastructure/logging.py} +1 -1
  252. django_cfg/models/{security.py → infrastructure/security.py} +2 -2
  253. django_cfg/models/ngrok/__init__.py +11 -0
  254. django_cfg/models/ngrok/auth.py +37 -0
  255. django_cfg/models/ngrok/config.py +77 -0
  256. django_cfg/models/ngrok/tunnel.py +35 -0
  257. django_cfg/models/payments/__init__.py +20 -0
  258. django_cfg/models/payments/api_keys.py +57 -0
  259. django_cfg/models/{payments.py → payments/config.py} +56 -154
  260. django_cfg/models/payments/providers/__init__.py +15 -0
  261. django_cfg/models/payments/providers/base.py +25 -0
  262. django_cfg/models/payments/providers/nowpayments.py +48 -0
  263. django_cfg/models/services/__init__.py +18 -0
  264. django_cfg/models/services/base.py +65 -0
  265. django_cfg/models/{email.py → services/email.py} +1 -1
  266. django_cfg/models/services/telegram.py +172 -0
  267. django_cfg/models/tasks/__init__.py +51 -0
  268. django_cfg/models/tasks/backends.py +250 -0
  269. django_cfg/models/tasks/config.py +314 -0
  270. django_cfg/models/tasks/utils.py +174 -0
  271. django_cfg/modules/base.py +18 -3
  272. django_cfg/modules/django_admin/decorators/actions.py +1 -1
  273. django_cfg/modules/django_admin/decorators/display.py +1 -1
  274. django_cfg/modules/django_admin/mixins/standalone_actions_mixin.py +1 -1
  275. django_cfg/modules/django_currency/examples/__init__.py +3 -0
  276. django_cfg/modules/django_currency/examples/example_database_usage.py +144 -0
  277. django_cfg/modules/django_drf_theme/CHANGELOG.md +210 -0
  278. django_cfg/modules/django_drf_theme/EXAMPLE.md +465 -0
  279. django_cfg/modules/django_drf_theme/IMPLEMENTATION.md +232 -0
  280. django_cfg/modules/django_drf_theme/README.md +207 -0
  281. django_cfg/modules/django_drf_theme/TAILWIND_CDN_GUIDE.md +274 -0
  282. django_cfg/modules/django_drf_theme/__init__.py +23 -0
  283. django_cfg/modules/django_drf_theme/apps.py +15 -0
  284. django_cfg/modules/django_drf_theme/renderers.py +58 -0
  285. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/api.html +375 -0
  286. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/base.html +938 -0
  287. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/forms/filter_form.html +132 -0
  288. django_cfg/modules/django_drf_theme/templates/rest_framework/tailwind/forms/raw_data_form.html +123 -0
  289. django_cfg/modules/django_drf_theme/templatetags/__init__.py +1 -0
  290. django_cfg/modules/django_drf_theme/templatetags/tailwind_tags.py +57 -0
  291. django_cfg/modules/django_email/__init__.py +14 -0
  292. django_cfg/modules/{django_email.py → django_email/service.py} +78 -113
  293. django_cfg/modules/django_email/utils.py +40 -0
  294. django_cfg/modules/django_health/__init__.py +9 -0
  295. django_cfg/modules/{django_health.py → django_health/service.py} +23 -21
  296. django_cfg/modules/django_ipc_client/README.md +346 -0
  297. django_cfg/modules/django_ipc_client/__init__.py +51 -0
  298. django_cfg/modules/django_ipc_client/client.py +540 -0
  299. django_cfg/modules/django_ipc_client/config.py +207 -0
  300. django_cfg/modules/django_ipc_client/dashboard/README.md +517 -0
  301. django_cfg/modules/django_ipc_client/dashboard/UNFOLD_INTEGRATION.md +439 -0
  302. django_cfg/modules/django_ipc_client/dashboard/__init__.py +11 -0
  303. django_cfg/modules/django_ipc_client/dashboard/apps.py +22 -0
  304. django_cfg/modules/django_ipc_client/dashboard/monitor.py +435 -0
  305. django_cfg/modules/django_ipc_client/dashboard/static/django_ipc_dashboard/js/dashboard.js +373 -0
  306. django_cfg/modules/django_ipc_client/dashboard/templates/django_ipc_dashboard/base.html +76 -0
  307. django_cfg/modules/django_ipc_client/dashboard/templates/django_ipc_dashboard/dashboard.html +200 -0
  308. django_cfg/modules/django_ipc_client/dashboard/urls.py +22 -0
  309. django_cfg/modules/django_ipc_client/dashboard/urls_admin.py +9 -0
  310. django_cfg/modules/django_ipc_client/dashboard/views.py +251 -0
  311. django_cfg/modules/django_ipc_client/exceptions.py +201 -0
  312. django_cfg/modules/django_llm/llm/client.py +155 -550
  313. django_cfg/modules/django_llm/llm/embeddings/__init__.py +13 -0
  314. django_cfg/modules/django_llm/llm/embeddings/mock_embedder.py +106 -0
  315. django_cfg/modules/django_llm/llm/embeddings/openai_embedder.py +79 -0
  316. django_cfg/modules/django_llm/llm/models_api/__init__.py +9 -0
  317. django_cfg/modules/django_llm/llm/models_api/models_query.py +163 -0
  318. django_cfg/modules/django_llm/llm/providers/__init__.py +15 -0
  319. django_cfg/modules/django_llm/llm/providers/config_builder.py +103 -0
  320. django_cfg/modules/django_llm/llm/providers/provider_manager.py +148 -0
  321. django_cfg/modules/django_llm/llm/providers/provider_selector.py +60 -0
  322. django_cfg/modules/django_llm/llm/requests/__init__.py +15 -0
  323. django_cfg/modules/django_llm/llm/requests/cache_manager.py +170 -0
  324. django_cfg/modules/django_llm/llm/requests/chat_handler.py +199 -0
  325. django_cfg/modules/django_llm/llm/requests/embedding_handler.py +113 -0
  326. django_cfg/modules/django_llm/llm/responses/__init__.py +9 -0
  327. django_cfg/modules/django_llm/llm/responses/response_builder.py +131 -0
  328. django_cfg/modules/django_llm/llm/stats/__init__.py +9 -0
  329. django_cfg/modules/django_llm/llm/stats/stats_manager.py +107 -0
  330. django_cfg/modules/django_llm/translator/detectors/__init__.py +13 -0
  331. django_cfg/modules/django_llm/translator/detectors/language_detector.py +90 -0
  332. django_cfg/modules/django_llm/translator/detectors/script_detector.py +153 -0
  333. django_cfg/modules/django_llm/translator/stats/__init__.py +11 -0
  334. django_cfg/modules/django_llm/translator/stats/stats_tracker.py +85 -0
  335. django_cfg/modules/django_llm/translator/translator.py +150 -603
  336. django_cfg/modules/django_llm/translator/translators/__init__.py +15 -0
  337. django_cfg/modules/django_llm/translator/translators/json_translator.py +316 -0
  338. django_cfg/modules/django_llm/translator/translators/text_translator.py +139 -0
  339. django_cfg/modules/django_llm/translator/utils/__init__.py +13 -0
  340. django_cfg/modules/django_llm/translator/utils/prompt_builder.py +110 -0
  341. django_cfg/modules/django_llm/translator/utils/text_utils.py +114 -0
  342. django_cfg/modules/django_logging/FIXES_SUMMARY.md +276 -0
  343. django_cfg/modules/django_logging/LOGGING_GUIDE.md +504 -0
  344. django_cfg/modules/django_logging/__init__.py +14 -0
  345. django_cfg/modules/{django_logger.py → django_logging/django_logger.py} +13 -13
  346. django_cfg/modules/{logger.py → django_logging/logger.py} +14 -4
  347. django_cfg/modules/django_ngrok/__init__.py +39 -0
  348. django_cfg/modules/{django_ngrok.py → django_ngrok/service.py} +14 -42
  349. django_cfg/modules/django_rpc_old/POETRY.md +344 -0
  350. django_cfg/modules/django_rpc_old/README.md +397 -0
  351. django_cfg/modules/django_rpc_old/TESTING.md +358 -0
  352. django_cfg/modules/django_rpc_old/__init__.py +39 -0
  353. django_cfg/modules/django_rpc_old/client.py +531 -0
  354. django_cfg/modules/django_rpc_old/config.py +279 -0
  355. django_cfg/modules/django_rpc_old/exceptions.py +172 -0
  356. django_cfg/modules/django_tailwind/README.md +478 -0
  357. django_cfg/modules/django_tailwind/__init__.py +7 -0
  358. django_cfg/modules/django_tailwind/apps.py +10 -0
  359. django_cfg/modules/django_tailwind/templates/django_tailwind/app.html +5 -0
  360. django_cfg/modules/django_tailwind/templates/django_tailwind/base.html +117 -0
  361. django_cfg/modules/django_tailwind/templates/django_tailwind/components/navbar.html +124 -0
  362. django_cfg/modules/django_tailwind/templates/django_tailwind/components/theme_toggle.html +54 -0
  363. django_cfg/modules/django_tailwind/templates/django_tailwind/components/user_menu.html +116 -0
  364. django_cfg/modules/django_tailwind/templates/django_tailwind/simple.html +46 -0
  365. django_cfg/modules/django_tailwind/templatetags/__init__.py +1 -0
  366. django_cfg/modules/django_tailwind/templatetags/tailwind_info.py +185 -0
  367. django_cfg/modules/django_tasks/__init__.py +29 -0
  368. django_cfg/modules/django_tasks/factory.py +127 -0
  369. django_cfg/modules/{django_tasks.py → django_tasks/service.py} +45 -274
  370. django_cfg/modules/django_tasks/settings.py +107 -0
  371. django_cfg/modules/django_telegram/__init__.py +29 -0
  372. django_cfg/modules/{django_telegram.py → django_telegram/service.py} +45 -113
  373. django_cfg/modules/django_telegram/utils.py +62 -0
  374. django_cfg/modules/django_twilio/__init__.py +54 -107
  375. django_cfg/modules/django_twilio/_imports.py +30 -0
  376. django_cfg/modules/django_twilio/base.py +192 -0
  377. django_cfg/modules/django_twilio/email_otp.py +227 -0
  378. django_cfg/modules/django_twilio/sendgrid_service.py +1 -1
  379. django_cfg/modules/django_twilio/simple_service.py +1 -2
  380. django_cfg/modules/django_twilio/sms.py +94 -0
  381. django_cfg/modules/django_twilio/twilio_service.py +2 -3
  382. django_cfg/modules/django_twilio/unified.py +310 -0
  383. django_cfg/modules/django_twilio/utils.py +190 -0
  384. django_cfg/modules/django_twilio/whatsapp.py +137 -0
  385. django_cfg/modules/django_unfold/callbacks/base.py +198 -7
  386. django_cfg/modules/django_unfold/callbacks/main.py +102 -10
  387. django_cfg/modules/django_unfold/dashboard.py +65 -43
  388. django_cfg/modules/django_unfold/models/config.py +13 -12
  389. django_cfg/modules/django_unfold/models/navigation.py +8 -3
  390. django_cfg/modules/django_unfold/models/tabs.py +2 -2
  391. django_cfg/modules/django_unfold/templates/unfold/helpers/app_list.html +102 -0
  392. django_cfg/registry/core.py +24 -26
  393. django_cfg/registry/modules.py +5 -2
  394. django_cfg/registry/services.py +20 -3
  395. django_cfg/registry/third_party.py +8 -8
  396. django_cfg/static/admin/css/dashboard.css +260 -0
  397. django_cfg/static/admin/js/commands.js +171 -0
  398. django_cfg/static/admin/js/dashboard.js +126 -0
  399. django_cfg/templates/admin/components/management_commands.js +375 -0
  400. django_cfg/templates/admin/components/progress_bar.html +18 -23
  401. django_cfg/templates/admin/examples/component_class_example.html +156 -0
  402. django_cfg/templates/admin/index.html +48 -20
  403. django_cfg/templates/admin/index_new.html +106 -0
  404. django_cfg/templates/admin/layouts/base_dashboard.html +60 -0
  405. django_cfg/templates/admin/layouts/dashboard_with_tabs.html +1 -20
  406. django_cfg/templates/admin/sections/commands_section.html +626 -0
  407. django_cfg/templates/admin/sections/overview_section.html +112 -0
  408. django_cfg/templates/admin/sections/stats_section.html +35 -0
  409. django_cfg/templates/admin/sections/system_section.html +99 -0
  410. django_cfg/templates/admin/snippets/components/CHARTS_GUIDE.md +322 -0
  411. django_cfg/templates/admin/snippets/components/activity_tracker.html +85 -47
  412. django_cfg/templates/admin/snippets/components/charts_section.html +154 -64
  413. django_cfg/templates/admin/snippets/components/django_commands.html +3 -3
  414. django_cfg/templates/admin/snippets/components/recent_activity_improved.html +25 -0
  415. django_cfg/templates/admin/snippets/components/recent_users_table.html +1 -1
  416. django_cfg/templates/admin/snippets/components/system_metrics.html +179 -93
  417. django_cfg/templates/admin/snippets/zones/zones_table.html +2 -2
  418. django_cfg/templatetags/django_cfg.py +7 -1
  419. django_cfg/utils/smart_defaults.py +4 -4
  420. django_cfg-1.4.3.dist-info/METADATA +533 -0
  421. {django_cfg-1.3.13.dist-info → django_cfg-1.4.3.dist-info}/RECORD +432 -195
  422. django_cfg/apps/accounts/utils/auth_email_service.py +0 -84
  423. django_cfg/apps/payments/services/providers/nowpayments/parsers.py +0 -879
  424. django_cfg/core/generation.py +0 -621
  425. django_cfg/management/commands/validate_config.py +0 -189
  426. django_cfg/models/database.py +0 -480
  427. django_cfg/models/drf.py +0 -272
  428. django_cfg/models/ngrok.py +0 -122
  429. django_cfg/models/services.py +0 -440
  430. django_cfg/models/tasks.py +0 -550
  431. django_cfg/modules/django_twilio/service.py +0 -942
  432. django_cfg/template_archive/django_sample.zip +0 -0
  433. django_cfg/templates/rest_framework/api.html +0 -12
  434. django_cfg/utils/toolkit.py +0 -703
  435. django_cfg-1.3.13.dist-info/METADATA +0 -1029
  436. /django_cfg/apps/accounts/management/commands/{test_otp.py → otp_test.py} +0 -0
  437. /django_cfg/core/{environment.py → environment/detector.py} +0 -0
  438. /django_cfg/models/{cors.py → api/cors.py} +0 -0
  439. /django_cfg/models/{jwt.py → api/jwt.py} +0 -0
  440. /django_cfg/models/{base.py → base/config.py} +0 -0
  441. /django_cfg/models/{cfg.py → base/module.py} +0 -0
  442. /django_cfg/models/{revolution.py → django/revolution.py} +0 -0
  443. /django_cfg/modules/{dramatiq_setup.py → django_tasks/dramatiq_setup.py} +0 -0
  444. {django_cfg-1.3.13.dist-info → django_cfg-1.4.3.dist-info}/WHEEL +0 -0
  445. {django_cfg-1.3.13.dist-info → django_cfg-1.4.3.dist-info}/entry_points.txt +0 -0
  446. {django_cfg-1.3.13.dist-info → django_cfg-1.4.3.dist-info}/licenses/LICENSE +0 -0
@@ -27,17 +27,46 @@ def dashboard_view(request):
27
27
  from ..utils.simulator import TaskSimulator
28
28
  simulator = TaskSimulator()
29
29
 
30
+ # Build navigation items for navbar
31
+ tasks_nav_items = [
32
+ {
33
+ 'label': 'Task History',
34
+ 'url': '/admin/django_dramatiq/task/',
35
+ 'icon': '📜',
36
+ },
37
+ {
38
+ 'label': 'Settings',
39
+ 'url': '/admin/constance/config/',
40
+ 'icon': '⚙️',
41
+ },
42
+ ]
43
+
30
44
  # Prepare context data
31
45
  context = {
32
46
  'queue_status': simulator.get_current_queue_status(),
33
47
  'task_stats': simulator.get_current_task_statistics(),
48
+ 'tasks_nav_items': tasks_nav_items,
34
49
  }
35
-
50
+
36
51
  return render(request, 'tasks/pages/dashboard.html', context)
37
52
 
38
53
  except Exception as e:
39
54
  logger.error(f"Dashboard view error: {e}")
40
55
 
56
+ # Build navigation items for navbar
57
+ tasks_nav_items = [
58
+ {
59
+ 'label': 'Task History',
60
+ 'url': '/admin/django_dramatiq/task/',
61
+ 'icon': '📜',
62
+ },
63
+ {
64
+ 'label': 'Settings',
65
+ 'url': '/admin/constance/config/',
66
+ 'icon': '⚙️',
67
+ },
68
+ ]
69
+
41
70
  # Provide fallback context for error cases
42
71
  context = {
43
72
  'queue_status': {
@@ -52,7 +81,8 @@ def dashboard_view(request):
52
81
  'statistics': {'total': 0},
53
82
  'recent_tasks': [],
54
83
  'timestamp': None
55
- }
84
+ },
85
+ 'tasks_nav_items': tasks_nav_items,
56
86
  }
57
-
87
+
58
88
  return render(request, 'tasks/pages/dashboard.html', context)
django_cfg/apps/urls.py CHANGED
@@ -54,7 +54,11 @@ def get_django_cfg_urlpatterns() -> List[URLPattern]:
54
54
 
55
55
  if base_module.is_payments_enabled():
56
56
  patterns.append(path('admin/django_cfg_payments/admin/', include('django_cfg.apps.payments.urls_admin')))
57
-
57
+
58
+ # RPC Dashboard - WebSocket & RPC activity monitoring
59
+ if base_module.is_rpc_enabled():
60
+ patterns.append(path('admin/rpc/', include('django_cfg.modules.django_ipc_client.dashboard.urls_admin')))
61
+
58
62
  except Exception:
59
63
  # Fallback: include all URLs if config is not available
60
64
  # Note: This fallback should not be needed in production
django_cfg/cli/README.md CHANGED
@@ -1,519 +1,105 @@
1
1
  # 🚀 Django CFG CLI
2
2
 
3
- Powerful command-line interface for django-cfg - a production-ready Django configuration framework with automatic project setup and configuration.
3
+ Simple command-line interface for creating Django projects with django-cfg template from GitHub.
4
4
 
5
5
  ## 📦 Installation
6
6
 
7
- ### Requirements
8
-
9
- - **Python 3.12+** - Modern Python features and performance improvements
10
- - **Django 4.2+** - Latest stable Django version
11
- - **Poetry** (recommended) or **pip** - Package management
12
-
13
- ### Install
14
-
15
7
  ```bash
16
8
  pip install django-cfg
17
- # or
18
- poetry add django-cfg
19
9
  ```
20
10
 
21
- > ⚠️ **Python Version Check**: django-cfg automatically checks your Python version and provides helpful upgrade instructions if you're using Python < 3.12.
22
-
23
- ## 🎯 Commands
24
-
25
- ### `django-cfg create-project`
11
+ ## 🎯 Quick Start
26
12
 
27
- Creates a new Django project with full automatic setup:
28
-
29
- - ✅ **Automatic structure creation** - `db/`, `cache/` directories
30
- - ✅ **Dependency installation** - Poetry or pip
31
- - ✅ **Run migrations** - ready database
32
- - ✅ **Template cleaning** - no local development dependencies
33
- - ✅ **Production-ready** - everything configured out of the box
34
-
35
- #### Basic Usage
13
+ ### Create a New Project
36
14
 
37
15
  ```bash
38
- # Full automatic installation
39
- django-cfg create-project "My Awesome Project"
16
+ # Extract to current directory
17
+ django-cfg create-project
40
18
 
41
- # Create in specific directory
42
- django-cfg create-project "My Project" --path ./projects/
19
+ # Extract to specific directory
20
+ django-cfg create-project --path ./my-project/
43
21
 
44
- # Use pip instead of Poetry
45
- django-cfg create-project "My Project" --use-pip
22
+ # Overwrite existing files
23
+ django-cfg create-project --force
46
24
  ```
47
25
 
48
- #### Installation Control
49
-
50
- ```bash
51
- # Skip dependency installation
52
- django-cfg create-project "My Project" --no-deps
53
-
54
- # Skip automatic setup (directories, migrations)
55
- django-cfg create-project "My Project" --no-setup
26
+ ### What It Does
56
27
 
57
- # Overwrite existing directory
58
- django-cfg create-project "My Project" --force
28
+ Downloads the latest django-cfg template from GitHub (https://github.com/markolofsen/django-cfg) and extracts it to the specified location.
59
29
 
60
- # Full control - only create files
61
- django-cfg create-project "My Project" --no-deps --no-setup
62
- ```
30
+ ## 🔧 After Project Creation
63
31
 
64
- #### What Happens Automatically
32
+ 1. **Install dependencies:**
33
+ ```bash
34
+ poetry install # or: pip install -r requirements.txt
35
+ ```
65
36
 
66
- 1. **Template extraction** from archive with local-dev blocks cleaning
67
- 2. **Structure creation**:
68
- - `db/` - for SQLite database
69
- - `cache/` - for caching
70
- - `.gitignore` - proper exclusions
71
- - `README.md` - project documentation
72
- 3. **Dependency installation** via Poetry or pip
73
- 4. **Run migrations** via `poetry run cli migrator` or `manage.py migrate`
74
- 5. **Ready project** for development
37
+ 3. **Run migrations:**
38
+ ```bash
39
+ python manage.py migrate
40
+ ```
75
41
 
76
- ### `django-cfg info`
42
+ 4. **Create superuser:**
43
+ ```bash
44
+ python manage.py createsuperuser
45
+ ```
77
46
 
78
- Shows information about django-cfg and system:
47
+ 5. **Run development server:**
48
+ ```bash
49
+ python manage.py runserver
50
+ ```
79
51
 
80
- ```bash
81
- # Basic information
82
- django-cfg info
52
+ ## 💡 Features Included
83
53
 
84
- # Detailed information
85
- django-cfg info --verbose
86
- ```
87
-
88
- **Displays:**
89
- - 📦 Package version and Python
90
- - 📋 Project template status
91
- - 🔧 Core dependencies (django, pydantic, click)
92
- - 🌐 Service integrations (Twilio, SendGrid, OpenAI, Telegram)
93
- - 🎨 Admin & UI (django-unfold, constance)
94
- - 📊 API & documentation (DRF, drf-spectacular)
95
- - ⚡ Background tasks (dramatiq, redis)
96
- - 🛠️ Development tools (ngrok)
54
+ - Type-safe configuration with Pydantic v2
55
+ - Twilio integration (WhatsApp, SMS, Email OTP)
56
+ - ✅ Email services with SendGrid
57
+ - ✅ Telegram bot integration
58
+ - ✅ Modern Unfold admin interface
59
+ - Auto-generated API documentation
60
+ - JWT authentication system
61
+ - Multi-database support with routing
62
+ - Background task processing with Dramatiq
63
+ - Docker deployment ready
97
64
 
98
- ## 🏗️ Generated Project Structure
65
+ ## 📋 Commands
99
66
 
100
- ```
101
- my_awesome_project/
102
- ├── 📁 api/ # django-cfg configuration
103
- │ ├── config.py # Main configuration
104
- │ ├── environment/ # Environment settings
105
- │ │ ├── config.dev.yaml # Development
106
- │ │ ├── config.prod.yaml # Production
107
- │ │ └── config.test.yaml # Testing
108
- │ ├── settings.py # Generated Django settings
109
- │ └── urls.py # Root URLs
110
- ├── 📁 apps/ # Django applications
111
- │ ├── blog/ # Blog example
112
- │ ├── profiles/ # User profiles
113
- │ └── shop/ # E-commerce example
114
- ├── 📁 core/ # Utilities and management commands
115
- ├── 📁 db/ # SQLite database (auto-created)
116
- ├── 📁 cache/ # Cache files (auto-created)
117
- ├── 📁 docker/ # Docker configuration
118
- ├── 📁 static/ # Static files
119
- ├── 📁 templates/ # Django templates
120
- ├── 📄 manage.py # Django management
121
- ├── 📄 cli.py # Extended CLI
122
- ├── 📄 pyproject.toml # Poetry config (cleaned from local-dev)
123
- ├── 📄 requirements.txt # pip dependencies
124
- ├── 📄 package.json # npm scripts
125
- ├── 📄 .gitignore # Git exclusions
126
- └── 📄 README.md # Project documentation
127
- ```
67
+ ### `create-project`
128
68
 
129
- ## ⚙️ Quick Start
130
-
131
- ### 1. Create Project
69
+ Downloads and extracts the latest django-cfg template from GitHub.
132
70
 
133
71
  ```bash
134
- django-cfg create-project "My Blog"
72
+ django-cfg create-project [OPTIONS]
135
73
  ```
136
74
 
137
- **Output:**
138
- ```
139
- 📋 Using template archive: django_sample.zip
140
- 📂 Extracting template from archive...
141
- ✅ Extracted 339 files from template
142
- ✅ Project 'My Blog' created successfully!
143
- 📁 Location: /current/dir/my_blog
144
-
145
- 🔧 Setting up project structure...
146
- 📁 Created database directory: db/
147
- 📁 Created cache directory: cache/
148
-
149
- 📦 Installing dependencies with Poetry...
150
- ✅ Dependencies installed successfully
151
-
152
- 🔄 Running initial project setup...
153
- 🔄 Running initial migrations...
154
- ✅ Initial migrations completed successfully
155
- ✅ Project is ready to use!
156
- ```
75
+ **Options:**
76
+ - `--path, -p PATH` - Directory where to extract the project (default: current directory)
77
+ - `--force, -f` - Overwrite existing files if they exist
157
78
 
158
- ### 2. Navigate to Project
79
+ ### `info`
159
80
 
160
- ```bash
161
- cd my_blog
162
- ```
163
-
164
- ### 3. Configure Settings
81
+ Shows information about django-cfg installation.
165
82
 
166
83
  ```bash
167
- # Copy and edit configuration
168
- cp api/environment/config.dev.yaml api/environment/config.local.yaml
169
- # Edit config.local.yaml with your settings
170
- ```
171
-
172
- ### 4. Create Superuser
173
-
174
- ```bash
175
- poetry run python manage.py createsuperuser
176
- ```
177
-
178
- ### 5. Run Server
179
-
180
- ```bash
181
- poetry run cli runserver
182
- # or
183
- poetry run python manage.py runserver
184
- ```
185
-
186
- ## 🔧 Configuration
187
-
188
- Edit `api/environment/config.local.yaml`:
189
-
190
- ```yaml
191
- # Basic settings
192
- debug: true
193
- secret_key: "your-secret-key-here"
194
-
195
- # Database
196
- database:
197
- default:
198
- engine: "sqlite"
199
- name: "db/db.sqlite3"
200
-
201
- # API keys
202
- api_keys:
203
- twilio:
204
- account_sid: "ACxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
205
- auth_token: "your_twilio_auth_token"
206
- verify_service_sid: "VAxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
207
- sendgrid_api_key: "SG.your_sendgrid_api_key"
208
- openai_api_key: "sk-your_openai_api_key"
209
-
210
- # Email settings
211
- email:
212
- default_from: "noreply@yourapp.com"
213
- backend: "sendgrid"
214
-
215
- # Telegram bot
216
- telegram:
217
- bot_token: "your_telegram_bot_token"
218
- chat_id: 123456789
219
-
220
- # Redis (optional)
221
- redis:
222
- default:
223
- host: "localhost"
224
- port: 6379
225
- db: 0
226
- ```
227
-
228
- ## 📱 Service Usage
229
-
230
- ### Twilio OTP
231
-
232
- ```python
233
- from django_cfg import send_sms_otp, send_whatsapp_otp, send_email_otp, verify_otp
234
-
235
- # SMS OTP
236
- success, message = send_sms_otp("+1234567890")
237
-
238
- # WhatsApp OTP with SMS fallback
239
- success, message = send_whatsapp_otp("+1234567890", fallback_to_sms=True)
240
-
241
- # Email OTP
242
- success, message, code = send_email_otp("user@example.com")
243
-
244
- # Verify OTP
245
- is_valid, result = verify_otp("+1234567890", "123456")
246
- ```
247
-
248
- ### Telegram Notifications
249
-
250
- ```python
251
- from django_cfg import send_telegram_message
252
-
253
- send_telegram_message("New user registered!")
254
- ```
255
-
256
- ## 🐳 Docker Deployment
257
-
258
- ```bash
259
- # Build and run
260
- docker-compose up -d
261
-
262
- # Production with nginx
263
- docker-compose -f docker-compose.yml -f docker-compose.nginx.yml up -d
264
- ```
265
-
266
- ## 🛠️ Management Commands
267
-
268
- ### Poetry Commands
269
-
270
- ```bash
271
- # Install dependencies
272
- poetry install
273
-
274
- # Activate environment
275
- poetry shell
276
-
277
- # Run server
278
- poetry run cli runserver
279
-
280
- # Run with ngrok
281
- poetry run cli runserver-ngrok
282
-
283
- # Migrations
284
- poetry run cli migrator
285
-
286
- # Background tasks
287
- poetry run cli rundramatiq
288
- ```
289
-
290
- ### npm Scripts
291
-
292
- ```bash
293
- # Development
294
- npm run dev
295
-
296
- # Development with ngrok
297
- npm run dev:ngrok
298
-
299
- # Migrations
300
- npm run migrate
301
-
302
- # Generate OpenAPI clients
303
- npm run generate
304
-
305
- # Background tasks
306
- npm run tasks:worker
307
- npm run tasks:status
308
- npm run tasks:clear
309
- ```
310
-
311
- ## 🎯 Usage Examples
312
-
313
- ### Creating Different Project Types
314
-
315
- ```bash
316
- # Blog
317
- django-cfg create-project "My Blog"
318
-
319
- # E-commerce
320
- django-cfg create-project "My Shop"
321
-
322
- # API-only project
323
- django-cfg create-project "My API"
324
-
325
- # Corporate application
326
- django-cfg create-project "Corporate App"
327
- ```
328
-
329
- ### Different Installation Methods
330
-
331
- ```bash
332
- # Full automatic installation (recommended)
333
- django-cfg create-project "My Project"
334
-
335
- # pip only
336
- django-cfg create-project "My Project" --use-pip
337
-
338
- # No automatic setup
339
- django-cfg create-project "My Project" --no-setup
340
-
341
- # Files only, no dependencies
342
- django-cfg create-project "My Project" --no-deps --no-setup
343
-
344
- # Specific directory
345
- django-cfg create-project "My Project" --path ~/projects/
346
-
347
- # Overwrite existing
348
- django-cfg create-project "My Project" --force
349
- ```
350
-
351
- ## 🔍 Useful Commands
352
-
353
- ```bash
354
- # System information
355
- django-cfg info --verbose
356
-
357
- # Command help
358
- django-cfg --help
359
- django-cfg create-project --help
360
-
361
- # Version
362
- django-cfg --version
363
-
364
- # Project structure
365
- npm run tree
366
-
367
- # Task status
368
- npm run tasks:status
369
-
370
- # Clear cache
371
- python manage.py clear_cache
372
- ```
373
-
374
- ## 🌟 Django-CFG Features
375
-
376
- ### 🔧 Configuration
377
- - **Type-safe settings** with Pydantic v2
378
- - **YAML configurations** for different environments
379
- - **Automatic validation** of settings
380
- - **Environment variables** with fallback
381
-
382
- ### 📱 Integrations
383
- - **Twilio** - SMS, WhatsApp, Email OTP
384
- - **SendGrid** - email services
385
- - **Telegram Bot** - notifications and alerts
386
- - **OpenAI** - AI integration
387
- - **Redis** - caching and sessions
388
-
389
- ### 🎨 UI/UX
390
- - **Django Unfold** - modern admin interface
391
- - **Django Constance** - real-time settings
392
- - **Automatic documentation** OpenAPI/Swagger
393
- - **JWT authentication** out of the box
394
-
395
- ### ⚡ Performance
396
- - **Dramatiq** - background tasks
397
- - **Redis** - caching
398
- - **Multi-database** with automatic routing
399
- - **Optimized settings** for production
400
-
401
- ### 🐳 Deployment
402
- - **Docker** ready configurations
403
- - **Nginx** settings
404
- - **Environment** management
405
- - **Ready deployment scripts**
406
-
407
- ## 🐛 Troubleshooting
408
-
409
- ### Template Not Found
410
-
411
- ```bash
412
- # Check installation
84
+ django-cfg info
413
85
  django-cfg info --verbose
414
-
415
- # Reinstall
416
- pip uninstall django-cfg
417
- pip install django-cfg
418
- ```
419
-
420
- ### Permission Errors
421
-
422
- ```bash
423
- # Force overwrite
424
- django-cfg create-project "My Project" --force
425
-
426
- # Or remove directory manually
427
- rm -rf my_project/
428
- django-cfg create-project "My Project"
429
- ```
430
-
431
- ### Dependency Installation Errors
432
-
433
- ```bash
434
- # Create without dependencies
435
- django-cfg create-project "My Project" --no-deps
436
-
437
- # Install manually
438
- cd my_project/
439
- poetry install # or pip install -r requirements.txt
440
86
  ```
441
87
 
442
- ### Migration Errors
443
-
444
- ```bash
445
- # Create without auto-setup
446
- django-cfg create-project "My Project" --no-setup
447
-
448
- # Run migrations manually
449
- cd my_project/
450
- poetry run cli migrator
451
- # or
452
- python manage.py migrate
453
- ```
454
-
455
- ## 🤝 CLI Development
456
-
457
- ### Adding New Commands
458
-
459
- 1. Create command file in `src/django_cfg/cli/commands/`:
460
-
461
- ```python
462
- # src/django_cfg/cli/commands/my_command.py
463
- import click
464
- from ..utils import get_package_info
465
-
466
- @click.command()
467
- @click.option("--option", help="Command option")
468
- def my_command(option: str):
469
- """My custom command description."""
470
- click.echo(f"Running my command with option: {option}")
471
- ```
472
-
473
- 2. Register in `src/django_cfg/cli/main.py`:
474
-
475
- ```python
476
- from .commands.my_command import my_command
88
+ ## 📚 Documentation
477
89
 
478
- cli.add_command(my_command)
479
- ```
90
+ - **GitHub**: https://github.com/markolofsen/django-cfg
91
+ - **Issues**: https://github.com/markolofsen/django-cfg/issues
480
92
 
481
- ### Using Utilities
482
-
483
- ```python
484
- from ..utils import (
485
- get_package_info,
486
- find_template_archive,
487
- get_template_info,
488
- check_dependencies,
489
- validate_project_name
490
- )
491
-
492
- # Package information
493
- info = get_package_info()
494
- print(f"Version: {info['version']}")
495
-
496
- # Find template archive
497
- archive = find_template_archive()
498
- if archive:
499
- print(f"Template found: {archive}")
500
-
501
- # Check dependencies
502
- deps = check_dependencies({"django": "django"})
503
- print(f"Django installed: {deps['django']}")
504
- ```
93
+ ## 🌐 Developed by
505
94
 
506
- ## 📚 Documentation
95
+ **Unrealon.com** Complex parsers on demand
507
96
 
508
- - **Django CFG**: https://djangocfg.com
509
- - **GitHub**: https://github.com/markolofsen/django-cfg
510
- - **PyPI**: https://pypi.org/project/django-cfg/
511
- - **Examples**: https://github.com/markolofsen/django-cfg/tree/main/examples
97
+ https://unrealon.com
512
98
 
513
99
  ## 📄 License
514
100
 
515
- MIT License - see LICENSE file for details.
101
+ MIT License
516
102
 
517
103
  ---
518
104
 
519
- **Powered by django-cfg** 🚀 - Production-ready Django configuration with automatic setup
105
+ **Powered by django-cfg** 🚀