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.
- {django_cfg-1.2.23 → django_cfg-1.2.27}/.gitignore +1 -1
- django_cfg-1.2.27/CHANGELOG.md +57 -0
- django_cfg-1.2.27/CONTRIBUTING.md +145 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/MANIFEST.in +6 -3
- {django_cfg-1.2.23 → django_cfg-1.2.27}/PKG-INFO +10 -6
- {django_cfg-1.2.23 → django_cfg-1.2.27}/README.md +3 -2
- {django_cfg-1.2.23 → django_cfg-1.2.27}/pyproject.toml +17 -8
- django_cfg-1.2.27/requirements-dev.txt +1 -0
- django_cfg-1.2.27/requirements-test.txt +1 -0
- django_cfg-1.2.27/requirements.txt +1 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/__init__.py +1 -1
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/archive_tasks.py +6 -6
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/document_processing.py +3 -3
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/external_data_tasks.py +2 -2
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/maintenance.py +3 -3
- django_cfg-1.2.27/src/django_cfg/apps/payments/config/__init__.py +65 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/config/module.py +70 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/config/providers.py +28 -16
- django_cfg-1.2.27/src/django_cfg/apps/payments/config/settings.py +96 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/config/utils.py +52 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/management/__init__.py +3 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/README.md +178 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/__init__.py +3 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/currency_stats.py +323 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/populate_currencies.py +246 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/management/commands/update_currencies.py +336 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/managers/currency_manager.py +83 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/api_access.py +33 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/migrations/0001_initial.py +94 -1
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/payments.py +110 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/__init__.py +7 -1
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/balance_service.py +14 -16
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/core/fallback_service.py +432 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/payment_service.py +212 -29
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/subscription_service.py +15 -17
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/internal_types.py +31 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/monitoring/__init__.py +22 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/monitoring/api_schemas.py +222 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/monitoring/provider_health.py +372 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/__init__.py +3 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/cryptapi.py +14 -3
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/providers/cryptomus.py +310 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/registry.py +4 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/__init__.py +34 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/error_handler.py +637 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/payment_notifications.py +342 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/services/security/webhook_validator.py +475 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/api_key_signals.py +10 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/payment_signals.py +3 -2
- django_cfg-1.2.27/src/django_cfg/apps/payments/tasks/__init__.py +12 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/tasks/webhook_processing.py +177 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/__init__.py +7 -4
- django_cfg-1.2.27/src/django_cfg/apps/payments/utils/billing_utils.py +342 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/config_utils.py +2 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/payment_views.py +40 -2
- django_cfg-1.2.27/src/django_cfg/apps/payments/views/webhook_views.py +266 -0
- django_cfg-1.2.27/src/django_cfg/apps/payments/viewsets.py +65 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/README.md +2 -2
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/commands/create_project.py +1 -1
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/commands/info.py +1 -1
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/main.py +1 -1
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/utils.py +5 -5
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/config.py +18 -4
- django_cfg-1.2.27/src/django_cfg/models/payments.py +547 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/tasks.py +51 -2
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/base.py +11 -5
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/README.md +169 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/__init__.py +105 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/clients/__init__.py +11 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/clients/coingecko_client.py +257 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/clients/yfinance_client.py +246 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/__init__.py +42 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/converter.py +169 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/exceptions.py +28 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/core/models.py +54 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/database/__init__.py +25 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/database/database_loader.py +507 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/utils/__init__.py +9 -0
- django_cfg-1.2.27/src/django_cfg/modules/django_currency/utils/cache.py +92 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/core.py +10 -0
- django_cfg-1.2.27/src/django_cfg/template_archive/django_sample.zip +0 -0
- django_cfg-1.2.27/src/django_cfg/templatetags/__init__.py +0 -0
- django_cfg-1.2.23/requirements-dev.txt +0 -74
- django_cfg-1.2.23/requirements-test.txt +0 -61
- django_cfg-1.2.23/requirements.txt +0 -54
- django_cfg-1.2.23/src/django_cfg/apps/agents/examples/__init__.py +0 -3
- django_cfg-1.2.23/src/django_cfg/apps/agents/examples/simple_example.py +0 -161
- django_cfg-1.2.23/src/django_cfg/apps/knowbase/examples/__init__.py +0 -3
- django_cfg-1.2.23/src/django_cfg/apps/knowbase/examples/external_data_usage.py +0 -191
- django_cfg-1.2.23/src/django_cfg/apps/knowbase/mixins/examples/vehicle_model_example.py +0 -199
- django_cfg-1.2.23/src/django_cfg/apps/payments/config/__init__.py +0 -87
- django_cfg-1.2.23/src/django_cfg/apps/payments/config/module.py +0 -162
- django_cfg-1.2.23/src/django_cfg/apps/payments/config/settings.py +0 -136
- django_cfg-1.2.23/src/django_cfg/apps/payments/config/utils.py +0 -198
- django_cfg-1.2.23/src/django_cfg/apps/payments/managers/currency_manager.py +0 -32
- django_cfg-1.2.23/src/django_cfg/modules/django_currency/README.md +0 -334
- django_cfg-1.2.23/src/django_cfg/modules/django_currency/__init__.py +0 -47
- django_cfg-1.2.23/src/django_cfg/modules/django_currency/cache.py +0 -430
- django_cfg-1.2.23/src/django_cfg/modules/django_currency/converter.py +0 -324
- django_cfg-1.2.23/src/django_cfg/modules/django_currency/service.py +0 -277
- {django_cfg-1.2.23 → django_cfg-1.2.27}/LICENSE +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/__models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/activity.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/filters.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/group.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/inlines.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/otp.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/registration_source.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/resources.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/twilio_response.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/admin/user.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/management/commands/test_otp.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/managers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/managers/user_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0002_add_phone_otp_clean.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0003_twilioresponse.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0004_delete_twilioresponse.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0005_twilioresponse.py +0 -0
- {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
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/0007_twilioresponse.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/activity.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/auth.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/choices.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/integrations.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/registration.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/models/user.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/otp.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/profile.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/serializers/webhook.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/services/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/services/activity_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/services/otp_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/base_email.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/base_email.txt +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/otp_email.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/otp_email.txt +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/welcome_email.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/templates/emails/welcome_email.txt +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/utils/auth_email_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/utils/notifications.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/otp.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/profile.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/accounts/views/webhook.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/execution_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/registry_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/admin/toolsets_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/agent.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/dependencies.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/exceptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/core/orchestrator.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/middleware.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/registry.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/integration/signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/commands/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/commands/create_agent.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/management/commands/orchestrator_status.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/execution.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/registry.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/managers/toolsets.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/execution.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/registry.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/models/toolsets.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/patterns/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/patterns/content_agents.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/cache_toolset.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/django_toolset.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/file_toolset.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/toolsets/orm_toolset.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/agents/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/commands/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/commands/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/commands/views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/health/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/health/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/api/health/views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/archive_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/chat_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/document_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/admin/external_data_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/constance_fields.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/constance_settings.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/config/settings.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/commands/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/commands/knowbase_stats.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/management/commands/setup_knowbase.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/archive.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/chat.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/document.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/managers/external_data.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/migrations/0001_initial.py +0 -0
- {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
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/config.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/creator.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/external_data_mixin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/mixins/service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/archive.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/chat.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/document.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/models/external_data.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/archive_serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/chat_serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/document_serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/external_data_serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/serializers/public_serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/archive_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/chunking_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/exceptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/extraction_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/archive/vectorization_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/chat_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/document_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/async_processor.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/batch_processor.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/batch_result.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/processors.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/embedding/utils.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/prompt_builder.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/services/search_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/archive_signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/chat_signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/document_signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/signals/external_data_signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/chunk_settings.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/text_processing.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/utils/validation.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/archive_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/chat_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/document_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/views/public_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin/leads_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin/resources.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/tests.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/leads/views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/api_key_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/log_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/scheduled_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/admin/site_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/maintenance.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/process_scheduled_maintenance.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/management/commands/sync_cloudflare.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/managers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/managers/cloudflare_site_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/managers/maintenance_log_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/migrations/0002_cloudflaresite_maintenance_url.py +0 -0
- {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
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/cloudflare_api_key.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/cloudflare_site.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/maintenance_log.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/models/scheduled_maintenance.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/bulk_operations_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/maintenance_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/scheduled_maintenance_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/services/site_sync_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/utils/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/maintenance/utils/retry_utils.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/filters.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/newsletter_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin/resources.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/admin_filters.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/management/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/management/commands/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/management/commands/test_newsletter.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/managers/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/managers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/services/email_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/utils/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/campaigns.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/emails.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/newsletters.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/subscriptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/newsletter/views/tracking.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/api_keys_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/balance_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/currencies_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/filters.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/payments_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/subscriptions_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/admin/tariffs_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/decorators.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/api_key_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/balance_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/payment_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/subscription_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/managers/tariff_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/rate_limiting.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/middleware/usage_tracking.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/api_keys.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/balance.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/currencies.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/events.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/subscriptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/models/tariffs.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/api_keys.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/balance.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/currencies.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/payments.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/subscriptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/serializers/tariffs.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/billing/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/cache/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/cache/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/cache/simple_cache.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/core/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/middleware/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/providers/nowpayments.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/services/validators/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/signals/subscription_signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/middleware_utils.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/utils/validation_utils.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/api_key_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/balance_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/currency_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/subscription_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/payments/views/tariff_views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/filters.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/resources.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin/support_admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/admin_filters.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/managers/message_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/managers/ticket_manager.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/migrations/0001_initial.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/migrations/0002_alter_message_ticket.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/migrations/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/signals.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/templates/support/chat/access_denied.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/templates/support/chat/ticket_chat.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/utils/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/utils/support_email_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/api.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/support/views/chat.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/admin.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/serializers.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/css/dashboard.css +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/api.js +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/dashboard.js +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/modals.js +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/notifications.js +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/task-monitor.js +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/static/tasks/js/theme.js +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/base.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/info_cards.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/management_actions.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/overview_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/queues_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/status_cards.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/tab_navigation.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/task_details_modal.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/tasks_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/components/workers_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/templates/tasks/dashboard.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/tasks/views.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/cli/commands/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/config.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/environment.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/exceptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/generation.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/integration.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/core/validation.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/auto_generate.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/check_settings.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/clear_constance.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/create_token.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/generate.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/list_urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/migrate_all.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/migrator.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/rundramatiq.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/runserver_ngrok.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/script.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/show_config.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/show_urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/superuser.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/task_clear.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/task_status.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/test_email.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/test_telegram.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/test_twilio.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/tree.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/management/commands/validate_config.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/pagination.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/public_endpoints.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/middleware/user_activity.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/api.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/cache.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/cfg.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/constance.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/cors.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/database.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/drf.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/email.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/environment.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/jwt.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/limits.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/logging.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/ngrok.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/revolution.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/security.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/models/services.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_email.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_health.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_import_export/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_import_export/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/example.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/cache.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/client.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/costs.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/extractor.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/models_cache.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/llm/tokenizer.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/translator/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/translator/cache.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_llm/translator/translator.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_logger.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_ngrok.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_tasks.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_telegram.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/exceptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/sendgrid_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/simple_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/templates/guide.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/templates/sendgrid_otp_email.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/templates/sendgrid_test_data.json +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_twilio/twilio_service.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/actions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/base.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/charts.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/commands.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/main.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/revolution.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/statistics.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/system.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/callbacks/users.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/dashboard.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/README.md +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/constants.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/icons/generate_icons.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/config.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/dashboard.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/dropdown.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/navigation.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models/tabs.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/models.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/system_monitor.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/tailwind.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/django_unfold/utils.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/dramatiq_setup.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/modules/logger.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/exceptions.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/modules.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/services.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/registry/third_party.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/routing/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/routing/callbacks.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/routing/routers.py +0 -0
- {django_cfg-1.2.23/src/django_cfg/templatetags → django_cfg-1.2.27/src/django_cfg/template_archive}/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/action_grid.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/card.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/data_table.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/metric_card.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/modal.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/progress_bar.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/section_header.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/stat_item.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/stats_grid.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/status_badge.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/components/user_avatar.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/change_list.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/default_value.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/fieldset_header.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/results_list.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/setting_row.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/constance/includes/table_headers.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/import_export/change_list_export.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/import_export/change_list_import.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/import_export/change_list_import_export.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/index.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/layouts/dashboard_with_tabs.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/activity_tracker.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/charts_section.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/django_commands.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/quick_actions.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/recent_activity.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/recent_users_table.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/stats_cards.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/stats_tiles.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/system_health.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/system_metrics.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/components/user_permissions.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/app_stats_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/commands_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/overview_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/stats_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/tabs/users_tab.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/admin/snippets/zones/zones_table.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/emails/base_email.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templates/rest_framework/api.html +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/templatetags/django_cfg.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/urls.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/__init__.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/path_resolution.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/smart_defaults.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/toolkit.py +0 -0
- {django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/utils/version_check.py +0 -0
@@ -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
|
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/
|
19
|
+
recursive-include src/django_cfg/template_archive *
|
19
20
|
|
20
21
|
# Exclude development files and directories
|
21
22
|
recursive-exclude @* *
|
22
|
-
recursive-exclude
|
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.
|
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/
|
8
|
-
Project-URL: Issues, https://github.com/
|
9
|
-
Project-URL: Changelog, https://github.com/
|
7
|
+
Project-URL: Repository, https://github.com/markolofsen/django-cfg
|
8
|
+
Project-URL: Issues, https://github.com/markolofsen/django-cfg/issues
|
9
|
+
Project-URL: Changelog, https://github.com/markolofsen/django-cfg/blob/main/CHANGELOG.md
|
10
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.
|
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/
|
228
|
-
Issues = "https://github.com/
|
229
|
-
Changelog = "https://github.com/
|
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
|
-
"
|
238
|
-
"scripts/",
|
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
|
@@ -23,7 +23,7 @@ User = get_user_model()
|
|
23
23
|
|
24
24
|
|
25
25
|
@dramatiq.actor(
|
26
|
-
queue_name="
|
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="
|
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="
|
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="
|
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="
|
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="
|
300
|
+
queue_name="knowbase",
|
301
301
|
max_retries=0,
|
302
302
|
priority=1
|
303
303
|
)
|
{django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/document_processing.py
RENAMED
@@ -20,7 +20,7 @@ logger = logging.getLogger(__name__)
|
|
20
20
|
|
21
21
|
|
22
22
|
@dramatiq.actor(
|
23
|
-
queue_name="
|
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="
|
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="
|
294
|
+
queue_name="knowbase",
|
295
295
|
max_retries=2,
|
296
296
|
priority=4
|
297
297
|
)
|
{django_cfg-1.2.23 → django_cfg-1.2.27}/src/django_cfg/apps/knowbase/tasks/external_data_tasks.py
RENAMED
@@ -16,7 +16,7 @@ logger = logging.getLogger(__name__)
|
|
16
16
|
|
17
17
|
|
18
18
|
@dramatiq.actor(
|
19
|
-
queue_name="
|
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="
|
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="
|
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="
|
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="
|
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
|
+
]
|