django-cfg 1.4.11__py3-none-any.whl → 1.4.13__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.
- django_cfg/core/generation/integration_generators/api.py +2 -1
- django_cfg/models/django/openapi.py +4 -80
- django_cfg/modules/django_client/core/archive/manager.py +2 -2
- django_cfg/modules/django_client/core/config/config.py +20 -0
- django_cfg/modules/django_client/core/config/service.py +1 -1
- django_cfg/modules/django_client/core/generator/__init__.py +4 -4
- django_cfg/modules/django_client/core/generator/base.py +71 -0
- django_cfg/modules/django_client/core/generator/python/__init__.py +16 -0
- django_cfg/modules/django_client/core/generator/python/async_client_gen.py +174 -0
- django_cfg/modules/django_client/core/generator/python/files_generator.py +180 -0
- django_cfg/modules/django_client/core/generator/python/generator.py +182 -0
- django_cfg/modules/django_client/core/generator/python/models_generator.py +318 -0
- django_cfg/modules/django_client/core/generator/python/operations_generator.py +278 -0
- django_cfg/modules/django_client/core/generator/python/sync_client_gen.py +102 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/api_wrapper.py.jinja +25 -2
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/main_client.py.jinja +24 -6
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/main_client_file.py.jinja +1 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/operation_method.py.jinja +3 -1
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/sub_client.py.jinja +8 -1
- django_cfg/modules/django_client/core/generator/python/templates/client/sync_main_client.py.jinja +50 -0
- django_cfg/modules/django_client/core/generator/python/templates/client/sync_operation_method.py.jinja +9 -0
- django_cfg/modules/django_client/core/generator/python/templates/client/sync_sub_client.py.jinja +18 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/main_init.py.jinja +2 -0
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/enum_class.py.jinja +3 -1
- django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/schema_class.py.jinja +3 -1
- django_cfg/modules/django_client/core/generator/python/templates/pyproject.toml.jinja +55 -0
- django_cfg/modules/django_client/core/generator/python/templates/utils/retry.py.jinja +271 -0
- django_cfg/modules/django_client/core/generator/typescript/__init__.py +14 -0
- django_cfg/modules/django_client/core/generator/typescript/client_generator.py +165 -0
- django_cfg/modules/django_client/core/generator/typescript/fetchers_generator.py +428 -0
- django_cfg/modules/django_client/core/generator/typescript/files_generator.py +207 -0
- django_cfg/modules/django_client/core/generator/typescript/generator.py +432 -0
- django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py +536 -0
- django_cfg/modules/django_client/core/generator/typescript/models_generator.py +245 -0
- django_cfg/modules/django_client/core/generator/typescript/operations_generator.py +298 -0
- django_cfg/modules/django_client/core/generator/typescript/schemas_generator.py +329 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/api_instance.ts.jinja +131 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/app_client.ts.jinja +1 -1
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/client.ts.jinja +77 -1
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/main_client_file.ts.jinja +1 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/sub_client.ts.jinja +3 -3
- django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/fetchers.ts.jinja +45 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/index.ts.jinja +30 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/main_index.ts.jinja +73 -11
- django_cfg/modules/django_client/core/generator/typescript/templates/package.json.jinja +52 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/schemas/index.ts.jinja +21 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/schemas/schema.ts.jinja +24 -0
- django_cfg/modules/django_client/core/generator/typescript/templates/tsconfig.json.jinja +20 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/errors.ts.jinja +3 -1
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/logger.ts.jinja +9 -1
- django_cfg/modules/django_client/core/generator/typescript/templates/utils/retry.ts.jinja +175 -0
- django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/storage.ts.jinja +54 -10
- django_cfg/modules/django_client/management/commands/generate_client.py +5 -0
- django_cfg/modules/django_client/pytest.ini +30 -0
- django_cfg/modules/django_client/spectacular/__init__.py +3 -2
- django_cfg/modules/django_client/spectacular/async_detection.py +187 -0
- django_cfg/{dashboard → modules/django_dashboard}/DEBUG_README.md +2 -2
- django_cfg/{dashboard → modules/django_dashboard}/REFACTORING_SUMMARY.md +1 -1
- django_cfg/{dashboard → modules/django_dashboard}/management/commands/debug_dashboard.py +5 -5
- django_cfg/modules/django_logging/LOGGING_GUIDE.md +1 -1
- django_cfg/modules/django_unfold/callbacks/main.py +6 -6
- django_cfg/pyproject.toml +1 -1
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.13.dist-info}/METADATA +1 -1
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.13.dist-info}/RECORD +99 -70
- django_cfg/modules/django_client/core/generator/python.py +0 -751
- django_cfg/modules/django_client/core/generator/typescript.py +0 -872
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/__init__.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/app_init.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/app_client.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client/flat_client.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/client_file.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/app_models.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/enums.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/models/models.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/utils/logger.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/python → python/templates}/utils/schema.py.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/app_index.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/flat_client.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client/operation.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/client_file.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/index.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/models/app_models.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/models/enums.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/models/models.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/http.ts.jinja +0 -0
- /django_cfg/modules/django_client/core/generator/{templates/typescript → typescript/templates}/utils/schema.ts.jinja +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/components.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/debug.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/management/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/management/commands/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/__init__.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/base.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/commands.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/documentation.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/overview.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/stats.py +0 -0
- /django_cfg/{dashboard → modules/django_dashboard}/sections/system.py +0 -0
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.13.dist-info}/WHEEL +0 -0
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.13.dist-info}/entry_points.txt +0 -0
- {django_cfg-1.4.11.dist-info → django_cfg-1.4.13.dist-info}/licenses/LICENSE +0 -0
@@ -1,9 +1,10 @@
|
|
1
1
|
"""
|
2
2
|
DRF Spectacular postprocessing hooks for django-cfg.
|
3
3
|
|
4
|
-
Auto-fixes for OpenAPI schema generation.
|
4
|
+
Auto-fixes and enhancements for OpenAPI schema generation.
|
5
5
|
"""
|
6
6
|
|
7
7
|
from .enum_naming import auto_fix_enum_names
|
8
|
+
from .async_detection import mark_async_operations
|
8
9
|
|
9
|
-
__all__ = ['auto_fix_enum_names']
|
10
|
+
__all__ = ['auto_fix_enum_names', 'mark_async_operations']
|
@@ -0,0 +1,187 @@
|
|
1
|
+
"""
|
2
|
+
Async View Detection for OpenAPI Schema.
|
3
|
+
|
4
|
+
Postprocessing hook that detects async-capable Django views and marks
|
5
|
+
operations with x-async-capable extension for dual client generation.
|
6
|
+
"""
|
7
|
+
|
8
|
+
import inspect
|
9
|
+
import logging
|
10
|
+
from typing import Dict, Any, Optional
|
11
|
+
from django.urls import resolve, Resolver404
|
12
|
+
|
13
|
+
logger = logging.getLogger(__name__)
|
14
|
+
|
15
|
+
|
16
|
+
def mark_async_operations(result: Dict[str, Any], generator, request, public) -> Dict[str, Any]:
|
17
|
+
"""
|
18
|
+
DRF Spectacular postprocessing hook to mark async-capable operations.
|
19
|
+
|
20
|
+
Scans Django views and marks operations:
|
21
|
+
- async def → operation['x-async-capable'] = True
|
22
|
+
- def → operation['x-async-capable'] = False
|
23
|
+
|
24
|
+
Args:
|
25
|
+
result: OpenAPI schema dict
|
26
|
+
generator: Schema generator instance
|
27
|
+
request: HTTP request
|
28
|
+
public: Whether schema is public
|
29
|
+
|
30
|
+
Returns:
|
31
|
+
Modified OpenAPI schema with async metadata
|
32
|
+
|
33
|
+
Example:
|
34
|
+
paths:
|
35
|
+
/api/products/:
|
36
|
+
get:
|
37
|
+
operationId: products_list
|
38
|
+
x-async-capable: true # Async view detected
|
39
|
+
"""
|
40
|
+
|
41
|
+
if 'paths' not in result:
|
42
|
+
return result
|
43
|
+
|
44
|
+
async_count = 0
|
45
|
+
sync_count = 0
|
46
|
+
|
47
|
+
for path, methods in result['paths'].items():
|
48
|
+
for method, operation in methods.items():
|
49
|
+
if method.upper() in ['GET', 'POST', 'PUT', 'PATCH', 'DELETE', 'HEAD', 'OPTIONS']:
|
50
|
+
# Try to resolve view function
|
51
|
+
view_func = _resolve_view_function(path, method, operation)
|
52
|
+
|
53
|
+
if view_func:
|
54
|
+
# Check if view is async
|
55
|
+
is_async = inspect.iscoroutinefunction(view_func)
|
56
|
+
operation['x-async-capable'] = is_async
|
57
|
+
|
58
|
+
if is_async:
|
59
|
+
async_count += 1
|
60
|
+
logger.debug(f"✓ Async view detected: {method.upper()} {path}")
|
61
|
+
else:
|
62
|
+
sync_count += 1
|
63
|
+
else:
|
64
|
+
# Default to sync if cannot resolve
|
65
|
+
operation['x-async-capable'] = False
|
66
|
+
sync_count += 1
|
67
|
+
|
68
|
+
logger.info(f"🔍 Async detection: {async_count} async, {sync_count} sync operations")
|
69
|
+
|
70
|
+
return result
|
71
|
+
|
72
|
+
|
73
|
+
def _resolve_view_function(path: str, method: str, operation: Dict[str, Any]) -> Optional[callable]:
|
74
|
+
"""
|
75
|
+
Resolve view function from OpenAPI operation.
|
76
|
+
|
77
|
+
Args:
|
78
|
+
path: API path (e.g., /api/products/)
|
79
|
+
method: HTTP method (e.g., GET)
|
80
|
+
operation: OpenAPI operation dict
|
81
|
+
|
82
|
+
Returns:
|
83
|
+
View function or None if cannot resolve
|
84
|
+
"""
|
85
|
+
# Try to get view from operationId
|
86
|
+
operation_id = operation.get('operationId')
|
87
|
+
|
88
|
+
if not operation_id:
|
89
|
+
return None
|
90
|
+
|
91
|
+
# Convert path to Django URL format
|
92
|
+
# /api/products/{id}/ → /api/products/1/
|
93
|
+
django_path = _convert_openapi_path_to_django(path)
|
94
|
+
|
95
|
+
try:
|
96
|
+
# Resolve URL to view
|
97
|
+
resolved = resolve(django_path)
|
98
|
+
view_func = resolved.func
|
99
|
+
|
100
|
+
# Handle ViewSets and class-based views
|
101
|
+
if hasattr(view_func, 'cls'):
|
102
|
+
# ViewSet - get specific action method
|
103
|
+
view_class = view_func.cls
|
104
|
+
|
105
|
+
# Extract action from operationId
|
106
|
+
# products_list → list, products_create → create
|
107
|
+
action = _extract_action_from_operation_id(operation_id)
|
108
|
+
|
109
|
+
if hasattr(view_class, action):
|
110
|
+
return getattr(view_class, action)
|
111
|
+
|
112
|
+
# Fallback to view class itself
|
113
|
+
return view_class
|
114
|
+
|
115
|
+
elif hasattr(view_func, 'view_class'):
|
116
|
+
# Class-based view
|
117
|
+
view_class = view_func.view_class
|
118
|
+
|
119
|
+
# Get method handler (get, post, put, etc.)
|
120
|
+
method_lower = method.lower()
|
121
|
+
if hasattr(view_class, method_lower):
|
122
|
+
return getattr(view_class, method_lower)
|
123
|
+
|
124
|
+
return view_class
|
125
|
+
|
126
|
+
else:
|
127
|
+
# Function-based view
|
128
|
+
return view_func
|
129
|
+
|
130
|
+
except Resolver404:
|
131
|
+
logger.debug(f"Cannot resolve path: {django_path}")
|
132
|
+
return None
|
133
|
+
except Exception as e:
|
134
|
+
logger.debug(f"Error resolving view for {path}: {e}")
|
135
|
+
return None
|
136
|
+
|
137
|
+
|
138
|
+
def _convert_openapi_path_to_django(openapi_path: str) -> str:
|
139
|
+
"""
|
140
|
+
Convert OpenAPI path to Django URL format.
|
141
|
+
|
142
|
+
Examples:
|
143
|
+
/api/products/{id}/ → /api/products/1/
|
144
|
+
/api/posts/{post_slug}/comments/ → /api/posts/test-slug/comments/
|
145
|
+
"""
|
146
|
+
import re
|
147
|
+
|
148
|
+
# Replace path parameters with sample values
|
149
|
+
# {id} → 1, {slug} → test-slug, {pk} → 1, {uuid} → sample UUID
|
150
|
+
def replace_param(match):
|
151
|
+
param_name = match.group(1)
|
152
|
+
|
153
|
+
# Check uuid first (before id, since uuid contains 'id')
|
154
|
+
if 'uuid' in param_name.lower():
|
155
|
+
return '00000000-0000-0000-0000-000000000001'
|
156
|
+
elif 'id' in param_name.lower() or 'pk' in param_name.lower():
|
157
|
+
return '1'
|
158
|
+
elif 'slug' in param_name.lower():
|
159
|
+
return 'test-slug'
|
160
|
+
else:
|
161
|
+
return 'test-value'
|
162
|
+
|
163
|
+
django_path = re.sub(r'\{([^}]+)\}', replace_param, openapi_path)
|
164
|
+
return django_path
|
165
|
+
|
166
|
+
|
167
|
+
def _extract_action_from_operation_id(operation_id: str) -> str:
|
168
|
+
"""
|
169
|
+
Extract ViewSet action from operationId.
|
170
|
+
|
171
|
+
Examples:
|
172
|
+
products_list → list
|
173
|
+
products_create → create
|
174
|
+
products_retrieve → retrieve
|
175
|
+
products_partial_update → partial_update
|
176
|
+
"""
|
177
|
+
# Split by underscore and get last part
|
178
|
+
parts = operation_id.split('_')
|
179
|
+
|
180
|
+
if len(parts) >= 2:
|
181
|
+
# Get everything after first underscore
|
182
|
+
# products_list → list
|
183
|
+
# products_partial_update → partial_update
|
184
|
+
action = '_'.join(parts[1:])
|
185
|
+
return action
|
186
|
+
|
187
|
+
return operation_id
|
@@ -37,7 +37,7 @@ libs/django_cfg/src/django_cfg/debug/dashboard/
|
|
37
37
|
### 3. Программное использование
|
38
38
|
|
39
39
|
```python
|
40
|
-
from django_cfg.
|
40
|
+
from django_cfg.modules.django_dashboard.debug import save_section_render
|
41
41
|
|
42
42
|
# В коде секции
|
43
43
|
html = section.render()
|
@@ -62,7 +62,7 @@ dashboard/
|
|
62
62
|
## Сравнение с архивом
|
63
63
|
|
64
64
|
```python
|
65
|
-
from django_cfg.
|
65
|
+
from django_cfg.modules.django_dashboard.debug import get_debugger
|
66
66
|
from pathlib import Path
|
67
67
|
|
68
68
|
debugger = get_debugger()
|
@@ -65,7 +65,7 @@ python manage.py debug_dashboard
|
|
65
65
|
### 2. Автоматическое сохранение рендеров ✅
|
66
66
|
При каждом рендере секции автоматически сохраняются через:
|
67
67
|
```python
|
68
|
-
from django_cfg.
|
68
|
+
from django_cfg.modules.django_dashboard.debug import save_section_render
|
69
69
|
|
70
70
|
save_section_render('overview', html)
|
71
71
|
```
|
@@ -8,11 +8,11 @@ from django.core.management.base import BaseCommand
|
|
8
8
|
from django.test import RequestFactory
|
9
9
|
from django.contrib.auth import get_user_model
|
10
10
|
|
11
|
-
from django_cfg.
|
12
|
-
from django_cfg.
|
13
|
-
from django_cfg.
|
14
|
-
from django_cfg.
|
15
|
-
from django_cfg.
|
11
|
+
from django_cfg.modules.django_dashboard.sections.overview import OverviewSection
|
12
|
+
from django_cfg.modules.django_dashboard.sections.stats import StatsSection
|
13
|
+
from django_cfg.modules.django_dashboard.sections.system import SystemSection
|
14
|
+
from django_cfg.modules.django_dashboard.sections.commands import CommandsSection
|
15
|
+
from django_cfg.modules.django_dashboard.debug import get_debugger
|
16
16
|
|
17
17
|
|
18
18
|
class Command(BaseCommand):
|
@@ -247,7 +247,7 @@ config = get_current_config()
|
|
247
247
|
|
248
248
|
if config and config.debug:
|
249
249
|
# Expensive operation only in debug mode
|
250
|
-
from django_cfg.
|
250
|
+
from django_cfg.modules.django_dashboard.debug import save_section_render
|
251
251
|
save_section_render('overview', html_content)
|
252
252
|
else:
|
253
253
|
# Skip debug rendering in production
|
@@ -24,12 +24,12 @@ from .users import UsersCallbacks
|
|
24
24
|
from .base import get_user_admin_urls
|
25
25
|
|
26
26
|
# Import new dashboard sections
|
27
|
-
from django_cfg.
|
28
|
-
from django_cfg.
|
29
|
-
from django_cfg.
|
30
|
-
from django_cfg.
|
31
|
-
from django_cfg.
|
32
|
-
from django_cfg.
|
27
|
+
from django_cfg.modules.django_dashboard.sections.overview import OverviewSection
|
28
|
+
from django_cfg.modules.django_dashboard.sections.stats import StatsSection
|
29
|
+
from django_cfg.modules.django_dashboard.sections.system import SystemSection
|
30
|
+
from django_cfg.modules.django_dashboard.sections.commands import CommandsSection
|
31
|
+
from django_cfg.modules.django_dashboard.sections.documentation import DocumentationSection
|
32
|
+
from django_cfg.modules.django_dashboard.debug import save_section_render
|
33
33
|
|
34
34
|
logger = logging.getLogger(__name__)
|
35
35
|
|
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.4.
|
7
|
+
version = "1.4.13"
|
8
8
|
description = "Django AI framework with built-in agents, type-safe Pydantic v2 configuration, and 8 enterprise apps. Replace settings.py, validate at startup, 90% less code. Production-ready AI workflows for Django."
|
9
9
|
readme = "README.md"
|
10
10
|
keywords = [ "django", "configuration", "pydantic", "settings", "type-safety", "pydantic-settings", "django-environ", "startup-validation", "ide-autocomplete", "ai-agents", "enterprise-django", "django-settings", "type-safe-config",]
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: django-cfg
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.13
|
4
4
|
Summary: Django AI framework with built-in agents, type-safe Pydantic v2 configuration, and 8 enterprise apps. Replace settings.py, validate at startup, 90% less code. Production-ready AI workflows for Django.
|
5
5
|
Project-URL: Homepage, https://djangocfg.com
|
6
6
|
Project-URL: Documentation, https://djangocfg.com
|
@@ -571,7 +571,7 @@ django_cfg/core/generation/data_generators/__init__.py,sha256=t8YepmMhMysy95tRYG
|
|
571
571
|
django_cfg/core/generation/data_generators/cache.py,sha256=IEwyVBJ-QJgOm5C13z-974YzV73aZO9MCresGweE7PM,3840
|
572
572
|
django_cfg/core/generation/data_generators/database.py,sha256=ixJOB5e-e3N06F2QNQ1NJV0KLy26RxyvoKaRI1x5FIE,3481
|
573
573
|
django_cfg/core/generation/integration_generators/__init__.py,sha256=tBuO25IHxx5KFHlJumh4L-jA1hXi9smIECPCR2jcgy8,599
|
574
|
-
django_cfg/core/generation/integration_generators/api.py,sha256=
|
574
|
+
django_cfg/core/generation/integration_generators/api.py,sha256=RmHvu9vfe5FFc7Qhf7BiF6chMlNhQg5pibCYZsHAp98,10017
|
575
575
|
django_cfg/core/generation/integration_generators/sessions.py,sha256=W2KJetdF-lgfo54fouLCM6a_iTWGpXZrj1xI2CrtZ7g,1644
|
576
576
|
django_cfg/core/generation/integration_generators/tailwind.py,sha256=nEcaBu-uNJ_O2Y2lHCAc1pG7m8LthnrFFHPxDJqSh3k,1208
|
577
577
|
django_cfg/core/generation/integration_generators/tasks.py,sha256=Wlh9f1dpn_05k7dZxGEm2TegGK-TuP4zVwbCMg5ocM4,2514
|
@@ -601,21 +601,6 @@ django_cfg/core/state/registry.py,sha256=08SYwqp2qrZY0FUg6xXVYgyZfVykIF4mmBkzLKH
|
|
601
601
|
django_cfg/core/types/__init__.py,sha256=zBdIm_Xgr-nTlZ4p7Hr5hoiRdYpIbmikv0SFHXOnFOw,378
|
602
602
|
django_cfg/core/types/aliases.py,sha256=keoGFIw8rLeeRMNNmqhstUo9p-e4VQ7JTIGOxx6BJBc,271
|
603
603
|
django_cfg/core/types/enums.py,sha256=o_g7fvEQ7PboDmf2k-3wODE1lvGfHBFos17bW1673UM,1116
|
604
|
-
django_cfg/dashboard/DEBUG_README.md,sha256=wTvgptUgH-7d1Y0C7EDTJ60rhG_ZZ-p58Z5yLN7DnlU,3357
|
605
|
-
django_cfg/dashboard/REFACTORING_SUMMARY.md,sha256=u-wNCZSEQ0lo0Zab7WpjbIiDauEK5du1uNejezb_a8Q,8027
|
606
|
-
django_cfg/dashboard/__init__.py,sha256=Uh42VBq8QRr-x1eCi2cPGdXGgQM1g4tapIv4zk-PRuo,626
|
607
|
-
django_cfg/dashboard/components.py,sha256=TDuD54gMzae4jirPZ-vycJN_B0Fdzvq-uvcsnMa4nnw,9451
|
608
|
-
django_cfg/dashboard/debug.py,sha256=XpbVYvkX7dcYqYi2ogV88hQfwAwXVep1C57WiDiIXE8,5406
|
609
|
-
django_cfg/dashboard/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
610
|
-
django_cfg/dashboard/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
611
|
-
django_cfg/dashboard/management/commands/debug_dashboard.py,sha256=k6Rxv2M3Sb3pb5lUGrvDoRfL3Sv2WrwQmSnQmMJoip4,3589
|
612
|
-
django_cfg/dashboard/sections/__init__.py,sha256=AnyTuKlR1SrxfF6aK7vBxhv3yuSaL2YLiKSepnkQAq0,34
|
613
|
-
django_cfg/dashboard/sections/base.py,sha256=QbN8rMu44z2CpM1O6AVY6PSuGV9WBrL4H6LwifgdBZo,3460
|
614
|
-
django_cfg/dashboard/sections/commands.py,sha256=u6O8kSreArpktc0VodcZpEOV06uE3v2PTpW-XA-BXmk,946
|
615
|
-
django_cfg/dashboard/sections/documentation.py,sha256=ShWCIaC2VWH1I_8vAZz188mszH4tXzeUFOsDOPh2YtU,16971
|
616
|
-
django_cfg/dashboard/sections/overview.py,sha256=ysycr-qTRC1ndCFmO7KaEkc1BWU-eoaNqkoRnvnaYgw,13465
|
617
|
-
django_cfg/dashboard/sections/stats.py,sha256=k4ogZtZtR1CEkFTvoWgU-HTysr-Y2S4Lie7CNRzl534,1348
|
618
|
-
django_cfg/dashboard/sections/system.py,sha256=IP4SJMPOL-gqDancE_g46ZbmlveYDvljpszRJmz1tSc,2025
|
619
604
|
django_cfg/management/__init__.py,sha256=NrLAhiS59hqjy-bipOC1abNuRiNm5BpKXmjN05VzKbM,28
|
620
605
|
django_cfg/management/commands/__init__.py,sha256=GqJDbjiwRa9Y9uvf695EZ-Y42vQIMHp5YkjhMoeAM9I,417
|
621
606
|
django_cfg/management/commands/check_endpoints.py,sha256=ulsxnUVK2ADMNYPy8CpRHBIhHjYdT8NncLMH_M5lbYk,503
|
@@ -663,7 +648,7 @@ django_cfg/models/base/module.py,sha256=P6YowmE-VOqp_L25Ijxj2hjjNhB9xtlm8G35DHWq
|
|
663
648
|
django_cfg/models/django/__init__.py,sha256=eAV-U4Kj7lW1ymGEQ8Ng6Y7MAq0Nro3wk4_yf80nPEI,350
|
664
649
|
django_cfg/models/django/constance.py,sha256=IVklMTtusxWnWaU3PSatGLQfg5qY_Y89MZQjsJFwbCk,9175
|
665
650
|
django_cfg/models/django/environment.py,sha256=jdg6DXQrnuLSdfZNV4KoFlkiPl1n2jOicPU8NFzyB5U,9439
|
666
|
-
django_cfg/models/django/openapi.py,sha256=
|
651
|
+
django_cfg/models/django/openapi.py,sha256=UyObu4IJqDUWQ_CcaZFXsd0rdCpAejlobYTVj5Y1pPA,5846
|
667
652
|
django_cfg/models/django/revolution_legacy.py,sha256=NONFa3U-w2HSMKumEh0BOD5HVI3ghiMvDbISpWC_wr4,9005
|
668
653
|
django_cfg/models/infrastructure/__init__.py,sha256=If0XLyDNaR_F6rOhDJBCT5RmkOOoNcY61L70pQvaO1s,369
|
669
654
|
django_cfg/models/infrastructure/cache.py,sha256=N6LWinyokWcmuJmInn0q48TQq0Je-xXMJdZ0DbelGPU,12175
|
@@ -730,56 +715,84 @@ django_cfg/modules/django_admin/utils/badges.py,sha256=YPpIzJMDdDFLKCFqgXAZ8tYcL
|
|
730
715
|
django_cfg/modules/django_admin/utils/displays.py,sha256=b7aicrsoocYWZhmBIZeJvrKsew-X8tSHRDQjulR0_IY,9971
|
731
716
|
django_cfg/modules/django_client/__init__.py,sha256=iHaGKbsyR2wMmVCWNsETC7cwB60fZudvnFMiK1bchW8,529
|
732
717
|
django_cfg/modules/django_client/apps.py,sha256=5BiyZCo70pceGcRWXMduXhALiK7D8fM-pEIx4VOi1KY,1153
|
718
|
+
django_cfg/modules/django_client/pytest.ini,sha256=yC1PeQKS4nWQD-jVo5fWF9y1Uv6rywcH0mtHREsiAp0,668
|
733
719
|
django_cfg/modules/django_client/urls.py,sha256=n4hdy2lA05a-Vc5JXUvEl-wr7dwg03fxhb_jWkmhkWs,1789
|
734
720
|
django_cfg/modules/django_client/core/__init__.py,sha256=JQN7WunYrVWN6Mw9U1e6LfseuLh0Q-8SiI2DImWODvU,1066
|
735
721
|
django_cfg/modules/django_client/core/archive/__init__.py,sha256=SKeOKjRnw_NsL7_fOU_2Neo-bcDj4Hv2sVFYztJYiSI,171
|
736
|
-
django_cfg/modules/django_client/core/archive/manager.py,sha256=
|
722
|
+
django_cfg/modules/django_client/core/archive/manager.py,sha256=yCBzRLs4-nnd_QqYssdeVSPpHjE3LjkrxiyXjqOyP2w,3792
|
737
723
|
django_cfg/modules/django_client/core/cli/__init__.py,sha256=bqY0TX3uaOyhlDmVVQ0kjoCvEPqKJFgWBYVPj974dQs,167
|
738
724
|
django_cfg/modules/django_client/core/cli/main.py,sha256=jzNBESbsxxcy5OQkoXBvxlw2gfx5Uy7uKjJuFOFzIvA,6651
|
739
725
|
django_cfg/modules/django_client/core/config/__init__.py,sha256=aFniCFG7yC1Iaal5euPLjuQ-VubyDryc3a7cST8APTk,411
|
740
|
-
django_cfg/modules/django_client/core/config/config.py,sha256=
|
726
|
+
django_cfg/modules/django_client/core/config/config.py,sha256=P1x4PuTp9ZndlQ_lmCsSdXbyqSoRAVoPxvoBIaLbMxU,6399
|
741
727
|
django_cfg/modules/django_client/core/config/group.py,sha256=jmFJLzzhozIBApENHJ_rzrZWd-abd2zXQhf54SLZZAc,2645
|
742
|
-
django_cfg/modules/django_client/core/config/service.py,sha256=
|
743
|
-
django_cfg/modules/django_client/core/generator/__init__.py,sha256=
|
744
|
-
django_cfg/modules/django_client/core/generator/base.py,sha256=
|
745
|
-
django_cfg/modules/django_client/core/generator/python.py,sha256=
|
746
|
-
django_cfg/modules/django_client/core/generator/
|
747
|
-
django_cfg/modules/django_client/core/generator/
|
748
|
-
django_cfg/modules/django_client/core/generator/
|
749
|
-
django_cfg/modules/django_client/core/generator/
|
750
|
-
django_cfg/modules/django_client/core/generator/
|
751
|
-
django_cfg/modules/django_client/core/generator/
|
752
|
-
django_cfg/modules/django_client/core/generator/
|
753
|
-
django_cfg/modules/django_client/core/generator/
|
754
|
-
django_cfg/modules/django_client/core/generator/
|
755
|
-
django_cfg/modules/django_client/core/generator/
|
756
|
-
django_cfg/modules/django_client/core/generator/
|
757
|
-
django_cfg/modules/django_client/core/generator/
|
758
|
-
django_cfg/modules/django_client/core/generator/templates/
|
759
|
-
django_cfg/modules/django_client/core/generator/templates/
|
760
|
-
django_cfg/modules/django_client/core/generator/templates/
|
761
|
-
django_cfg/modules/django_client/core/generator/templates/
|
762
|
-
django_cfg/modules/django_client/core/generator/templates/
|
763
|
-
django_cfg/modules/django_client/core/generator/templates/
|
764
|
-
django_cfg/modules/django_client/core/generator/templates/
|
765
|
-
django_cfg/modules/django_client/core/generator/templates/
|
766
|
-
django_cfg/modules/django_client/core/generator/templates/
|
767
|
-
django_cfg/modules/django_client/core/generator/templates/
|
768
|
-
django_cfg/modules/django_client/core/generator/templates/
|
769
|
-
django_cfg/modules/django_client/core/generator/templates/
|
770
|
-
django_cfg/modules/django_client/core/generator/templates/
|
771
|
-
django_cfg/modules/django_client/core/generator/templates/
|
772
|
-
django_cfg/modules/django_client/core/generator/templates/
|
773
|
-
django_cfg/modules/django_client/core/generator/templates/
|
774
|
-
django_cfg/modules/django_client/core/generator/templates/
|
775
|
-
django_cfg/modules/django_client/core/generator/
|
776
|
-
django_cfg/modules/django_client/core/generator/
|
777
|
-
django_cfg/modules/django_client/core/generator/
|
778
|
-
django_cfg/modules/django_client/core/generator/
|
779
|
-
django_cfg/modules/django_client/core/generator/
|
780
|
-
django_cfg/modules/django_client/core/generator/
|
781
|
-
django_cfg/modules/django_client/core/generator/
|
782
|
-
django_cfg/modules/django_client/core/generator/
|
728
|
+
django_cfg/modules/django_client/core/config/service.py,sha256=cWBlLfDiR_FTX5buUHvrn4j5tSPMs3A3jTq02sn3B-Q,6285
|
729
|
+
django_cfg/modules/django_client/core/generator/__init__.py,sha256=r9oMGKjLKT3e7qOquzcN3k3K7jUMwDwiP4xp1xa_Cso,3204
|
730
|
+
django_cfg/modules/django_client/core/generator/base.py,sha256=M2XZe-Nw8oSJ-tEChuIK5UEfmpNRp9arVPMm1D2q9yw,31549
|
731
|
+
django_cfg/modules/django_client/core/generator/python/__init__.py,sha256=DOPkZBmNVX8qKZBulnE-49iMlBsMHszidzBhWG17c2E,448
|
732
|
+
django_cfg/modules/django_client/core/generator/python/async_client_gen.py,sha256=cxskiVQPtG2fMhH2TTxZ6-UUIxp_Hb7rvo13CnYGtoc,6030
|
733
|
+
django_cfg/modules/django_client/core/generator/python/files_generator.py,sha256=cWczErtcwAFw16JycRC0eRzdmCRtjQUNX4tJx3RlRpk,6420
|
734
|
+
django_cfg/modules/django_client/core/generator/python/generator.py,sha256=a7PIkip07IKAuFdcZLK1THkaW--TX9Icp_13JyOktd0,7672
|
735
|
+
django_cfg/modules/django_client/core/generator/python/models_generator.py,sha256=j6zYFLfF5OM7q6k1pkyYA1Q1rPzwu1iH0_R7gc96Do4,11844
|
736
|
+
django_cfg/modules/django_client/core/generator/python/operations_generator.py,sha256=qJNeOURxvsNPI7idbzl5evTzOj8759fGP75HqFALrjA,10365
|
737
|
+
django_cfg/modules/django_client/core/generator/python/sync_client_gen.py,sha256=DbC_ABPPnLz4SYumu0hSac_0dqKtuVu1IID395o6XRg,3489
|
738
|
+
django_cfg/modules/django_client/core/generator/python/templates/__init__.py.jinja,sha256=eZEZQSz9dc7wjMiFtBtXv_8zVevZozAXwEQ1r1ODpsc,136
|
739
|
+
django_cfg/modules/django_client/core/generator/python/templates/api_wrapper.py.jinja,sha256=tSUUFmv7-UYE-proGfYsdNNe88fS69kzqfC6Afkg66Q,4513
|
740
|
+
django_cfg/modules/django_client/core/generator/python/templates/app_init.py.jinja,sha256=kffAbtfAWLKar2R9X1TyyT3NFXzZTAr1KwsKUGXLf7s,98
|
741
|
+
django_cfg/modules/django_client/core/generator/python/templates/client_file.py.jinja,sha256=bzyYcWH-nt0Bt3X6P7--AlCShTOl-ecxhuJHeMNpBXA,168
|
742
|
+
django_cfg/modules/django_client/core/generator/python/templates/main_init.py.jinja,sha256=PsyfMMe3EAFE3k3GJB94BKZYldIWqLwRvG3y675D8yk,1065
|
743
|
+
django_cfg/modules/django_client/core/generator/python/templates/pyproject.toml.jinja,sha256=Ew6GkITkR_E37jSXwO9b8M0MzeB9qqk31CCntV5ZEKg,1318
|
744
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/app_client.py.jinja,sha256=j_oyWpFmt9-s1fO-MruEDY_ZHSPUFsCkHhz-TPWoUGM,370
|
745
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/flat_client.py.jinja,sha256=32S3aUYMAuxIZKMLw1R-8px_rCaSRBcbs3Wcchag6o0,980
|
746
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/main_client.py.jinja,sha256=Nye6-aR-Yfzyqf0igc09Vc5l_dxFZIyEDgt3-rS1b2I,2206
|
747
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/main_client_file.py.jinja,sha256=nQ0N7vCEYJsz_fCeaGsaArhVditVcS9eZNuehy1ciS4,281
|
748
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/operation_method.py.jinja,sha256=b8mwUMvk_KqmRjjQxyVkBesPG7uPOgezTmDFmFdn3Ls,221
|
749
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/sub_client.py.jinja,sha256=j_oyWpFmt9-s1fO-MruEDY_ZHSPUFsCkHhz-TPWoUGM,370
|
750
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/sync_main_client.py.jinja,sha256=2exgNPnyLMUUcuUb7iovtk-p4lxY-vwyIuOSfFrvl1I,1403
|
751
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/sync_operation_method.py.jinja,sha256=Tc2WzDN9aNjjX42cIGIswhKcMBySquAa64sJ_vYVJvc,215
|
752
|
+
django_cfg/modules/django_client/core/generator/python/templates/client/sync_sub_client.py.jinja,sha256=wXxvMRWKHFDSxmyerozcwbSauUJ2TCJ6M5fZ-DBIL2o,386
|
753
|
+
django_cfg/modules/django_client/core/generator/python/templates/models/app_models.py.jinja,sha256=f-92TTJr0tQcAw7AhKcgksE9XAje-R_HkcbqdHsEe3E,295
|
754
|
+
django_cfg/modules/django_client/core/generator/python/templates/models/enum_class.py.jinja,sha256=cRiJm1Vuhvs9lss_4uMa8SNR68awCZCMUVcEWUDYBXg,263
|
755
|
+
django_cfg/modules/django_client/core/generator/python/templates/models/enums.py.jinja,sha256=sZcWUxdxFS-FBLfY-G0SzeD2VQ2TX7fST2hsIehxyZg,86
|
756
|
+
django_cfg/modules/django_client/core/generator/python/templates/models/models.py.jinja,sha256=WzGhM3sQ6tQQ5XjGw-hVaiJSuhcp1Mh5RtXgFI0PFCw,251
|
757
|
+
django_cfg/modules/django_client/core/generator/python/templates/models/schema_class.py.jinja,sha256=JszU-wAAwvQ3mSMkiyDtVOGKg_lUiSU3dbXWg1GORws,339
|
758
|
+
django_cfg/modules/django_client/core/generator/python/templates/utils/logger.py.jinja,sha256=-mESMBFEsr8Jgy-76V5bm_Hiqqfg7xV_BasKS6zyBZA,7612
|
759
|
+
django_cfg/modules/django_client/core/generator/python/templates/utils/retry.py.jinja,sha256=ie7oYfpO7_gUpJHkXcM70-POIldGdStHo12sd04v1n4,8141
|
760
|
+
django_cfg/modules/django_client/core/generator/python/templates/utils/schema.py.jinja,sha256=xrnhAc-hNk6DigxHmTvhR3dyDFI9ocnkhL-_Hz9hCs8,270
|
761
|
+
django_cfg/modules/django_client/core/generator/typescript/__init__.py,sha256=eHOZp7M65WZ9u3tA_xQlON5-oijZZiGXDhz22Bq73s0,371
|
762
|
+
django_cfg/modules/django_client/core/generator/typescript/client_generator.py,sha256=7ql-m59YVt6zGKfVBCxy1OR3CNy6C9lkaMEUqexiRvo,5878
|
763
|
+
django_cfg/modules/django_client/core/generator/typescript/fetchers_generator.py,sha256=m2bIpgGK11_LGXw9P0QFiSPSQL_05pVYReWBOZ6aUhI,15602
|
764
|
+
django_cfg/modules/django_client/core/generator/typescript/files_generator.py,sha256=faRdhVVf9GQ-0esVz94dsaQMB56zK3csyNkhEHL4al4,7044
|
765
|
+
django_cfg/modules/django_client/core/generator/typescript/generator.py,sha256=_xuQC10SJ1ZKwA2_h3te4ZkSmH2jlnjUr__EJuBwNVE,16982
|
766
|
+
django_cfg/modules/django_client/core/generator/typescript/hooks_generator.py,sha256=suTnbSLHtaezc2kjZwbfNHYSDCYpq8DSeDJ0qL_Bkoc,19886
|
767
|
+
django_cfg/modules/django_client/core/generator/typescript/models_generator.py,sha256=m8K0V1sg3wXHv4IbJggFB1nxkCwiSBGruVavo9yzlxs,8283
|
768
|
+
django_cfg/modules/django_client/core/generator/typescript/operations_generator.py,sha256=CIcRLrCBqpxOrYcjFtk0mkZGJgUnQlaRDK6G0xADoUA,13171
|
769
|
+
django_cfg/modules/django_client/core/generator/typescript/schemas_generator.py,sha256=gd6w8kvogGhy0CDmNYSLRpMG8GiEqvXrBq5TUwOfgn0,10831
|
770
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/api_instance.ts.jinja,sha256=OPUjnz6Dk3kY97UFIRcgvxkEIKd6fUGqBzXJWOXKykE,2906
|
771
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/app_index.ts.jinja,sha256=gLsoYyEzKD6Gv64vsO9sQHMPiFMGdaB5XVufLHeRyvQ,62
|
772
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/client_file.ts.jinja,sha256=LHUt72fO2eRNAHYEscIYvqVR69GC6mxqjcgSlUzeCtc,251
|
773
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/index.ts.jinja,sha256=OtQxzqV_6SYvugk_oS0F9_WXty2tnKY_wl2n9-WeJqo,127
|
774
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/main_index.ts.jinja,sha256=DQhgd3fymcjckwWtlCOi37k6ukQvVCmOYnbUxyUwXyU,6824
|
775
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/package.json.jinja,sha256=XOgZJG3twzWJ8gsZ5VZ_gQx7zBvrnwXy-yUFHfdyBBs,1280
|
776
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/tsconfig.json.jinja,sha256=QKbo6hYoVdRXrm7psRzBGStzAP5omQrnamSQT6b44gE,482
|
777
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/client/app_client.ts.jinja,sha256=jaFN_QIQU2eyu-6uiwUjwACYNr06LI14XGJN0Dgv-9E,260
|
778
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/client/client.ts.jinja,sha256=J-GR7YQuUZn3OiCHYFoDLSZ258bBf--6dx_jAEP55Xc,10376
|
779
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/client/flat_client.ts.jinja,sha256=xmHic5f0Iigde0fisncTcQ2cXkqRreIMVpBFhKbksIY,2626
|
780
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/client/main_client_file.ts.jinja,sha256=MWiSIhqbw57JcWmpQ6YJJuVLcyw3cQ6qfFyoEKhRVTo,333
|
781
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/client/operation.ts.jinja,sha256=z6GD-r7Y-S_yhDtlOAjMgDSL10AF3YrBLLNLPiCt8rE,1869
|
782
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/client/sub_client.ts.jinja,sha256=1rtFMqJO8ynjNNblhMPwCbVFhbSbLJJwiMhuJJYf9Lw,215
|
783
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/fetchers.ts.jinja,sha256=HNeYh8LnTTmeKTQS7uup37Oq-_HwBPZH8qE1kneaJsg,1296
|
784
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/fetchers/index.ts.jinja,sha256=DoAVm8EoglJKtLrE917Fk7Na6rn5Bt9L1nI39o9AwzM,747
|
785
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/models/app_models.ts.jinja,sha256=hRJ06Z-L4M5IEB23dd_rVgwSzSEGmqaSsKVrg5NasY0,122
|
786
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/models/enums.ts.jinja,sha256=8BguyHxV4r5JdJD9wYYgZrClysIdlkjf_Bp5toU81u8,49
|
787
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/models/models.ts.jinja,sha256=mycvqd12K2LsnN4mnwMdQ_SepiIWx6e9gDlUMAGOoBA,121
|
788
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/schemas/index.ts.jinja,sha256=WhV4BOKfP0KQw-tVCTderubrttSWtMdJA9EVfOOqCcU,477
|
789
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/schemas/schema.ts.jinja,sha256=6qCyIx5_Y0R4EmjxqbvPwwRRTJp-g-QPHeMLsUG3RWg,536
|
790
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/utils/errors.ts.jinja,sha256=UPeJNP6pfqA54Z3r23IRBc2dVsaZx0zSuNHj8wyp6v4,3145
|
791
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/utils/http.ts.jinja,sha256=9hJeUzR3RuGlHpXPmX_OizYIv1Y131WGSG52ItxkY28,2720
|
792
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/utils/logger.ts.jinja,sha256=ljuinf486Qoae5Xc8ASO3VqEwTbGrTXJkwarER0Uis8,5440
|
793
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/utils/retry.ts.jinja,sha256=xv1wvOqyIITi7e-318Wxu_af9T72H68TWufVRsHiCqw,4080
|
794
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/utils/schema.ts.jinja,sha256=KC8zJ6R91LtyeVW-dp9ljbwCTZVPyvf0glnRD8pJzAA,167
|
795
|
+
django_cfg/modules/django_client/core/generator/typescript/templates/utils/storage.ts.jinja,sha256=Sbszp1L7b1pN9EScq7c2WmltdC7yXrbqU55v4FmRdT0,4899
|
783
796
|
django_cfg/modules/django_client/core/groups/__init__.py,sha256=6Bw7XECMxamnTDgcNDS9HI8aQCD63_Frhj8ZtejHi4I,226
|
784
797
|
django_cfg/modules/django_client/core/groups/detector.py,sha256=c6FHjveSbMgEbTEL0AnpU5NTWtWqAxXnSH48ebbVR7Y,5562
|
785
798
|
django_cfg/modules/django_client/core/groups/manager.py,sha256=1GL6OTOQuClYZa7_3M7iH_ukhG6z9xxpksbtQjRc-tM,9697
|
@@ -807,9 +820,10 @@ django_cfg/modules/django_client/core/validation/rules/base.py,sha256=xVJli0eSEz
|
|
807
820
|
django_cfg/modules/django_client/core/validation/rules/type_hints.py,sha256=hwjTMADillsTPruDvXZQeZMj4LVV443zxY9o0Gqgg6k,10200
|
808
821
|
django_cfg/modules/django_client/management/__init__.py,sha256=mCTPP_bIOmqNnn0WAG2n4BuF6zwc9PTgdZr_dORfNDk,54
|
809
822
|
django_cfg/modules/django_client/management/commands/__init__.py,sha256=CJ55pHUNYQ5h-QHUe3axeTtxzlUJv7wbEuZmGN21iCM,36
|
810
|
-
django_cfg/modules/django_client/management/commands/generate_client.py,sha256=
|
823
|
+
django_cfg/modules/django_client/management/commands/generate_client.py,sha256=iZvaJ371EikaIs__UB6XjyFuKmE_yWrIyYzaFZiPhME,16749
|
811
824
|
django_cfg/modules/django_client/management/commands/validate_openapi.py,sha256=EtPhZPIistvxVjoyI4hto9L8bOEAtZS21qSIojJ1uSg,11153
|
812
|
-
django_cfg/modules/django_client/spectacular/__init__.py,sha256=
|
825
|
+
django_cfg/modules/django_client/spectacular/__init__.py,sha256=bZNK3hu-ww8BxISPirsTbklaKBNPsf-Jonw3-uIPDhY,278
|
826
|
+
django_cfg/modules/django_client/spectacular/async_detection.py,sha256=6mFNl8EdIZd4evt2aFhCb3NXphYK3uf1AtzW3vAs7lE,5730
|
813
827
|
django_cfg/modules/django_client/spectacular/enum_naming.py,sha256=GSTY8DCxtm75v-IBWs07jxM6mAmgSrq_9Nuz6ai2j3k,6496
|
814
828
|
django_cfg/modules/django_currency/README.md,sha256=4R7KtF-rhR6yRg5jbsXwOVXMZNGEpOyW4N3WGN89W7A,4670
|
815
829
|
django_cfg/modules/django_currency/__init__.py,sha256=vAqVGR7_yL66jMsJSUTOOrRfXJVNIXHdAR6bJ1v3skw,2511
|
@@ -826,6 +840,21 @@ django_cfg/modules/django_currency/examples/__init__.py,sha256=AaHTrP-T1wQot01qi
|
|
826
840
|
django_cfg/modules/django_currency/examples/example_database_usage.py,sha256=VelbgtnvKH37jkz6e2PHTgjMEc9GiUGkcr2cPyWIwL4,4518
|
827
841
|
django_cfg/modules/django_currency/utils/__init__.py,sha256=6nD3BGQrBn94ZqCCBG8X78KPuTmberoOauwNOUi3SUk,130
|
828
842
|
django_cfg/modules/django_currency/utils/cache.py,sha256=lkbkjtBpok-6UljoL8u3yWgyIaaayujlaPXiCamxGHE,2557
|
843
|
+
django_cfg/modules/django_dashboard/DEBUG_README.md,sha256=X1yKA_IVQHwnyam2dZ7hHroLWyLeAOQ_OMfog1ILggk,3387
|
844
|
+
django_cfg/modules/django_dashboard/REFACTORING_SUMMARY.md,sha256=PAxz0u0ueJRpzDbdhHEiJQncYob5Tc_LfuE1E5OtQko,8042
|
845
|
+
django_cfg/modules/django_dashboard/__init__.py,sha256=Uh42VBq8QRr-x1eCi2cPGdXGgQM1g4tapIv4zk-PRuo,626
|
846
|
+
django_cfg/modules/django_dashboard/components.py,sha256=TDuD54gMzae4jirPZ-vycJN_B0Fdzvq-uvcsnMa4nnw,9451
|
847
|
+
django_cfg/modules/django_dashboard/debug.py,sha256=XpbVYvkX7dcYqYi2ogV88hQfwAwXVep1C57WiDiIXE8,5406
|
848
|
+
django_cfg/modules/django_dashboard/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
849
|
+
django_cfg/modules/django_dashboard/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
850
|
+
django_cfg/modules/django_dashboard/management/commands/debug_dashboard.py,sha256=w4gR0LsRUD8JujqBM_W7EwFaYmWBrS5hkpDUYurPuT8,3664
|
851
|
+
django_cfg/modules/django_dashboard/sections/__init__.py,sha256=AnyTuKlR1SrxfF6aK7vBxhv3yuSaL2YLiKSepnkQAq0,34
|
852
|
+
django_cfg/modules/django_dashboard/sections/base.py,sha256=QbN8rMu44z2CpM1O6AVY6PSuGV9WBrL4H6LwifgdBZo,3460
|
853
|
+
django_cfg/modules/django_dashboard/sections/commands.py,sha256=u6O8kSreArpktc0VodcZpEOV06uE3v2PTpW-XA-BXmk,946
|
854
|
+
django_cfg/modules/django_dashboard/sections/documentation.py,sha256=ShWCIaC2VWH1I_8vAZz188mszH4tXzeUFOsDOPh2YtU,16971
|
855
|
+
django_cfg/modules/django_dashboard/sections/overview.py,sha256=ysycr-qTRC1ndCFmO7KaEkc1BWU-eoaNqkoRnvnaYgw,13465
|
856
|
+
django_cfg/modules/django_dashboard/sections/stats.py,sha256=k4ogZtZtR1CEkFTvoWgU-HTysr-Y2S4Lie7CNRzl534,1348
|
857
|
+
django_cfg/modules/django_dashboard/sections/system.py,sha256=IP4SJMPOL-gqDancE_g46ZbmlveYDvljpszRJmz1tSc,2025
|
829
858
|
django_cfg/modules/django_drf_theme/CHANGELOG.md,sha256=1yT2B3opzmo0e1rgnm79rCAhfLuWAA8RxkdfSFqRGRk,5394
|
830
859
|
django_cfg/modules/django_drf_theme/EXAMPLE.md,sha256=TohVazV3tafLRVUPRhrmUahOdQZhOYhLtXcXJIupxTs,10967
|
831
860
|
django_cfg/modules/django_drf_theme/IMPLEMENTATION.md,sha256=clVkX9ABfwhvWMnsV6jtD-lSuV5rj_xBO2spp4oS8so,7373
|
@@ -909,7 +938,7 @@ django_cfg/modules/django_llm/translator/utils/__init__.py,sha256=zDKKhXonokVHtV
|
|
909
938
|
django_cfg/modules/django_llm/translator/utils/prompt_builder.py,sha256=kioi4xT3lvC_lzoheak49AcUcUy8zxsiPv-KqpLPBmY,3376
|
910
939
|
django_cfg/modules/django_llm/translator/utils/text_utils.py,sha256=_7Z4n1oi2_Zl3NU8kbRiLa2dCRViyzFG6-sUIcEmnmE,2925
|
911
940
|
django_cfg/modules/django_logging/FIXES_SUMMARY.md,sha256=O2Dvecw-9gEbQkZVq6HfMrC3lfqkRMfn5YaHAp_Ay1s,7741
|
912
|
-
django_cfg/modules/django_logging/LOGGING_GUIDE.md,sha256=
|
941
|
+
django_cfg/modules/django_logging/LOGGING_GUIDE.md,sha256=WVXefLk7tSEud7wo6sN-lk07buwQpkFAa4hV7Y5WYSk,14402
|
913
942
|
django_cfg/modules/django_logging/__init__.py,sha256=Tq3w3pRVplp1KTJ1whXDKlTwdjJX72BaU-M7IM0uqGQ,231
|
914
943
|
django_cfg/modules/django_logging/django_logger.py,sha256=xeqnOdI93QuVRsehpcHmyMdq0YDhca1_he7BxoIOhVw,8889
|
915
944
|
django_cfg/modules/django_logging/logger.py,sha256=-tZ7DFFiws6fcyB_XVlB2I_b_K99w1DKOVB7-UW4i7A,11055
|
@@ -984,7 +1013,7 @@ django_cfg/modules/django_unfold/callbacks/actions.py,sha256=nJBTC840xPyMLoR1Vjn
|
|
984
1013
|
django_cfg/modules/django_unfold/callbacks/base.py,sha256=Ah8luHRuEnY95_bph50P2E9OvEmJhtGXZ_R61voA16o,10033
|
985
1014
|
django_cfg/modules/django_unfold/callbacks/charts.py,sha256=572ogmblGaj0lcpmNNGTKvdAxQ1Y1Gt8oTSR0-Qjav8,8371
|
986
1015
|
django_cfg/modules/django_unfold/callbacks/commands.py,sha256=L27Njk6uF7lBHjJjBjfxMnw3zNKahgtJctfw9KtHsvA,1285
|
987
|
-
django_cfg/modules/django_unfold/callbacks/main.py,sha256=
|
1016
|
+
django_cfg/modules/django_unfold/callbacks/main.py,sha256=LFr2KNtGzzruru-79cWGAOW-x9O51_nkHDfTQXTZ-gc,12141
|
988
1017
|
django_cfg/modules/django_unfold/callbacks/revolution.py,sha256=yBs71Olb63PTD2ObMwBZI2E8OUJJqKOetwVTK4-pZko,3164
|
989
1018
|
django_cfg/modules/django_unfold/callbacks/statistics.py,sha256=MQeaUCJG06vQ90cY7Qg62Rw5En8cDybaKjx9l-9uDLg,8830
|
990
1019
|
django_cfg/modules/django_unfold/callbacks/system.py,sha256=76o8Hx4WNsAz2B4D_F-7CHJVWh6U2M3MDsqriSxFBzo,6087
|
@@ -1071,9 +1100,9 @@ django_cfg/utils/version_check.py,sha256=jI4v3YMdQriUEeb_TvRl511sDghy6I75iKRDUaN
|
|
1071
1100
|
django_cfg/CHANGELOG.md,sha256=jtT3EprqEJkqSUh7IraP73vQ8PmKUMdRtznQsEnqDZk,2052
|
1072
1101
|
django_cfg/CONTRIBUTING.md,sha256=DU2kyQ6PU0Z24ob7O_OqKWEYHcZmJDgzw-lQCmu6uBg,3041
|
1073
1102
|
django_cfg/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
1074
|
-
django_cfg/pyproject.toml,sha256=
|
1075
|
-
django_cfg-1.4.
|
1076
|
-
django_cfg-1.4.
|
1077
|
-
django_cfg-1.4.
|
1078
|
-
django_cfg-1.4.
|
1079
|
-
django_cfg-1.4.
|
1103
|
+
django_cfg/pyproject.toml,sha256=0WNgZnwXJtXHRf27_wAqyXZd3paevoZLLw-7p4wD-R4,8210
|
1104
|
+
django_cfg-1.4.13.dist-info/METADATA,sha256=HCB5jEjGz2UBDub6qlL55AU8SDwqHHukwNiK2OCb-b4,22533
|
1105
|
+
django_cfg-1.4.13.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
1106
|
+
django_cfg-1.4.13.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
|
1107
|
+
django_cfg-1.4.13.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
1108
|
+
django_cfg-1.4.13.dist-info/RECORD,,
|