django-cfg 1.5.8__py3-none-any.whl → 1.5.20__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of django-cfg might be problematic. Click here for more details.
- django_cfg/__init__.py +1 -1
- django_cfg/apps/api/commands/serializers.py +152 -0
- django_cfg/apps/api/commands/views.py +32 -0
- django_cfg/apps/business/accounts/management/commands/otp_test.py +5 -2
- django_cfg/apps/business/accounts/serializers/profile.py +42 -0
- django_cfg/apps/business/agents/management/commands/create_agent.py +5 -194
- django_cfg/apps/business/agents/management/commands/load_agent_templates.py +205 -0
- django_cfg/apps/business/agents/management/commands/orchestrator_status.py +4 -2
- django_cfg/apps/business/knowbase/management/commands/knowbase_stats.py +4 -2
- django_cfg/apps/business/knowbase/management/commands/setup_knowbase.py +4 -2
- django_cfg/apps/business/newsletter/management/commands/test_newsletter.py +5 -2
- django_cfg/apps/business/payments/management/commands/check_payment_status.py +4 -2
- django_cfg/apps/business/payments/management/commands/create_payment.py +4 -2
- django_cfg/apps/business/payments/management/commands/sync_currencies.py +4 -2
- django_cfg/apps/business/support/serializers.py +3 -2
- django_cfg/apps/integrations/centrifugo/apps.py +2 -1
- django_cfg/apps/integrations/centrifugo/codegen/generators/typescript_thin/templates/rpc-client.ts.j2 +151 -12
- django_cfg/apps/integrations/centrifugo/management/commands/generate_centrifugo_clients.py +6 -6
- django_cfg/apps/integrations/centrifugo/serializers/__init__.py +2 -1
- django_cfg/apps/integrations/centrifugo/serializers/publishes.py +22 -2
- django_cfg/apps/integrations/centrifugo/services/__init__.py +6 -0
- django_cfg/apps/integrations/centrifugo/services/client/__init__.py +6 -1
- django_cfg/apps/integrations/centrifugo/services/client/direct_client.py +282 -0
- django_cfg/apps/integrations/centrifugo/services/publisher.py +371 -0
- django_cfg/apps/integrations/centrifugo/services/token_generator.py +122 -0
- django_cfg/apps/integrations/centrifugo/urls.py +8 -0
- django_cfg/apps/integrations/centrifugo/views/__init__.py +2 -0
- django_cfg/apps/integrations/centrifugo/views/monitoring.py +25 -40
- django_cfg/apps/integrations/centrifugo/views/testing_api.py +0 -79
- django_cfg/apps/integrations/centrifugo/views/token_api.py +101 -0
- django_cfg/apps/integrations/centrifugo/views/wrapper.py +257 -0
- django_cfg/apps/integrations/grpc/admin/__init__.py +7 -1
- django_cfg/apps/integrations/grpc/admin/config.py +113 -9
- django_cfg/apps/integrations/grpc/admin/grpc_api_key.py +129 -0
- django_cfg/apps/integrations/grpc/admin/grpc_request_log.py +72 -63
- django_cfg/apps/integrations/grpc/admin/grpc_server_status.py +236 -0
- django_cfg/apps/integrations/grpc/auth/__init__.py +11 -3
- django_cfg/apps/integrations/grpc/auth/api_key_auth.py +320 -0
- django_cfg/apps/integrations/grpc/centrifugo/__init__.py +29 -0
- django_cfg/apps/integrations/grpc/centrifugo/bridge.py +277 -0
- django_cfg/apps/integrations/grpc/centrifugo/config.py +167 -0
- django_cfg/apps/integrations/grpc/centrifugo/demo.py +626 -0
- django_cfg/apps/integrations/grpc/centrifugo/test_publish.py +229 -0
- django_cfg/apps/integrations/grpc/centrifugo/transformers.py +89 -0
- django_cfg/apps/integrations/grpc/interceptors/__init__.py +3 -1
- django_cfg/apps/integrations/grpc/interceptors/centrifugo.py +541 -0
- django_cfg/apps/integrations/grpc/interceptors/logging.py +17 -20
- django_cfg/apps/integrations/grpc/interceptors/metrics.py +15 -14
- django_cfg/apps/integrations/grpc/interceptors/request_logger.py +79 -59
- django_cfg/apps/integrations/grpc/management/commands/compile_proto.py +105 -0
- django_cfg/apps/integrations/grpc/management/commands/generate_protos.py +185 -0
- django_cfg/apps/integrations/grpc/management/commands/rungrpc.py +474 -95
- django_cfg/apps/integrations/grpc/management/commands/test_grpc_integration.py +75 -0
- django_cfg/apps/integrations/grpc/management/proto/__init__.py +3 -0
- django_cfg/apps/integrations/grpc/management/proto/compiler.py +194 -0
- django_cfg/apps/integrations/grpc/managers/__init__.py +2 -0
- django_cfg/apps/integrations/grpc/managers/grpc_api_key.py +192 -0
- django_cfg/apps/integrations/grpc/managers/grpc_server_status.py +19 -11
- django_cfg/apps/integrations/grpc/migrations/0005_grpcapikey.py +143 -0
- django_cfg/apps/integrations/grpc/migrations/0006_grpcrequestlog_api_key_and_more.py +34 -0
- django_cfg/apps/integrations/grpc/models/__init__.py +2 -0
- django_cfg/apps/integrations/grpc/models/grpc_api_key.py +198 -0
- django_cfg/apps/integrations/grpc/models/grpc_request_log.py +11 -0
- django_cfg/apps/integrations/grpc/models/grpc_server_status.py +39 -4
- django_cfg/apps/integrations/grpc/serializers/__init__.py +22 -6
- django_cfg/apps/integrations/grpc/serializers/api_keys.py +63 -0
- django_cfg/apps/integrations/grpc/serializers/charts.py +118 -120
- django_cfg/apps/integrations/grpc/serializers/config.py +65 -51
- django_cfg/apps/integrations/grpc/serializers/health.py +7 -7
- django_cfg/apps/integrations/grpc/serializers/proto_files.py +74 -0
- django_cfg/apps/integrations/grpc/serializers/requests.py +13 -7
- django_cfg/apps/integrations/grpc/serializers/service_registry.py +181 -112
- django_cfg/apps/integrations/grpc/serializers/services.py +14 -32
- django_cfg/apps/integrations/grpc/serializers/stats.py +50 -12
- django_cfg/apps/integrations/grpc/serializers/testing.py +66 -58
- django_cfg/apps/integrations/grpc/services/__init__.py +2 -0
- django_cfg/apps/integrations/grpc/services/discovery.py +7 -1
- django_cfg/apps/integrations/grpc/services/monitoring_service.py +149 -43
- django_cfg/apps/integrations/grpc/services/proto_files_manager.py +268 -0
- django_cfg/apps/integrations/grpc/services/service_registry.py +48 -46
- django_cfg/apps/integrations/grpc/services/testing_service.py +10 -15
- django_cfg/apps/integrations/grpc/urls.py +8 -0
- django_cfg/apps/integrations/grpc/utils/SERVER_LOGGING.md +164 -0
- django_cfg/apps/integrations/grpc/utils/__init__.py +4 -13
- django_cfg/apps/integrations/grpc/utils/integration_test.py +334 -0
- django_cfg/apps/integrations/grpc/utils/proto_gen.py +48 -8
- django_cfg/apps/integrations/grpc/utils/streaming_logger.py +378 -0
- django_cfg/apps/integrations/grpc/views/__init__.py +4 -0
- django_cfg/apps/integrations/grpc/views/api_keys.py +255 -0
- django_cfg/apps/integrations/grpc/views/charts.py +21 -14
- django_cfg/apps/integrations/grpc/views/config.py +8 -6
- django_cfg/apps/integrations/grpc/views/monitoring.py +51 -79
- django_cfg/apps/integrations/grpc/views/proto_files.py +214 -0
- django_cfg/apps/integrations/grpc/views/services.py +30 -21
- django_cfg/apps/integrations/grpc/views/testing.py +45 -43
- django_cfg/apps/integrations/rq/views/jobs.py +19 -9
- django_cfg/apps/integrations/rq/views/schedule.py +7 -3
- django_cfg/apps/system/dashboard/serializers/commands.py +25 -1
- django_cfg/apps/system/dashboard/serializers/config.py +95 -9
- django_cfg/apps/system/dashboard/serializers/statistics.py +9 -4
- django_cfg/apps/system/dashboard/services/commands_service.py +12 -1
- django_cfg/apps/system/frontend/views.py +87 -6
- django_cfg/apps/system/maintenance/management/commands/maintenance.py +5 -2
- django_cfg/apps/system/maintenance/management/commands/process_scheduled_maintenance.py +4 -2
- django_cfg/apps/system/maintenance/management/commands/sync_cloudflare.py +5 -2
- django_cfg/config.py +33 -0
- django_cfg/core/builders/security_builder.py +1 -0
- django_cfg/core/generation/integration_generators/api.py +2 -0
- django_cfg/core/generation/integration_generators/grpc_generator.py +30 -32
- django_cfg/management/commands/check_endpoints.py +2 -2
- django_cfg/management/commands/check_settings.py +3 -10
- django_cfg/management/commands/clear_constance.py +3 -10
- django_cfg/management/commands/create_token.py +4 -11
- django_cfg/management/commands/list_urls.py +4 -10
- django_cfg/management/commands/migrate_all.py +18 -12
- django_cfg/management/commands/migrator.py +4 -11
- django_cfg/management/commands/script.py +4 -10
- django_cfg/management/commands/show_config.py +8 -16
- django_cfg/management/commands/show_urls.py +5 -11
- django_cfg/management/commands/superuser.py +4 -11
- django_cfg/management/commands/tree.py +5 -10
- django_cfg/management/utils/README.md +402 -0
- django_cfg/management/utils/__init__.py +29 -0
- django_cfg/management/utils/mixins.py +176 -0
- django_cfg/middleware/pagination.py +53 -54
- django_cfg/models/api/grpc/__init__.py +15 -21
- django_cfg/models/api/grpc/config.py +155 -73
- django_cfg/models/ngrok/config.py +7 -6
- django_cfg/modules/django_client/core/generator/python/files_generator.py +5 -13
- django_cfg/modules/django_client/core/generator/python/templates/api_wrapper.py.jinja +16 -4
- django_cfg/modules/django_client/core/generator/python/templates/main_init.py.jinja +2 -3
- django_cfg/modules/django_client/core/generator/typescript/files_generator.py +6 -5
- django_cfg/modules/django_client/core/generator/typescript/generator.py +26 -0
- django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py +7 -1
- django_cfg/modules/django_client/core/generator/typescript/models_generator.py +5 -0
- django_cfg/modules/django_client/core/generator/typescript/schemas_generator.py +11 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/fetchers.ts.jinja +1 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/function.ts.jinja +29 -1
- django_cfg/modules/django_client/core/generator/typescript/templates/hooks/hooks.ts.jinja +4 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/main_index.ts.jinja +12 -8
- django_cfg/modules/django_client/core/ir/schema.py +15 -1
- django_cfg/modules/django_client/core/parser/base.py +126 -30
- django_cfg/modules/django_client/management/commands/generate_client.py +5 -2
- django_cfg/modules/django_client/management/commands/validate_openapi.py +5 -2
- django_cfg/modules/django_email/management/commands/test_email.py +4 -10
- django_cfg/modules/django_ngrok/management/commands/runserver_ngrok.py +16 -13
- django_cfg/modules/django_telegram/management/commands/test_telegram.py +4 -11
- django_cfg/modules/django_twilio/management/commands/test_twilio.py +4 -11
- django_cfg/modules/django_unfold/navigation.py +6 -18
- django_cfg/pyproject.toml +1 -1
- django_cfg/registry/modules.py +1 -4
- django_cfg/requirements.txt +52 -0
- django_cfg/static/frontend/admin.zip +0 -0
- {django_cfg-1.5.8.dist-info → django_cfg-1.5.20.dist-info}/METADATA +1 -1
- {django_cfg-1.5.8.dist-info → django_cfg-1.5.20.dist-info}/RECORD +158 -121
- django_cfg/apps/integrations/grpc/auth/jwt_auth.py +0 -295
- {django_cfg-1.5.8.dist-info → django_cfg-1.5.20.dist-info}/WHEEL +0 -0
- {django_cfg-1.5.8.dist-info → django_cfg-1.5.20.dist-info}/entry_points.txt +0 -0
- {django_cfg-1.5.8.dist-info → django_cfg-1.5.20.dist-info}/licenses/LICENSE +0 -0
|
@@ -4,20 +4,13 @@ Test Twilio Command
|
|
|
4
4
|
Tests Twilio messaging functionality using django_cfg configuration.
|
|
5
5
|
"""
|
|
6
6
|
|
|
7
|
-
from
|
|
7
|
+
from django_cfg.management.utils import SafeCommand
|
|
8
8
|
|
|
9
|
-
from django_cfg.modules.django_logging import get_logger
|
|
10
9
|
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
class Command(BaseCommand):
|
|
10
|
+
class Command(SafeCommand):
|
|
14
11
|
"""Command to test Twilio functionality."""
|
|
15
12
|
|
|
16
|
-
|
|
17
|
-
web_executable = True
|
|
18
|
-
requires_input = False
|
|
19
|
-
is_destructive = False
|
|
20
|
-
|
|
13
|
+
command_name = 'test_twilio'
|
|
21
14
|
help = "Test Twilio messaging functionality"
|
|
22
15
|
|
|
23
16
|
def add_arguments(self, parser):
|
|
@@ -45,7 +38,7 @@ class Command(BaseCommand):
|
|
|
45
38
|
)
|
|
46
39
|
|
|
47
40
|
def handle(self, *args, **options):
|
|
48
|
-
logger.info("Starting test_twilio command")
|
|
41
|
+
self.logger.info("Starting test_twilio command")
|
|
49
42
|
to_number = options["to"]
|
|
50
43
|
message = options["message"]
|
|
51
44
|
is_whatsapp = options["whatsapp"]
|
|
@@ -148,29 +148,17 @@ class NavigationManager(BaseCfgModule):
|
|
|
148
148
|
|
|
149
149
|
# gRPC Dashboard (if enabled)
|
|
150
150
|
if self.is_grpc_enabled():
|
|
151
|
-
grpc_items = []
|
|
152
|
-
|
|
153
|
-
# Monitoring API endpoint
|
|
154
|
-
grpc_items.append(
|
|
155
|
-
NavigationItem(title="Monitor", icon=Icons.MONITOR_HEART, link="/cfg/admin/admin/dashboard/grpc/")
|
|
156
|
-
)
|
|
157
|
-
|
|
158
|
-
# Request Logs with safe URL resolution
|
|
159
|
-
logs_item = self._create_nav_item(
|
|
160
|
-
title="Request Logs",
|
|
161
|
-
icon=Icons.LIST_ALT,
|
|
162
|
-
url_name="admin:grpc_grpcrequestlog_changelist",
|
|
163
|
-
fallback_link="/admin/grpc/grpcrequestlog/"
|
|
164
|
-
)
|
|
165
|
-
if logs_item:
|
|
166
|
-
grpc_items.append(logs_item)
|
|
167
|
-
|
|
168
151
|
navigation_sections.append(
|
|
169
152
|
NavigationSection(
|
|
170
153
|
title="gRPC",
|
|
171
154
|
separator=True,
|
|
172
155
|
collapsible=True,
|
|
173
|
-
items=
|
|
156
|
+
items=[
|
|
157
|
+
NavigationItem(title="Monitor", icon=Icons.MONITOR_HEART, link="/cfg/admin/admin/dashboard/grpc/"),
|
|
158
|
+
NavigationItem(title="Request Logs", icon=Icons.LIST_ALT, link=str(reverse_lazy("admin:grpc_grpcrequestlog_changelist"))),
|
|
159
|
+
NavigationItem(title="API Keys", icon=Icons.KEY, link=str(reverse_lazy("admin:grpc_grpcapikey_changelist"))),
|
|
160
|
+
NavigationItem(title="Server Status", icon=Icons.HEALTH_AND_SAFETY, link=str(reverse_lazy("admin:grpc_grpcserverstatus_changelist"))),
|
|
161
|
+
]
|
|
174
162
|
)
|
|
175
163
|
)
|
|
176
164
|
|
django_cfg/pyproject.toml
CHANGED
|
@@ -4,7 +4,7 @@ build-backend = "hatchling.build"
|
|
|
4
4
|
|
|
5
5
|
[project]
|
|
6
6
|
name = "django-cfg"
|
|
7
|
-
version = "1.5.
|
|
7
|
+
version = "1.5.20"
|
|
8
8
|
description = "Modern Django framework with type-safe Pydantic v2 configuration, Next.js admin integration, real-time WebSockets, and 8 enterprise apps. Replace settings.py with validated models, 90% less code. Production-ready with AI agents, auto-generated TypeScript clients, and zero-config features."
|
|
9
9
|
readme = "README.md"
|
|
10
10
|
keywords = [ "django", "configuration", "pydantic", "settings", "type-safety", "pydantic-settings", "django-environ", "startup-validation", "ide-autocomplete", "nextjs-admin", "react-admin", "websocket", "centrifugo", "real-time", "typescript-generation", "ai-agents", "enterprise-django", "django-settings", "type-safe-config", "modern-django",]
|
django_cfg/registry/modules.py
CHANGED
|
@@ -13,11 +13,8 @@ MODULES_REGISTRY = {
|
|
|
13
13
|
# Centrifugo module
|
|
14
14
|
"DjangoCfgCentrifugoConfig": ("django_cfg.apps.integrations.centrifugo.services.client.config", "DjangoCfgCentrifugoConfig"),
|
|
15
15
|
|
|
16
|
-
# gRPC module
|
|
16
|
+
# gRPC module (uses flat API - no nested config imports needed)
|
|
17
17
|
"GRPCConfig": ("django_cfg.models.api.grpc", "GRPCConfig"),
|
|
18
|
-
"GRPCServerConfig": ("django_cfg.models.api.grpc", "GRPCServerConfig"),
|
|
19
|
-
"GRPCAuthConfig": ("django_cfg.models.api.grpc", "GRPCAuthConfig"),
|
|
20
|
-
"GRPCProtoConfig": ("django_cfg.models.api.grpc", "GRPCProtoConfig"),
|
|
21
18
|
|
|
22
19
|
# Next.js Admin Integration
|
|
23
20
|
"NextJsAdminConfig": ("django_cfg.modules.nextjs_admin", "NextJsAdminConfig"),
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
2
|
+
# ⚠️ DJANGO-CFG LIBRARY - TESTING & DEVELOPMENT INSTRUCTIONS
|
|
3
|
+
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
4
|
+
#
|
|
5
|
+
# ❌ DO NOT test django-cfg library directly from this directory!
|
|
6
|
+
# ❌ DO NOT use pip install -r requirements.txt
|
|
7
|
+
# ❌ DO NOT use poetry install here
|
|
8
|
+
#
|
|
9
|
+
# ✅ This library is AUTOMATICALLY LINKED to the Django test project
|
|
10
|
+
# ✅ All changes in this library are IMMEDIATELY available in the test project
|
|
11
|
+
# ✅ NO installation or build steps needed - just edit and test!
|
|
12
|
+
#
|
|
13
|
+
# 📋 HOW TO TEST YOUR CHANGES:
|
|
14
|
+
#
|
|
15
|
+
# This library (django-cfg-dev) is automatically symlinked to:
|
|
16
|
+
# ../../../../solution/projects/django/
|
|
17
|
+
#
|
|
18
|
+
# All testing MUST be done through the Django project:
|
|
19
|
+
#
|
|
20
|
+
# cd ../../../../solution/projects/django
|
|
21
|
+
# poetry run python manage.py migrate
|
|
22
|
+
# poetry run python manage.py runserver
|
|
23
|
+
# poetry run python manage.py test
|
|
24
|
+
# poetry run pytest
|
|
25
|
+
#
|
|
26
|
+
# 🔄 WORKFLOW:
|
|
27
|
+
#
|
|
28
|
+
# 1. Edit django-cfg library code here (src/django_cfg/...)
|
|
29
|
+
# 2. Changes are INSTANTLY available in the Django project (via symlink)
|
|
30
|
+
# 3. Test your changes by running Django commands from ../../../../solution/projects/django
|
|
31
|
+
# 4. No rebuild or reinstall needed - it's live!
|
|
32
|
+
#
|
|
33
|
+
# 📁 PROJECT STRUCTURE:
|
|
34
|
+
#
|
|
35
|
+
# @projects/django-cfg/
|
|
36
|
+
# ├── projects/django-cfg-dev/ ← Django-CFG library (YOU ARE HERE)
|
|
37
|
+
# │ └── src/django_cfg/ ← Library source code
|
|
38
|
+
# └── solution/projects/django/ ← Django test project (GO HERE)
|
|
39
|
+
# ├── manage.py ← Run commands here
|
|
40
|
+
# ├── pyproject.toml ← Django project dependencies
|
|
41
|
+
# └── .venv/ ← Contains symlink to django-cfg-dev
|
|
42
|
+
#
|
|
43
|
+
# 🔗 SYMLINK DETAILS:
|
|
44
|
+
#
|
|
45
|
+
# The symlink is created automatically via: make install-local
|
|
46
|
+
# Located at: ../../../../solution/projects/django/.venv/lib/python3.12/site-packages/django_cfg
|
|
47
|
+
# Points to: projects/django-cfg-dev/src/django_cfg (this directory)
|
|
48
|
+
#
|
|
49
|
+
# 💡 TIP: If symlink is broken, run from django-cfg root:
|
|
50
|
+
# make install-local
|
|
51
|
+
#
|
|
52
|
+
# ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
|
|
Binary file
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-cfg
|
|
3
|
-
Version: 1.5.
|
|
3
|
+
Version: 1.5.20
|
|
4
4
|
Summary: Modern Django framework with type-safe Pydantic v2 configuration, Next.js admin integration, real-time WebSockets, and 8 enterprise apps. Replace settings.py with validated models, 90% less code. Production-ready with AI agents, auto-generated TypeScript clients, and zero-config features.
|
|
5
5
|
Project-URL: Homepage, https://djangocfg.com
|
|
6
6
|
Project-URL: Documentation, https://djangocfg.com
|