django-cfg 1.2.23__tar.gz → 1.2.27__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (638) hide show
  1. {django_cfg-1.2.23 → django_cfg-1.2.27}/.gitignore +1 -1
  2. django_cfg-1.2.27/CHANGELOG.md +57 -0
  3. django_cfg-1.2.27/CONTRIBUTING.md +145 -0
  4. {django_cfg-1.2.23 → django_cfg-1.2.27}/MANIFEST.in +6 -3
  5. {django_cfg-1.2.23 → django_cfg-1.2.27}/PKG-INFO +10 -6
  6. {django_cfg-1.2.23 → django_cfg-1.2.27}/README.md +3 -2
  7. {django_cfg-1.2.23 → django_cfg-1.2.27}/pyproject.toml +17 -8
  8. django_cfg-1.2.27/requirements-dev.txt +1 -0
  9. django_cfg-1.2.27/requirements-test.txt +1 -0
  10. django_cfg-1.2.27/requirements.txt +1 -0
  11. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/__init__.py +1 -1
  12. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/archive_tasks.py +6 -6
  13. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/document_processing.py +3 -3
  14. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/external_data_tasks.py +2 -2
  15. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/maintenance.py +3 -3
  16. django_cfg-1.2.27/src/django_cfg/apps/payments/config/__init__.py +65 -0
  17. django_cfg-1.2.27/src/django_cfg/apps/payments/config/module.py +70 -0
  18. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/config/providers.py +28 -16
  19. django_cfg-1.2.27/src/django_cfg/apps/payments/config/settings.py +96 -0
  20. django_cfg-1.2.27/src/django_cfg/apps/payments/config/utils.py +52 -0
  21. django_cfg-1.2.27/src/django_cfg/apps/payments/management/__init__.py +3 -0
  22. django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/README.md +178 -0
  23. django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/__init__.py +3 -0
  24. django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/currency_stats.py +323 -0
  25. django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/populate_currencies.py +246 -0
  26. django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/update_currencies.py +336 -0
  27. django_cfg-1.2.27/src/django_cfg/apps/payments/managers/currency_manager.py +83 -0
  28. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/api_access.py +33 -0
  29. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/migrations/0001_initial.py +94 -1
  30. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/payments.py +110 -0
  31. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/__init__.py +7 -1
  32. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/balance_service.py +14 -16
  33. django_cfg-1.2.27/src/django_cfg/apps/payments/services/core/fallback_service.py +432 -0
  34. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/payment_service.py +212 -29
  35. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/subscription_service.py +15 -17
  36. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/internal_types.py +31 -0
  37. django_cfg-1.2.27/src/django_cfg/apps/payments/services/monitoring/__init__.py +22 -0
  38. django_cfg-1.2.27/src/django_cfg/apps/payments/services/monitoring/api_schemas.py +222 -0
  39. django_cfg-1.2.27/src/django_cfg/apps/payments/services/monitoring/provider_health.py +372 -0
  40. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/__init__.py +3 -0
  41. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/cryptapi.py +14 -3
  42. django_cfg-1.2.27/src/django_cfg/apps/payments/services/providers/cryptomus.py +310 -0
  43. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/registry.py +4 -0
  44. django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/__init__.py +34 -0
  45. django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/error_handler.py +637 -0
  46. django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/payment_notifications.py +342 -0
  47. django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/webhook_validator.py +475 -0
  48. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/api_key_signals.py +10 -0
  49. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/payment_signals.py +3 -2
  50. django_cfg-1.2.27/src/django_cfg/apps/payments/tasks/__init__.py +12 -0
  51. django_cfg-1.2.27/src/django_cfg/apps/payments/tasks/webhook_processing.py +177 -0
  52. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/__init__.py +7 -4
  53. django_cfg-1.2.27/src/django_cfg/apps/payments/utils/billing_utils.py +342 -0
  54. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/config_utils.py +2 -0
  55. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/payment_views.py +40 -2
  56. django_cfg-1.2.27/src/django_cfg/apps/payments/views/webhook_views.py +266 -0
  57. django_cfg-1.2.27/src/django_cfg/apps/payments/viewsets.py +65 -0
  58. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/README.md +2 -2
  59. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/commands/create_project.py +1 -1
  60. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/commands/info.py +1 -1
  61. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/main.py +1 -1
  62. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/utils.py +5 -5
  63. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/config.py +18 -4
  64. django_cfg-1.2.27/src/django_cfg/models/payments.py +547 -0
  65. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/tasks.py +51 -2
  66. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/base.py +11 -5
  67. django_cfg-1.2.27/src/django_cfg/modules/django_currency/README.md +169 -0
  68. django_cfg-1.2.27/src/django_cfg/modules/django_currency/__init__.py +105 -0
  69. django_cfg-1.2.27/src/django_cfg/modules/django_currency/clients/__init__.py +11 -0
  70. django_cfg-1.2.27/src/django_cfg/modules/django_currency/clients/coingecko_client.py +257 -0
  71. django_cfg-1.2.27/src/django_cfg/modules/django_currency/clients/yfinance_client.py +246 -0
  72. django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/__init__.py +42 -0
  73. django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/converter.py +169 -0
  74. django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/exceptions.py +28 -0
  75. django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/models.py +54 -0
  76. django_cfg-1.2.27/src/django_cfg/modules/django_currency/database/__init__.py +25 -0
  77. django_cfg-1.2.27/src/django_cfg/modules/django_currency/database/database_loader.py +507 -0
  78. django_cfg-1.2.27/src/django_cfg/modules/django_currency/utils/__init__.py +9 -0
  79. django_cfg-1.2.27/src/django_cfg/modules/django_currency/utils/cache.py +92 -0
  80. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/core.py +10 -0
  81. django_cfg-1.2.27/src/django_cfg/template_archive/django_sample.zip +0 -0
  82. django_cfg-1.2.27/src/django_cfg/templatetags/__init__.py +0 -0
  83. django_cfg-1.2.23/requirements-dev.txt +0 -74
  84. django_cfg-1.2.23/requirements-test.txt +0 -61
  85. django_cfg-1.2.23/requirements.txt +0 -54
  86. django_cfg-1.2.23/src/django_cfg/apps/agents/examples/__init__.py +0 -3
  87. django_cfg-1.2.23/src/django_cfg/apps/agents/examples/simple_example.py +0 -161
  88. django_cfg-1.2.23/src/django_cfg/apps/knowbase/examples/__init__.py +0 -3
  89. django_cfg-1.2.23/src/django_cfg/apps/knowbase/examples/external_data_usage.py +0 -191
  90. django_cfg-1.2.23/src/django_cfg/apps/knowbase/mixins/examples/vehicle_model_example.py +0 -199
  91. django_cfg-1.2.23/src/django_cfg/apps/payments/config/__init__.py +0 -87
  92. django_cfg-1.2.23/src/django_cfg/apps/payments/config/module.py +0 -162
  93. django_cfg-1.2.23/src/django_cfg/apps/payments/config/settings.py +0 -136
  94. django_cfg-1.2.23/src/django_cfg/apps/payments/config/utils.py +0 -198
  95. django_cfg-1.2.23/src/django_cfg/apps/payments/managers/currency_manager.py +0 -32
  96. django_cfg-1.2.23/src/django_cfg/modules/django_currency/README.md +0 -334
  97. django_cfg-1.2.23/src/django_cfg/modules/django_currency/__init__.py +0 -47
  98. django_cfg-1.2.23/src/django_cfg/modules/django_currency/cache.py +0 -430
  99. django_cfg-1.2.23/src/django_cfg/modules/django_currency/converter.py +0 -324
  100. django_cfg-1.2.23/src/django_cfg/modules/django_currency/service.py +0 -277
  101. {django_cfg-1.2.23 → django_cfg-1.2.27}/LICENSE +0 -0
  102. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/README.md +0 -0
  103. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/__init__.py +0 -0
  104. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/README.md +0 -0
  105. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/__init__.py +0 -0
  106. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/__models.py +0 -0
  107. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/__init__.py +0 -0
  108. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/activity.py +0 -0
  109. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/filters.py +0 -0
  110. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/group.py +0 -0
  111. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/inlines.py +0 -0
  112. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/otp.py +0 -0
  113. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/registration_source.py +0 -0
  114. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/resources.py +0 -0
  115. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/twilio_response.py +0 -0
  116. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/user.py +0 -0
  117. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/apps.py +0 -0
  118. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/management/commands/test_otp.py +0 -0
  119. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/managers/__init__.py +0 -0
  120. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/managers/user_manager.py +0 -0
  121. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0001_initial.py +0 -0
  122. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0002_add_phone_otp_clean.py +0 -0
  123. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0003_twilioresponse.py +0 -0
  124. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0004_delete_twilioresponse.py +0 -0
  125. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0005_twilioresponse.py +0 -0
  126. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0006_remove_twilioresponse_otp_secret_and_more.py +0 -0
  127. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0007_twilioresponse.py +0 -0
  128. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/__init__.py +0 -0
  129. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/__init__.py +0 -0
  130. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/activity.py +0 -0
  131. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/auth.py +0 -0
  132. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/base.py +0 -0
  133. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/choices.py +0 -0
  134. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/integrations.py +0 -0
  135. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/registration.py +0 -0
  136. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/user.py +0 -0
  137. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/__init__.py +0 -0
  138. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/otp.py +0 -0
  139. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/profile.py +0 -0
  140. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/webhook.py +0 -0
  141. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/services/__init__.py +0 -0
  142. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/services/activity_service.py +0 -0
  143. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/services/otp_service.py +0 -0
  144. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/signals.py +0 -0
  145. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/base_email.html +0 -0
  146. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/base_email.txt +0 -0
  147. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/otp_email.html +0 -0
  148. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/otp_email.txt +0 -0
  149. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/welcome_email.html +0 -0
  150. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/welcome_email.txt +0 -0
  151. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/urls.py +0 -0
  152. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/utils/auth_email_service.py +0 -0
  153. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/utils/notifications.py +0 -0
  154. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/__init__.py +0 -0
  155. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/otp.py +0 -0
  156. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/profile.py +0 -0
  157. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/webhook.py +0 -0
  158. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/README.md +0 -0
  159. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/__init__.py +0 -0
  160. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/__init__.py +0 -0
  161. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/execution_admin.py +0 -0
  162. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/registry_admin.py +0 -0
  163. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/toolsets_admin.py +0 -0
  164. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/apps.py +0 -0
  165. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/__init__.py +0 -0
  166. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/agent.py +0 -0
  167. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/dependencies.py +0 -0
  168. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/exceptions.py +0 -0
  169. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/models.py +0 -0
  170. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/orchestrator.py +0 -0
  171. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/__init__.py +0 -0
  172. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/middleware.py +0 -0
  173. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/registry.py +0 -0
  174. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/signals.py +0 -0
  175. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/__init__.py +0 -0
  176. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/commands/__init__.py +0 -0
  177. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/commands/create_agent.py +0 -0
  178. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/commands/orchestrator_status.py +0 -0
  179. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/__init__.py +0 -0
  180. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/execution.py +0 -0
  181. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/registry.py +0 -0
  182. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/toolsets.py +0 -0
  183. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/migrations/0001_initial.py +0 -0
  184. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/migrations/__init__.py +0 -0
  185. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/__init__.py +0 -0
  186. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/execution.py +0 -0
  187. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/registry.py +0 -0
  188. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/toolsets.py +0 -0
  189. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/patterns/__init__.py +0 -0
  190. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/patterns/content_agents.py +0 -0
  191. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/__init__.py +0 -0
  192. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/cache_toolset.py +0 -0
  193. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/django_toolset.py +0 -0
  194. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/file_toolset.py +0 -0
  195. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/orm_toolset.py +0 -0
  196. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/urls.py +0 -0
  197. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/__init__.py +0 -0
  198. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/commands/__init__.py +0 -0
  199. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/commands/urls.py +0 -0
  200. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/commands/views.py +0 -0
  201. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/health/__init__.py +0 -0
  202. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/health/urls.py +0 -0
  203. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/health/views.py +0 -0
  204. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/README.md +0 -0
  205. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/__init__.py +0 -0
  206. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/__init__.py +0 -0
  207. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/archive_admin.py +0 -0
  208. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/chat_admin.py +0 -0
  209. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/document_admin.py +0 -0
  210. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/external_data_admin.py +0 -0
  211. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/apps.py +0 -0
  212. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/README.md +0 -0
  213. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/__init__.py +0 -0
  214. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/constance_fields.py +0 -0
  215. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/constance_settings.py +0 -0
  216. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/settings.py +0 -0
  217. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/__init__.py +0 -0
  218. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/commands/__init__.py +0 -0
  219. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/commands/knowbase_stats.py +0 -0
  220. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/commands/setup_knowbase.py +0 -0
  221. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/__init__.py +0 -0
  222. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/archive.py +0 -0
  223. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/base.py +0 -0
  224. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/chat.py +0 -0
  225. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/document.py +0 -0
  226. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/external_data.py +0 -0
  227. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/migrations/0001_initial.py +0 -0
  228. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/migrations/0002_archiveitem_archiveitemchunk_documentarchive_and_more.py +0 -0
  229. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/migrations/__init__.py +0 -0
  230. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/__init__.py +0 -0
  231. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/config.py +0 -0
  232. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/creator.py +0 -0
  233. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/external_data_mixin.py +0 -0
  234. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/service.py +0 -0
  235. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/__init__.py +0 -0
  236. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/archive.py +0 -0
  237. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/base.py +0 -0
  238. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/chat.py +0 -0
  239. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/document.py +0 -0
  240. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/external_data.py +0 -0
  241. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/__init__.py +0 -0
  242. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/archive_serializers.py +0 -0
  243. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/chat_serializers.py +0 -0
  244. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/document_serializers.py +0 -0
  245. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/external_data_serializers.py +0 -0
  246. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/public_serializers.py +0 -0
  247. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/__init__.py +0 -0
  248. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/__init__.py +0 -0
  249. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/archive_service.py +0 -0
  250. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/chunking_service.py +0 -0
  251. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/exceptions.py +0 -0
  252. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/extraction_service.py +0 -0
  253. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/vectorization_service.py +0 -0
  254. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/base.py +0 -0
  255. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/chat_service.py +0 -0
  256. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/document_service.py +0 -0
  257. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/__init__.py +0 -0
  258. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/async_processor.py +0 -0
  259. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/batch_processor.py +0 -0
  260. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/batch_result.py +0 -0
  261. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/models.py +0 -0
  262. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/processors.py +0 -0
  263. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/utils.py +0 -0
  264. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/prompt_builder.py +0 -0
  265. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/search_service.py +0 -0
  266. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/__init__.py +0 -0
  267. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/archive_signals.py +0 -0
  268. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/chat_signals.py +0 -0
  269. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/document_signals.py +0 -0
  270. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/external_data_signals.py +0 -0
  271. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/__init__.py +0 -0
  272. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/urls.py +0 -0
  273. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/__init__.py +0 -0
  274. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/chunk_settings.py +0 -0
  275. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/text_processing.py +0 -0
  276. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/validation.py +0 -0
  277. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/__init__.py +0 -0
  278. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/archive_views.py +0 -0
  279. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/base.py +0 -0
  280. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/chat_views.py +0 -0
  281. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/document_views.py +0 -0
  282. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/public_views.py +0 -0
  283. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/README.md +0 -0
  284. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/__init__.py +0 -0
  285. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin/__init__.py +0 -0
  286. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin/leads_admin.py +0 -0
  287. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin/resources.py +0 -0
  288. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin.py +0 -0
  289. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/apps.py +0 -0
  290. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/migrations/0001_initial.py +0 -0
  291. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/migrations/__init__.py +0 -0
  292. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/models.py +0 -0
  293. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/serializers.py +0 -0
  294. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/signals.py +0 -0
  295. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/tests.py +0 -0
  296. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/urls.py +0 -0
  297. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/views.py +0 -0
  298. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/__init__.py +0 -0
  299. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/__init__.py +0 -0
  300. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/api_key_admin.py +0 -0
  301. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/log_admin.py +0 -0
  302. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/scheduled_admin.py +0 -0
  303. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/site_admin.py +0 -0
  304. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/apps.py +0 -0
  305. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/__init__.py +0 -0
  306. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/__init__.py +0 -0
  307. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/maintenance.py +0 -0
  308. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/process_scheduled_maintenance.py +0 -0
  309. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/sync_cloudflare.py +0 -0
  310. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/managers/__init__.py +0 -0
  311. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/managers/cloudflare_site_manager.py +0 -0
  312. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/managers/maintenance_log_manager.py +0 -0
  313. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/migrations/0001_initial.py +0 -0
  314. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/migrations/0002_cloudflaresite_maintenance_url.py +0 -0
  315. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/migrations/0003_cloudflaresite_include_subdomains_and_more.py +0 -0
  316. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/migrations/__init__.py +0 -0
  317. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/__init__.py +0 -0
  318. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/cloudflare_api_key.py +0 -0
  319. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/cloudflare_site.py +0 -0
  320. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/maintenance_log.py +0 -0
  321. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/scheduled_maintenance.py +0 -0
  322. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/__init__.py +0 -0
  323. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/bulk_operations_service.py +0 -0
  324. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/maintenance_service.py +0 -0
  325. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/scheduled_maintenance_service.py +0 -0
  326. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/site_sync_service.py +0 -0
  327. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/utils/__init__.py +0 -0
  328. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/utils/retry_utils.py +0 -0
  329. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/README.md +0 -0
  330. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/__init__.py +0 -0
  331. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/__init__.py +0 -0
  332. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/filters.py +0 -0
  333. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/newsletter_admin.py +0 -0
  334. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/resources.py +0 -0
  335. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin.py +0 -0
  336. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin_filters.py +0 -0
  337. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/apps.py +0 -0
  338. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/management/__init__.py +0 -0
  339. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/management/commands/__init__.py +0 -0
  340. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/management/commands/test_newsletter.py +0 -0
  341. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/managers/README.md +0 -0
  342. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/managers/__init__.py +0 -0
  343. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/migrations/0001_initial.py +0 -0
  344. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/migrations/__init__.py +0 -0
  345. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/models.py +0 -0
  346. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/serializers.py +0 -0
  347. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/services/email_service.py +0 -0
  348. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/signals.py +0 -0
  349. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/urls.py +0 -0
  350. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/utils/__init__.py +0 -0
  351. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/__init__.py +0 -0
  352. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/campaigns.py +0 -0
  353. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/emails.py +0 -0
  354. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/newsletters.py +0 -0
  355. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/subscriptions.py +0 -0
  356. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/tracking.py +0 -0
  357. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/__init__.py +0 -0
  358. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/__init__.py +0 -0
  359. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/api_keys_admin.py +0 -0
  360. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/balance_admin.py +0 -0
  361. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/currencies_admin.py +0 -0
  362. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/filters.py +0 -0
  363. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/payments_admin.py +0 -0
  364. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/subscriptions_admin.py +0 -0
  365. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/tariffs_admin.py +0 -0
  366. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/apps.py +0 -0
  367. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/decorators.py +0 -0
  368. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/__init__.py +0 -0
  369. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/api_key_manager.py +0 -0
  370. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/balance_manager.py +0 -0
  371. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/payment_manager.py +0 -0
  372. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/subscription_manager.py +0 -0
  373. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/tariff_manager.py +0 -0
  374. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/__init__.py +0 -0
  375. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/rate_limiting.py +0 -0
  376. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/usage_tracking.py +0 -0
  377. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/migrations/__init__.py +0 -0
  378. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/__init__.py +0 -0
  379. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/api_keys.py +0 -0
  380. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/balance.py +0 -0
  381. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/base.py +0 -0
  382. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/currencies.py +0 -0
  383. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/events.py +0 -0
  384. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/subscriptions.py +0 -0
  385. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/tariffs.py +0 -0
  386. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/__init__.py +0 -0
  387. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/api_keys.py +0 -0
  388. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/balance.py +0 -0
  389. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/currencies.py +0 -0
  390. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/payments.py +0 -0
  391. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/subscriptions.py +0 -0
  392. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/tariffs.py +0 -0
  393. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/billing/__init__.py +0 -0
  394. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/cache/__init__.py +0 -0
  395. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/cache/base.py +0 -0
  396. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/cache/simple_cache.py +0 -0
  397. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/__init__.py +0 -0
  398. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/middleware/__init__.py +0 -0
  399. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/base.py +0 -0
  400. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/nowpayments.py +0 -0
  401. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/validators/__init__.py +0 -0
  402. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/__init__.py +0 -0
  403. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/subscription_signals.py +0 -0
  404. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/urls.py +0 -0
  405. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/middleware_utils.py +0 -0
  406. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/validation_utils.py +0 -0
  407. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/__init__.py +0 -0
  408. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/api_key_views.py +0 -0
  409. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/balance_views.py +0 -0
  410. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/currency_views.py +0 -0
  411. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/subscription_views.py +0 -0
  412. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/tariff_views.py +0 -0
  413. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/__init__.py +0 -0
  414. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/__init__.py +0 -0
  415. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/filters.py +0 -0
  416. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/resources.py +0 -0
  417. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/support_admin.py +0 -0
  418. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin.py +0 -0
  419. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin_filters.py +0 -0
  420. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/apps.py +0 -0
  421. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/managers/message_manager.py +0 -0
  422. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/managers/ticket_manager.py +0 -0
  423. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/migrations/0001_initial.py +0 -0
  424. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/migrations/0002_alter_message_ticket.py +0 -0
  425. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/migrations/__init__.py +0 -0
  426. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/models.py +0 -0
  427. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/serializers.py +0 -0
  428. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/signals.py +0 -0
  429. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/templates/support/chat/access_denied.html +0 -0
  430. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/templates/support/chat/ticket_chat.html +0 -0
  431. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/urls.py +0 -0
  432. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/utils/__init__.py +0 -0
  433. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/utils/support_email_service.py +0 -0
  434. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/__init__.py +0 -0
  435. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/admin.py +0 -0
  436. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/api.py +0 -0
  437. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/chat.py +0 -0
  438. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/__init__.py +0 -0
  439. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/admin.py +0 -0
  440. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/apps.py +0 -0
  441. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/serializers.py +0 -0
  442. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/css/dashboard.css +0 -0
  443. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/api.js +0 -0
  444. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/dashboard.js +0 -0
  445. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/modals.js +0 -0
  446. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/notifications.js +0 -0
  447. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/task-monitor.js +0 -0
  448. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/theme.js +0 -0
  449. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/base.html +0 -0
  450. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/info_cards.html +0 -0
  451. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/management_actions.html +0 -0
  452. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/overview_tab.html +0 -0
  453. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/queues_tab.html +0 -0
  454. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/status_cards.html +0 -0
  455. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/tab_navigation.html +0 -0
  456. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/task_details_modal.html +0 -0
  457. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/tasks_tab.html +0 -0
  458. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/workers_tab.html +0 -0
  459. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/dashboard.html +0 -0
  460. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/urls.py +0 -0
  461. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/views.py +0 -0
  462. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/urls.py +0 -0
  463. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps.py +0 -0
  464. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/__init__.py +0 -0
  465. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/commands/__init__.py +0 -0
  466. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/config.py +0 -0
  467. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/__init__.py +0 -0
  468. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/environment.py +0 -0
  469. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/exceptions.py +0 -0
  470. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/generation.py +0 -0
  471. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/integration.py +0 -0
  472. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/validation.py +0 -0
  473. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/__init__.py +0 -0
  474. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/__init__.py +0 -0
  475. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/auto_generate.py +0 -0
  476. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/check_settings.py +0 -0
  477. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/clear_constance.py +0 -0
  478. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/create_token.py +0 -0
  479. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/generate.py +0 -0
  480. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/list_urls.py +0 -0
  481. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/migrate_all.py +0 -0
  482. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/migrator.py +0 -0
  483. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/rundramatiq.py +0 -0
  484. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/runserver_ngrok.py +0 -0
  485. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/script.py +0 -0
  486. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/show_config.py +0 -0
  487. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/show_urls.py +0 -0
  488. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/superuser.py +0 -0
  489. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/task_clear.py +0 -0
  490. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/task_status.py +0 -0
  491. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/test_email.py +0 -0
  492. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/test_telegram.py +0 -0
  493. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/test_twilio.py +0 -0
  494. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/tree.py +0 -0
  495. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/validate_config.py +0 -0
  496. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/README.md +0 -0
  497. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/__init__.py +0 -0
  498. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/pagination.py +0 -0
  499. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/public_endpoints.py +0 -0
  500. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/user_activity.py +0 -0
  501. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/__init__.py +0 -0
  502. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/api.py +0 -0
  503. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/base.py +0 -0
  504. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/cache.py +0 -0
  505. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/cfg.py +0 -0
  506. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/constance.py +0 -0
  507. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/cors.py +0 -0
  508. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/database.py +0 -0
  509. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/drf.py +0 -0
  510. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/email.py +0 -0
  511. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/environment.py +0 -0
  512. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/jwt.py +0 -0
  513. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/limits.py +0 -0
  514. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/logging.py +0 -0
  515. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/ngrok.py +0 -0
  516. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/revolution.py +0 -0
  517. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/security.py +0 -0
  518. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/services.py +0 -0
  519. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/__init__.py +0 -0
  520. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_email.py +0 -0
  521. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_health.py +0 -0
  522. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_import_export/README.md +0 -0
  523. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_import_export/__init__.py +0 -0
  524. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/README.md +0 -0
  525. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/__init__.py +0 -0
  526. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/example.py +0 -0
  527. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/__init__.py +0 -0
  528. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/cache.py +0 -0
  529. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/client.py +0 -0
  530. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/costs.py +0 -0
  531. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/extractor.py +0 -0
  532. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/models.py +0 -0
  533. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/models_cache.py +0 -0
  534. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/tokenizer.py +0 -0
  535. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/translator/__init__.py +0 -0
  536. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/translator/cache.py +0 -0
  537. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/translator/translator.py +0 -0
  538. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_logger.py +0 -0
  539. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_ngrok.py +0 -0
  540. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_tasks.py +0 -0
  541. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_telegram.py +0 -0
  542. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/README.md +0 -0
  543. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/__init__.py +0 -0
  544. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/exceptions.py +0 -0
  545. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/models.py +0 -0
  546. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/sendgrid_service.py +0 -0
  547. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/service.py +0 -0
  548. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/simple_service.py +0 -0
  549. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/templates/guide.md +0 -0
  550. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/templates/sendgrid_otp_email.html +0 -0
  551. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/templates/sendgrid_test_data.json +0 -0
  552. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/twilio_service.py +0 -0
  553. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/__init__.py +0 -0
  554. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/__init__.py +0 -0
  555. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/actions.py +0 -0
  556. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/base.py +0 -0
  557. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/charts.py +0 -0
  558. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/commands.py +0 -0
  559. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/main.py +0 -0
  560. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/revolution.py +0 -0
  561. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/statistics.py +0 -0
  562. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/system.py +0 -0
  563. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/users.py +0 -0
  564. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/dashboard.py +0 -0
  565. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/README.md +0 -0
  566. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/__init__.py +0 -0
  567. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/constants.py +0 -0
  568. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/generate_icons.py +0 -0
  569. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/__init__.py +0 -0
  570. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/config.py +0 -0
  571. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/dashboard.py +0 -0
  572. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/dropdown.py +0 -0
  573. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/navigation.py +0 -0
  574. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/tabs.py +0 -0
  575. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models.py +0 -0
  576. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/system_monitor.py +0 -0
  577. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/tailwind.py +0 -0
  578. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/utils.py +0 -0
  579. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/dramatiq_setup.py +0 -0
  580. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/logger.py +0 -0
  581. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/__init__.py +0 -0
  582. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/exceptions.py +0 -0
  583. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/modules.py +0 -0
  584. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/services.py +0 -0
  585. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/third_party.py +0 -0
  586. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/routing/__init__.py +0 -0
  587. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/routing/callbacks.py +0 -0
  588. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/routing/routers.py +0 -0
  589. {django_cfg-1.2.23/src/django_cfg/templatetags → django_cfg-1.2.27/src/django_cfg/template_archive}/__init__.py +0 -0
  590. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/__init__.py +0 -0
  591. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/action_grid.html +0 -0
  592. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/card.html +0 -0
  593. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/data_table.html +0 -0
  594. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/metric_card.html +0 -0
  595. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/modal.html +0 -0
  596. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/progress_bar.html +0 -0
  597. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/section_header.html +0 -0
  598. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/stat_item.html +0 -0
  599. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/stats_grid.html +0 -0
  600. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/status_badge.html +0 -0
  601. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/user_avatar.html +0 -0
  602. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/change_list.html +0 -0
  603. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/default_value.html +0 -0
  604. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/fieldset_header.html +0 -0
  605. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/results_list.html +0 -0
  606. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/setting_row.html +0 -0
  607. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/table_headers.html +0 -0
  608. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/import_export/change_list_export.html +0 -0
  609. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/import_export/change_list_import.html +0 -0
  610. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/import_export/change_list_import_export.html +0 -0
  611. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/index.html +0 -0
  612. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/layouts/dashboard_with_tabs.html +0 -0
  613. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/activity_tracker.html +0 -0
  614. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/charts_section.html +0 -0
  615. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/django_commands.html +0 -0
  616. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/quick_actions.html +0 -0
  617. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/recent_activity.html +0 -0
  618. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/recent_users_table.html +0 -0
  619. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/stats_cards.html +0 -0
  620. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/stats_tiles.html +0 -0
  621. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/system_health.html +0 -0
  622. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/system_metrics.html +0 -0
  623. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/user_permissions.html +0 -0
  624. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/app_stats_tab.html +0 -0
  625. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/commands_tab.html +0 -0
  626. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/overview_tab.html +0 -0
  627. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/stats_tab.html +0 -0
  628. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/users_tab.html +0 -0
  629. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/zones/zones_table.html +0 -0
  630. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/emails/base_email.html +0 -0
  631. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/rest_framework/api.html +0 -0
  632. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templatetags/django_cfg.py +0 -0
  633. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/urls.py +0 -0
  634. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/__init__.py +0 -0
  635. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/path_resolution.py +0 -0
  636. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/smart_defaults.py +0 -0
  637. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/toolkit.py +0 -0
  638. {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/version_check.py +0 -0
@@ -31,7 +31,7 @@ coverage.xml
31
31
  .pytest_cache/
32
32
  .ruff_cache
33
33
  cover/
34
- /.benchmarks*
34
+ .benchmarks*
35
35
 
36
36
  # Environments
37
37
  .env
@@ -0,0 +1,57 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.2.25] - 2025-09-24
9
+
10
+ ### Added
11
+ - **Payment System Enhancements**: Unified payment provider configurations
12
+ - New `PaymentsConfig` model with provider-specific settings
13
+ - Enhanced validation utilities for API keys and subscription access
14
+ - Improved webhook handling and reliability
15
+ - Support for multiple payment providers (NowPayments, Cryptomus, etc.)
16
+ - **Template System**: Enhanced project template management
17
+ - Improved template extraction and project name replacement
18
+ - Better integration with CLI `create-project` command
19
+ - More reliable template archiving system
20
+
21
+ ### Changed
22
+ - **Project Structure**: Reorganized template location
23
+ - Moved Django sample project to `examples/django_sample`
24
+ - Improved template packaging for better distribution
25
+ - **Dependencies**: Updated dependency management
26
+ - Better version constraint handling
27
+ - Improved package compatibility
28
+
29
+ ### Fixed
30
+ - **Payment Validation**: Enhanced security for payment processing
31
+ - Improved API key validation
32
+ - Better webhook verification
33
+ - Fixed subscription access control issues
34
+ - **CLI Tools**: Improved reliability of project creation
35
+ - Fixed template extraction issues
36
+ - Better error handling for project setup
37
+ - Improved project name replacement logic
38
+
39
+ ### Security
40
+ - **Payment Processing**: Enhanced security measures
41
+ - Stronger API key validation
42
+ - Improved webhook verification
43
+ - Better access control for subscription features
44
+
45
+ ## [Previous Versions]
46
+
47
+ ### [1.2.24] and earlier
48
+ - Core Django-CFG functionality
49
+ - Basic payment provider support
50
+ - Configuration management system
51
+ - CLI tools for project creation
52
+ - Health monitoring modules
53
+ - Database and Redis integration
54
+
55
+ ---
56
+
57
+ **Note**: This changelog focuses on user-facing features and API changes in the Django-CFG package.
@@ -0,0 +1,145 @@
1
+ # 🤝 Contributing to Django-CFG
2
+
3
+ Thank you for your interest in contributing to Django-CFG! This project aims to make Django configuration simple, type-safe, and developer-friendly.
4
+
5
+ ## 🚀 Quick Start
6
+
7
+ ### Development Setup
8
+
9
+ 1. **Clone the repository**
10
+ ```bash
11
+ git clone https://github.com/markolofsen/django-cfg.git
12
+ cd django-cfg
13
+ ```
14
+
15
+ 2. **Install dependencies**
16
+ ```bash
17
+ poetry install --extras dev
18
+ ```
19
+
20
+ 3. **Run tests**
21
+ ```bash
22
+ poetry run pytest
23
+ ```
24
+
25
+ ## 📋 Development Workflow
26
+
27
+ ### Making Changes
28
+
29
+ 1. **Create a feature branch**
30
+ ```bash
31
+ git checkout -b feature/your-feature-name
32
+ ```
33
+
34
+ 2. **Make your changes**
35
+ - Follow the existing code style
36
+ - Add tests for new features
37
+ - Update documentation if needed
38
+
39
+ 3. **Test your changes**
40
+ ```bash
41
+ # Run all tests
42
+ poetry run pytest
43
+
44
+ # Run with coverage
45
+ poetry run pytest --cov=django_cfg
46
+
47
+ # Run linting
48
+ poetry run black src/ tests/
49
+ poetry run isort src/ tests/
50
+ poetry run flake8 src/ tests/
51
+ ```
52
+
53
+ 4. **Update version and generate requirements**
54
+ ```bash
55
+ # Use our development CLI
56
+ poetry run python scripts/dev_cli.py
57
+
58
+ # Or manually bump version
59
+ poetry run python scripts/version_manager.py bump --bump-type patch
60
+ ```
61
+
62
+ ### Code Style
63
+
64
+ - **Python**: Follow PEP 8, use Black for formatting
65
+ - **Type Hints**: Required for all public APIs
66
+ - **Documentation**: Add docstrings for public methods
67
+ - **Tests**: Write tests for new features and bug fixes
68
+
69
+ ## 🧪 Testing
70
+
71
+ ### Running Tests
72
+
73
+ ```bash
74
+ # All tests
75
+ poetry run pytest
76
+
77
+ # Specific test file
78
+ poetry run pytest tests/test_basic_config.py
79
+
80
+ # With coverage report
81
+ poetry run pytest --cov=django_cfg --cov-report=html
82
+ ```
83
+
84
+ ### Writing Tests
85
+
86
+ - Place tests in the `tests/` directory
87
+ - Use descriptive test names
88
+ - Test both success and error cases
89
+ - Mock external dependencies
90
+
91
+ ## 📝 Pull Request Process
92
+
93
+ 1. **Ensure tests pass**
94
+ ```bash
95
+ poetry run pytest
96
+ ```
97
+
98
+ 2. **Update documentation** if your change affects the public API
99
+
100
+ 3. **Create a pull request** with:
101
+ - Clear description of changes
102
+ - Link to any related issues
103
+ - Screenshots for UI changes
104
+
105
+ 4. **Code review** - address any feedback from maintainers
106
+
107
+ ## 🐛 Bug Reports
108
+
109
+ When reporting bugs, please include:
110
+
111
+ - Django-CFG version
112
+ - Django version
113
+ - Python version
114
+ - Minimal code example
115
+ - Full error traceback
116
+
117
+ ## 💡 Feature Requests
118
+
119
+ For new features:
120
+
121
+ - Check existing issues first
122
+ - Describe the use case clearly
123
+ - Provide code examples if possible
124
+ - Consider backward compatibility
125
+
126
+ ## 📚 Documentation
127
+
128
+ Documentation improvements are always welcome:
129
+
130
+ - Fix typos and grammar
131
+ - Add examples and use cases
132
+ - Improve API documentation
133
+ - Update README with new features
134
+
135
+ ## ⚖️ License
136
+
137
+ By contributing, you agree that your contributions will be licensed under the MIT License.
138
+
139
+ ## 🙏 Recognition
140
+
141
+ All contributors will be recognized in our README and release notes.
142
+
143
+ ---
144
+
145
+ **Questions?** Open an issue or start a discussion. We're here to help! 🚀
@@ -1,7 +1,8 @@
1
- # Exclude all markdown files except main README.md and CHANGELOG.md
1
+ # Exclude all markdown files except main README.md, CHANGELOG.md and CONTRIBUTING.md
2
2
  recursive-exclude * *.md
3
3
  include README.md
4
4
  include CHANGELOG.md
5
+ include CONTRIBUTING.md
5
6
  include LICENSE
6
7
  include MANIFEST.in
7
8
  include requirements*.txt
@@ -15,11 +16,13 @@ recursive-exclude * __pycache__
15
16
  recursive-exclude * *.py[co]
16
17
 
17
18
  # Include template archive
18
- include src/django_cfg/archive/django_sample.zip
19
+ recursive-include src/django_cfg/template_archive *
19
20
 
20
21
  # Exclude development files and directories
21
22
  recursive-exclude @* *
22
- recursive-exclude scripts *
23
+ recursive-exclude devops *
24
+ recursive-exclude opensource *
25
+ recursive-exclude examples *
23
26
  recursive-exclude tests *
24
27
  recursive-exclude htmlcov *
25
28
  exclude package.json
@@ -1,12 +1,12 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: django-cfg
3
- Version: 1.2.23
3
+ Version: 1.2.27
4
4
  Summary: 🚀 Next-gen Django configuration: type-safety, AI features, blazing-fast setup, and automated best practices — all in one.
5
5
  Project-URL: Homepage, https://djangocfg.com
6
6
  Project-URL: Documentation, https://docs.djangocfg.com
7
- Project-URL: Repository, https://github.com/reformsai/django-cfg
8
- Project-URL: Issues, https://github.com/reformsai/django-cfg/issues
9
- Project-URL: Changelog, https://github.com/reformsai/django-cfg/blob/main/CHANGELOG.md
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
10
  Author-email: Django-CFG Team <info@djangocfg.com>
11
11
  Maintainer-email: Django-CFG Team <info@djangocfg.com>
12
12
  License: MIT
@@ -64,6 +64,7 @@ Requires-Dist: ngrok>=1.5.1; python_version >= '3.12'
64
64
  Requires-Dist: openai<2.0,>=1.107.0
65
65
  Requires-Dist: pgvector<1.0,>=0.4.0
66
66
  Requires-Dist: psycopg[binary,pool]<4.0,>=3.2.0
67
+ Requires-Dist: pycoingecko<4.0.0,>=3.2.0
67
68
  Requires-Dist: pydantic-ai<2.0,>=1.0.10
68
69
  Requires-Dist: pydantic-yaml<2.0,>=1.6.0
69
70
  Requires-Dist: pydantic<3.0,>=2.11.0
@@ -76,10 +77,12 @@ Requires-Dist: redis<7.0,>=6.4.0
76
77
  Requires-Dist: requests<3.0,>=2.32.0
77
78
  Requires-Dist: rich<15.0,>=14.0.0
78
79
  Requires-Dist: sendgrid<7.0,>=6.12.0
80
+ Requires-Dist: tenacity<10.0.0,>=9.1.2
79
81
  Requires-Dist: tiktoken<1.0,>=0.11.0
80
82
  Requires-Dist: toml<0.11.0,>=0.10.2
81
83
  Requires-Dist: twilio<10.0,>=9.8.0
82
84
  Requires-Dist: whitenoise<7.0,>=6.8.0
85
+ Requires-Dist: yfinance<0.3.0,>=0.2.66
83
86
  Provides-Extra: dev
84
87
  Requires-Dist: black<26.0,>=25.9; extra == 'dev'
85
88
  Requires-Dist: build<2.0,>=1.3; extra == 'dev'
@@ -206,6 +209,7 @@ python manage.py runserver
206
209
  | **🎫 Support System** | ❌ Build from scratch | ❌ Build from scratch | ❌ Build from scratch | ✅ **Enterprise ticketing** |
207
210
  | **👤 User Management** | 🟡 Basic User model | 🟡 Basic auth | ❌ Manual auth | ✅ **OTP + SMS + Profiles** |
208
211
  | **📧 Communication** | 🟡 Basic email | ❌ Manual setup | ❌ Manual setup | ✅ **Email + SMS + Telegram** |
212
+ | **💱 Currency Conversion** | ❌ Manual API integration | ❌ Manual API integration | ❌ Manual API integration | ✅ **Multi-threading 14K+ currencies** |
209
213
  | **🔄 Background Tasks** | 🟡 Manual Celery | 🟡 Manual Celery | ❌ Manual setup | ✅ **Built-in Dramatiq** |
210
214
  | **🌐 Webhook Testing** | 🟡 Manual ngrok | 🟡 Manual ngrok | 🟡 Manual ngrok | ✅ **Integrated ngrok** |
211
215
  | **🚀 Production Deploy** | 🟡 Manual config | 🟡 Manual config | 🟡 Manual config | ✅ **Zero-config Docker** |
@@ -562,7 +566,7 @@ docker-compose up -d
562
566
  ### **🚀 Enterprise Features**
563
567
  - [**Built-in Applications**](https://docs.djangocfg.com/features/built-in-apps/accounts) - User management, support, CRM
564
568
  - [**Maintenance Management**](https://docs.djangocfg.com/features/built-in-apps/maintenance) - Multi-site Cloudflare maintenance
565
- - [**Modular System**](https://docs.djangocfg.com/features/modules/overview) - Email, SMS, LLM, currency modules
569
+ - [**Modular System**](https://docs.djangocfg.com/features/modules/overview) - Email, SMS, LLM, **currency conversion** modules
566
570
  - [**Third-party Integrations**](https://docs.djangocfg.com/features/integrations/patterns) - Dramatiq, Twilio, ngrok
567
571
 
568
572
  ### **🤖 AI & Automation**
@@ -1023,4 +1027,4 @@ Django-CFG is built on the shoulders of giants:
1023
1027
 
1024
1028
  ## 🔍 SEO Keywords
1025
1029
 
1026
- **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 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**
1030
+ **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**
@@ -60,6 +60,7 @@ python manage.py runserver
60
60
  | **🎫 Support System** | ❌ Build from scratch | ❌ Build from scratch | ❌ Build from scratch | ✅ **Enterprise ticketing** |
61
61
  | **👤 User Management** | 🟡 Basic User model | 🟡 Basic auth | ❌ Manual auth | ✅ **OTP + SMS + Profiles** |
62
62
  | **📧 Communication** | 🟡 Basic email | ❌ Manual setup | ❌ Manual setup | ✅ **Email + SMS + Telegram** |
63
+ | **💱 Currency Conversion** | ❌ Manual API integration | ❌ Manual API integration | ❌ Manual API integration | ✅ **Multi-threading 14K+ currencies** |
63
64
  | **🔄 Background Tasks** | 🟡 Manual Celery | 🟡 Manual Celery | ❌ Manual setup | ✅ **Built-in Dramatiq** |
64
65
  | **🌐 Webhook Testing** | 🟡 Manual ngrok | 🟡 Manual ngrok | 🟡 Manual ngrok | ✅ **Integrated ngrok** |
65
66
  | **🚀 Production Deploy** | 🟡 Manual config | 🟡 Manual config | 🟡 Manual config | ✅ **Zero-config Docker** |
@@ -416,7 +417,7 @@ docker-compose up -d
416
417
  ### **🚀 Enterprise Features**
417
418
  - [**Built-in Applications**](https://docs.djangocfg.com/features/built-in-apps/accounts) - User management, support, CRM
418
419
  - [**Maintenance Management**](https://docs.djangocfg.com/features/built-in-apps/maintenance) - Multi-site Cloudflare maintenance
419
- - [**Modular System**](https://docs.djangocfg.com/features/modules/overview) - Email, SMS, LLM, currency modules
420
+ - [**Modular System**](https://docs.djangocfg.com/features/modules/overview) - Email, SMS, LLM, **currency conversion** modules
420
421
  - [**Third-party Integrations**](https://docs.djangocfg.com/features/integrations/patterns) - Dramatiq, Twilio, ngrok
421
422
 
422
423
  ### **🤖 AI & Automation**
@@ -877,4 +878,4 @@ Django-CFG is built on the shoulders of giants:
877
878
 
878
879
  ## 🔍 SEO Keywords
879
880
 
880
- **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 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**
881
+ **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**
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
4
4
 
5
5
  [project]
6
6
  name = "django-cfg"
7
- version = "1.2.23"
7
+ version = "1.2.27"
8
8
  description = "🚀 Next-gen Django configuration: type-safety, AI features, blazing-fast setup, and automated best practices — all in one."
9
9
  readme = "README.md"
10
10
  license = {text = "MIT"}
@@ -122,6 +122,9 @@ dependencies = [
122
122
 
123
123
  # Production dependencies
124
124
  "django-revolution>=1.0.43,<2.0",
125
+ "yfinance (>=0.2.66,<0.3.0)",
126
+ "pycoingecko (>=3.2.0,<4.0.0)",
127
+ "tenacity (>=9.1.2,<10.0.0)",
125
128
  ]
126
129
 
127
130
  [project.optional-dependencies]
@@ -224,9 +227,9 @@ full = [
224
227
  [project.urls]
225
228
  Homepage = "https://djangocfg.com"
226
229
  Documentation = "https://docs.djangocfg.com"
227
- Repository = "https://github.com/reformsai/django-cfg"
228
- Issues = "https://github.com/reformsai/django-cfg/issues"
229
- Changelog = "https://github.com/reformsai/django-cfg/blob/main/CHANGELOG.md"
230
+ Repository = "https://github.com/markolofsen/django-cfg"
231
+ Issues = "https://github.com/markolofsen/django-cfg/issues"
232
+ Changelog = "https://github.com/markolofsen/django-cfg/blob/main/CHANGELOG.md"
230
233
 
231
234
  [project.scripts]
232
235
  django-cfg = "django_cfg.cli.main:main"
@@ -234,8 +237,10 @@ django-cfg = "django_cfg.cli.main:main"
234
237
  [tool.hatch.build.targets.wheel]
235
238
  packages = ["src/django_cfg"]
236
239
  exclude = [
237
- "django_sample", # Exclude django_sample directory (use archive instead)
238
- "scripts/", # Exclude scripts from wheel package
240
+ "examples/", # Exclude examples directory (use archive instead)
241
+ "scripts/", # Exclude scripts from wheel package
242
+ "opensource/", # Exclude opensource from wheel package
243
+ "devops/", # Exclude devops from wheel package
239
244
  ]
240
245
 
241
246
  [tool.hatch.metadata]
@@ -244,19 +249,23 @@ allow-direct-references = true
244
249
  [tool.hatch.build.targets.sdist]
245
250
  include = [
246
251
  "src/django_cfg",
252
+ "src/django_cfg/template_archive/*", # Include template archive files
247
253
  "README.md",
248
- "LICENSE",
254
+ "LICENSE",
249
255
  "CHANGELOG.md",
256
+ "CONTRIBUTING.md",
250
257
  "requirements*.txt",
251
258
  "MANIFEST.in",
252
259
  ]
253
260
  exclude = [
254
261
  "@*",
262
+ "devops", # Exclude devops directory
263
+ "opensource", # Exclude opensource directory
264
+ "examples", # Exclude examples (use archive instead)
255
265
  "tests",
256
266
  "scripts", # Exclude development scripts
257
267
  "*.log",
258
268
  ".env*",
259
- "django_sample", # Exclude django_sample directory (use archive instead)
260
269
  ]
261
270
 
262
271
  # Black configuration
@@ -0,0 +1 @@
1
+ # Development dependencies for django-cfg (includes main deps)\n# Generated automatically from pyproject.toml\n# Do not edit manually!\n\nPyYAML>=6.0,<7.0\nbeautifulsoup4>=4.13.0,<5.0\nblack>=25.9,<26.0\nbuild>=1.3,<2.0\ncachetools>=5.3.0,<7.0\nclick>=8.2.0,<9.0\ncloudflare>=4.3.0,<5.0\ncolorlog>=6.9.0,<7.0\ncoolname>=2.2.0,<3.0\ncurrencyconverter>=0.18.0,<1.0\ndj-database-url>=3.0.0,<4.0\ndjango-admin-rangefilter>=0.13.0,<1.0\ndjango-constance>=4.3.0,<5.0\ndjango-cors-headers>=4.7.0,<5.0\ndjango-dramatiq>=0.14.0,<1.0\ndjango-extensions>=4.1.0,<5.0\ndjango-filter>=25.0,<26.0\ndjango-import-export>=4.3.0,<5.0\ndjango-json-widget>=2.0.0,<3.0\ndjango-ratelimit (>=4.1.0,<5.0.0)\ndjango-redis>=6.0.0,<7.0\ndjango-revolution>=1.0.43,<2.0\ndjango-unfold>=0.64.0,<1.0\ndjango>=5.2,<6.0\ndjangorestframework-simplejwt>=5.5.0,<6.0\ndjangorestframework-simplejwt[token-blacklist]>=5.5.0,<6.0\ndjangorestframework>=3.16.0,<4.0\ndramatiq[redis]>=1.18.0,<2.0\ndrf-nested-routers>=0.94.0,<1.0\ndrf-spectacular-sidecar>=2025.8.0,<2026.0\ndrf-spectacular>=0.28.0,<1.0\nfactory-boy>=3.3,<4.0\nflake8>=6.0.0,<8.0\nhiredis>=2.0.0,<4.0\nisort>=6.0,<7.0\nloguru>=0.7.0,<1.0\nlxml>=6.0.0,<7.0\nmkdocs-material>=9.6,<10.0\nmkdocs>=1.6,<2.0\nmkdocstrings[python]>=0.30,<1.0\nmypy>=1.18,<2.0\nngrok>=1.5.1; python_version>='3.12'\nopenai>=1.107.0,<2.0\npgvector>=0.4.0,<1.0\npre-commit>=4.3,<5.0\npsycopg[binary,pool]>=3.2.0,<4.0\npyTelegramBotAPI>=4.28.0,<5.0\npycoingecko (>=3.2.0,<4.0.0)\npydantic-ai>=1.0.10,<2.0\npydantic-yaml>=1.6.0,<2.0\npydantic>=2.11.0,<3.0\npydantic[email]>=2.11.0,<3.0\npytest-cov>=7.0,<8.0\npytest-django>=4.11,<5.0\npytest-mock>=3.15,<4.0\npytest>=8.4,<9.0\npython-json-logger>=3.3.0,<4.0\nquestionary>=2.1.0,<3.0\nquestionary>=2.1.0,<3.0\nredis>=6.4.0,<7.0\nredis>=6.4.0,<7.0\nrequests>=2.32.0,<3.0\nrich>=13.0.0,<15.0\nrich>=14.0.0,<15.0\nsendgrid>=6.12.0,<7.0\ntenacity (>=9.1.2,<10.0.0)\ntiktoken>=0.11.0,<1.0\ntoml (>=0.10.2,<0.11.0)\ntomlkit>=0.13.3,<1.0\ntwilio>=9.8.0,<10.0\ntwine>=6.2,<7.0\nwhitenoise>=6.8.0,<7.0\nyfinance (>=0.2.66,<0.3.0)\n
@@ -0,0 +1 @@
1
+ # Test dependencies for django-cfg (includes main deps)\n# Generated automatically from pyproject.toml\n# Do not edit manually!\n\nPyYAML>=6.0,<7.0\nbeautifulsoup4>=4.13.0,<5.0\ncachetools>=5.3.0,<7.0\nclick>=8.2.0,<9.0\ncloudflare>=4.3.0,<5.0\ncolorlog>=6.9.0,<7.0\ncoolname>=2.2.0,<3.0\ncurrencyconverter>=0.18.0,<1.0\ndj-database-url>=3.0.0,<4.0\ndjango-admin-rangefilter>=0.13.0,<1.0\ndjango-constance>=4.3.0,<5.0\ndjango-cors-headers>=4.7.0,<5.0\ndjango-dramatiq>=0.14.0,<1.0\ndjango-extensions>=4.1.0,<5.0\ndjango-filter>=25.0,<26.0\ndjango-import-export>=4.3.0,<5.0\ndjango-json-widget>=2.0.0,<3.0\ndjango-ratelimit (>=4.1.0,<5.0.0)\ndjango-redis>=6.0.0,<7.0\ndjango-revolution>=1.0.43,<2.0\ndjango-unfold>=0.64.0,<1.0\ndjango>=5.2,<6.0\ndjangorestframework-simplejwt>=5.5.0,<6.0\ndjangorestframework-simplejwt[token-blacklist]>=5.5.0,<6.0\ndjangorestframework>=3.16.0,<4.0\ndramatiq[redis]>=1.18.0,<2.0\ndrf-nested-routers>=0.94.0,<1.0\ndrf-spectacular-sidecar>=2025.8.0,<2026.0\ndrf-spectacular>=0.28.0,<1.0\nfactory-boy>=3.3,<4.0\nhiredis>=2.0.0,<4.0\nloguru>=0.7.0,<1.0\nlxml>=6.0.0,<7.0\nngrok>=1.5.1; python_version>='3.12'\nopenai>=1.107.0,<2.0\npgvector>=0.4.0,<1.0\npsycopg[binary,pool]>=3.2.0,<4.0\npyTelegramBotAPI>=4.28.0,<5.0\npycoingecko (>=3.2.0,<4.0.0)\npydantic-ai>=1.0.10,<2.0\npydantic-yaml>=1.6.0,<2.0\npydantic>=2.11.0,<3.0\npydantic[email]>=2.11.0,<3.0\npytest-cov>=7.0,<8.0\npytest-django>=4.11,<5.0\npytest-mock>=3.15,<4.0\npytest-xdist>=3.8,<4.0\npytest>=8.4,<9.0\npython-json-logger>=3.3.0,<4.0\nquestionary>=2.1.0,<3.0\nredis>=6.4.0,<7.0\nrequests>=2.32.0,<3.0\nrich>=14.0.0,<15.0\nsendgrid>=6.12.0,<7.0\ntenacity (>=9.1.2,<10.0.0)\ntiktoken>=0.11.0,<1.0\ntoml (>=0.10.2,<0.11.0)\ntwilio>=9.8.0,<10.0\nwhitenoise>=6.8.0,<7.0\nyfinance (>=0.2.66,<0.3.0)\n
@@ -0,0 +1 @@
1
+ # Main dependencies for django-cfg\n# Generated automatically from pyproject.toml\n# Do not edit manually!\n\nPyYAML>=6.0,<7.0\nbeautifulsoup4>=4.13.0,<5.0\ncachetools>=5.3.0,<7.0\nclick>=8.2.0,<9.0\ncloudflare>=4.3.0,<5.0\ncolorlog>=6.9.0,<7.0\ncoolname>=2.2.0,<3.0\ncurrencyconverter>=0.18.0,<1.0\ndj-database-url>=3.0.0,<4.0\ndjango-admin-rangefilter>=0.13.0,<1.0\ndjango-constance>=4.3.0,<5.0\ndjango-cors-headers>=4.7.0,<5.0\ndjango-dramatiq>=0.14.0,<1.0\ndjango-extensions>=4.1.0,<5.0\ndjango-filter>=25.0,<26.0\ndjango-import-export>=4.3.0,<5.0\ndjango-json-widget>=2.0.0,<3.0\ndjango-ratelimit (>=4.1.0,<5.0.0)\ndjango-redis>=6.0.0,<7.0\ndjango-revolution>=1.0.43,<2.0\ndjango-unfold>=0.64.0,<1.0\ndjangorestframework-simplejwt>=5.5.0,<6.0\ndjangorestframework-simplejwt[token-blacklist]>=5.5.0,<6.0\ndjangorestframework>=3.16.0,<4.0\ndramatiq[redis]>=1.18.0,<2.0\ndrf-nested-routers>=0.94.0,<1.0\ndrf-spectacular-sidecar>=2025.8.0,<2026.0\ndrf-spectacular>=0.28.0,<1.0\nhiredis>=2.0.0,<4.0\nloguru>=0.7.0,<1.0\nlxml>=6.0.0,<7.0\nngrok>=1.5.1; python_version>='3.12'\nopenai>=1.107.0,<2.0\npgvector>=0.4.0,<1.0\npsycopg[binary,pool]>=3.2.0,<4.0\npyTelegramBotAPI>=4.28.0,<5.0\npycoingecko (>=3.2.0,<4.0.0)\npydantic-ai>=1.0.10,<2.0\npydantic-yaml>=1.6.0,<2.0\npydantic>=2.11.0,<3.0\npydantic[email]>=2.11.0,<3.0\npython-json-logger>=3.3.0,<4.0\nquestionary>=2.1.0,<3.0\nredis>=6.4.0,<7.0\nrequests>=2.32.0,<3.0\nrich>=14.0.0,<15.0\nsendgrid>=6.12.0,<7.0\ntenacity (>=9.1.2,<10.0.0)\ntiktoken>=0.11.0,<1.0\ntoml (>=0.10.2,<0.11.0)\ntwilio>=9.8.0,<10.0\nwhitenoise>=6.8.0,<7.0\nyfinance (>=0.2.66,<0.3.0)\n
@@ -32,7 +32,7 @@ Example:
32
32
  default_app_config = "django_cfg.apps.DjangoCfgConfig"
33
33
 
34
34
  # Version information
35
- __version__ = "1.2.23"
35
+ __version__ = "1.2.27"
36
36
  __license__ = "MIT"
37
37
 
38
38
  # Import registry for organized lazy loading
@@ -23,7 +23,7 @@ User = get_user_model()
23
23
 
24
24
 
25
25
  @dramatiq.actor(
26
- queue_name="knowledge",
26
+ queue_name="knowbase",
27
27
  max_retries=3,
28
28
  min_backoff=1000, # 1 second
29
29
  max_backoff=30000, # 30 seconds
@@ -96,7 +96,7 @@ def process_archive_task(archive_id: str, user_id: str) -> bool:
96
96
 
97
97
 
98
98
  @dramatiq.actor(
99
- queue_name="knowledge",
99
+ queue_name="knowbase",
100
100
  max_retries=2,
101
101
  min_backoff=2000, # 2 seconds
102
102
  max_backoff=60000, # 60 seconds
@@ -154,7 +154,7 @@ def vectorize_archive_items_task(archive_id: str, user_id: str) -> int:
154
154
 
155
155
 
156
156
  @dramatiq.actor(
157
- queue_name="knowledge",
157
+ queue_name="knowbase",
158
158
  max_retries=1,
159
159
  priority=2
160
160
  )
@@ -193,7 +193,7 @@ def cleanup_failed_archives_task(days_old: int = 7) -> int:
193
193
 
194
194
 
195
195
  @dramatiq.actor(
196
- queue_name="knowledge",
196
+ queue_name="knowbase",
197
197
  max_retries=1,
198
198
  priority=1
199
199
  )
@@ -239,7 +239,7 @@ def generate_archive_statistics_task(user_id: str) -> Dict[str, Any]:
239
239
 
240
240
 
241
241
  @dramatiq.actor(
242
- queue_name="knowledge",
242
+ queue_name="knowbase",
243
243
  max_retries=1,
244
244
  priority=1
245
245
  )
@@ -297,7 +297,7 @@ def archive_health_check_task() -> Dict[str, Any]:
297
297
 
298
298
  # Test task for development
299
299
  @dramatiq.actor(
300
- queue_name="knowledge",
300
+ queue_name="knowbase",
301
301
  max_retries=0,
302
302
  priority=1
303
303
  )
@@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
20
20
 
21
21
 
22
22
  @dramatiq.actor(
23
- queue_name="knowledge",
23
+ queue_name="knowbase",
24
24
  max_retries=3,
25
25
  min_backoff=1000, # 1 second
26
26
  max_backoff=30000, # 30 seconds
@@ -239,7 +239,7 @@ def generate_embeddings_batch(
239
239
 
240
240
 
241
241
  @dramatiq.actor(
242
- queue_name="knowledge",
242
+ queue_name="knowbase",
243
243
  max_retries=2,
244
244
  priority=7 # Higher priority for reprocessing
245
245
  )
@@ -291,7 +291,7 @@ def reprocess_document_chunks(
291
291
 
292
292
 
293
293
  @dramatiq.actor(
294
- queue_name="knowledge",
294
+ queue_name="knowbase",
295
295
  max_retries=2,
296
296
  priority=4
297
297
  )
@@ -16,7 +16,7 @@ logger = logging.getLogger(__name__)
16
16
 
17
17
 
18
18
  @dramatiq.actor(
19
- queue_name="knowledge",
19
+ queue_name="knowbase",
20
20
  max_retries=3,
21
21
  min_backoff=1000, # 1 second
22
22
  max_backoff=30000, # 30 seconds
@@ -158,7 +158,7 @@ def process_external_data_async(
158
158
 
159
159
 
160
160
  @dramatiq.actor(
161
- queue_name="knowledge",
161
+ queue_name="knowbase",
162
162
  max_retries=2,
163
163
  min_backoff=5000, # 5 seconds
164
164
  max_backoff=60000, # 60 seconds
@@ -18,7 +18,7 @@ logger = logging.getLogger(__name__)
18
18
 
19
19
 
20
20
  @dramatiq.actor(
21
- queue_name="knowledge",
21
+ queue_name="knowbase",
22
22
  max_retries=1,
23
23
  priority=2
24
24
  )
@@ -72,7 +72,7 @@ def cleanup_old_embeddings(days_old: int = 90) -> Dict[str, Any]:
72
72
 
73
73
 
74
74
  @dramatiq.actor(
75
- queue_name="knowledge",
75
+ queue_name="knowbase",
76
76
  max_retries=1,
77
77
  priority=1
78
78
  )
@@ -119,7 +119,7 @@ def optimize_vector_indexes() -> Dict[str, Any]:
119
119
 
120
120
 
121
121
  @dramatiq.actor(
122
- queue_name="knowledge",
122
+ queue_name="knowbase",
123
123
  max_retries=1,
124
124
  priority=1
125
125
  )
@@ -0,0 +1,65 @@
1
+ """
2
+ Universal Payment Configuration.
3
+
4
+ Modular configuration system for the payments module.
5
+ """
6
+
7
+ # Core configuration classes
8
+ from .settings import PaymentsSettings
9
+
10
+ # Import unified settings from models.payments
11
+ from django_cfg.models.payments import (
12
+ SecuritySettings,
13
+ RateLimitSettings,
14
+ NotificationSettings,
15
+ SubscriptionSettings
16
+ )
17
+
18
+ # Provider configurations - import from models.payments
19
+ from django_cfg.models.payments import (
20
+ PaymentProviderConfig,
21
+ NowPaymentsConfig,
22
+ StripeConfig,
23
+ CryptAPIConfig
24
+ )
25
+
26
+ # Local provider configs (additional to models.payments)
27
+ from .providers import CryptomusConfig
28
+
29
+ # Configuration module
30
+ from .module import PaymentsCfgModule
31
+
32
+ # Utility functions
33
+ from .utils import (
34
+ get_payments_config,
35
+ get_provider_config,
36
+ is_payments_enabled
37
+ )
38
+
39
+ # Backwards compatibility exports
40
+ payments_config = PaymentsCfgModule()
41
+
42
+ __all__ = [
43
+ # Core settings
44
+ 'PaymentsSettings',
45
+ 'SecuritySettings',
46
+ 'RateLimitSettings',
47
+ 'NotificationSettings',
48
+ 'SubscriptionSettings',
49
+
50
+ # Provider configurations
51
+ 'PaymentProviderConfig',
52
+ 'NowPaymentsConfig',
53
+ 'StripeConfig',
54
+ 'CryptAPIConfig',
55
+ 'CryptomusConfig',
56
+
57
+ # Configuration module
58
+ 'PaymentsCfgModule',
59
+ 'payments_config',
60
+
61
+ # Utility functions
62
+ 'get_payments_config',
63
+ 'get_provider_config',
64
+ 'is_payments_enabled',
65
+ ]