django-cfg 1.4.23__py3-none-any.whl → 1.4.25__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/apps/ipc/services/monitor.py +13 -2
- django_cfg/core/builders/security_builder.py +6 -0
- django_cfg/pyproject.toml +1 -1
- {django_cfg-1.4.23.dist-info → django_cfg-1.4.25.dist-info}/METADATA +1 -1
- {django_cfg-1.4.23.dist-info → django_cfg-1.4.25.dist-info}/RECORD +8 -8
- {django_cfg-1.4.23.dist-info → django_cfg-1.4.25.dist-info}/WHEEL +0 -0
- {django_cfg-1.4.23.dist-info → django_cfg-1.4.25.dist-info}/entry_points.txt +0 -0
- {django_cfg-1.4.23.dist-info → django_cfg-1.4.25.dist-info}/licenses/LICENSE +0 -0
@@ -34,9 +34,20 @@ class RPCMonitor:
|
|
34
34
|
Args:
|
35
35
|
redis_client: Optional Redis client. If not provided, creates from config.
|
36
36
|
"""
|
37
|
-
# Import config once
|
38
37
|
from .client.config import DjangoCfgRPCConfig
|
39
|
-
|
38
|
+
from django_cfg.core import get_current_config
|
39
|
+
|
40
|
+
# Try to get config from django-cfg global state first
|
41
|
+
django_cfg_config = get_current_config()
|
42
|
+
|
43
|
+
if django_cfg_config and hasattr(django_cfg_config, 'django_ipc') and django_cfg_config.django_ipc:
|
44
|
+
# Use config from django-cfg DjangoConfig
|
45
|
+
self.config = django_cfg_config.django_ipc
|
46
|
+
logger.debug(f"RPCMonitor initialized from django-cfg config: {self.config.redis_url}")
|
47
|
+
else:
|
48
|
+
# Fallback to default config
|
49
|
+
self.config = DjangoCfgRPCConfig()
|
50
|
+
logger.warning("Django-CFG config not found, using default RPC config")
|
40
51
|
|
41
52
|
self.redis_client = redis_client or self._create_redis_client()
|
42
53
|
|
@@ -72,7 +72,13 @@ class SecurityBuilder:
|
|
72
72
|
"localhost",
|
73
73
|
"127.0.0.1",
|
74
74
|
"[::1]", # IPv6 localhost
|
75
|
+
".localhost", # Allow subdomains of localhost
|
75
76
|
])
|
77
|
+
# Allow all IP addresses in development (for Docker internal IPs, health checks, etc.)
|
78
|
+
# Regex pattern matches any IPv4 address
|
79
|
+
allowed_hosts.append(r"^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$")
|
80
|
+
# Allow common Docker service names
|
81
|
+
allowed_hosts.extend(["django", "postgres", "redis", "frontend-cloud", "frontend-3d"])
|
76
82
|
|
77
83
|
# Add security domains (both dev and prod)
|
78
84
|
allowed_hosts.extend(self.config.security_domains)
|
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.25"
|
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.25
|
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
|
@@ -122,7 +122,7 @@ django_cfg/apps/ipc/urls_admin.py,sha256=YvixgQXTVFWojJeYmo0b7AF9X9g7Nmhwxv7Fm4i
|
|
122
122
|
django_cfg/apps/ipc/serializers/__init__.py,sha256=F7hvptXZP-vyeQpnn5SQxbl2gYWlFfy7cFCojo4TXSU,387
|
123
123
|
django_cfg/apps/ipc/serializers/serializers.py,sha256=Yb3ai5H_T2mpYKe4qNYyQEvkHnLaVTcNa2CTdgwoD_g,6577
|
124
124
|
django_cfg/apps/ipc/services/__init__.py,sha256=YdHT1pd7FZbjYFaPAf3rw_t3NIHA-6TIWI7Il2ELLO4,96
|
125
|
-
django_cfg/apps/ipc/services/monitor.py,sha256=
|
125
|
+
django_cfg/apps/ipc/services/monitor.py,sha256=NjZdNACiFggi9HgjXRwVDdj5DfloYeO5OuOe6XIAtZs,15368
|
126
126
|
django_cfg/apps/ipc/services/client/__init__.py,sha256=diiN9vU_Tpq8_zML3dMHldpqycsbCt51JKiQC6pJ0ZU,444
|
127
127
|
django_cfg/apps/ipc/services/client/client.py,sha256=aSCa_wjw0XPntd2KL2tQUsu3iOXdwT2KHOwFK9vb4xo,17479
|
128
128
|
django_cfg/apps/ipc/services/client/config.py,sha256=JArEm7Gg4eEa3C3iuJ63Nr3QIZi_-n2sHbFWiIlOukg,5668
|
@@ -580,7 +580,7 @@ django_cfg/core/base/config_model.py,sha256=wVmeFkfdsAyJsHAGPBygsFI-oJltaROQcZFP
|
|
580
580
|
django_cfg/core/builders/__init__.py,sha256=jkInI7_jbxcjitapohw6QmbJPpacnnID6V1JovqtOFM,282
|
581
581
|
django_cfg/core/builders/apps_builder.py,sha256=QfgyaLTj--tQWRjYo4Negybq6Dr7YHi0l15n3ohMQtI,8312
|
582
582
|
django_cfg/core/builders/middleware_builder.py,sha256=IiSSwnwnwAFpJCt0V6Y94vzhppG-qoITZAjE_O0tvqM,3704
|
583
|
-
django_cfg/core/builders/security_builder.py,sha256=
|
583
|
+
django_cfg/core/builders/security_builder.py,sha256=CXCmwPpsZskLHxe3QcmbNvy4H2zpfsGrLQGP7kWAu6Y,3160
|
584
584
|
django_cfg/core/environment/__init__.py,sha256=sMOIe9z1i51j8B1VGjpLHJMaeDsBfsgn1TmL03FIeNo,141
|
585
585
|
django_cfg/core/environment/detector.py,sha256=bI9k4fdK8Nbfl61ZcQ3yNbm3WlmK-L0xB-g-aXKUdhA,8923
|
586
586
|
django_cfg/core/generation/__init__.py,sha256=0cYgeQ5EDN6sscQuFnXsFCy6m1BKgv_izNz0a1TlYSc,1355
|
@@ -1129,9 +1129,9 @@ django_cfg/utils/version_check.py,sha256=WO51J2m2e-wVqWCRwbultEwu3q1lQasV67Mw2aa
|
|
1129
1129
|
django_cfg/CHANGELOG.md,sha256=jtT3EprqEJkqSUh7IraP73vQ8PmKUMdRtznQsEnqDZk,2052
|
1130
1130
|
django_cfg/CONTRIBUTING.md,sha256=DU2kyQ6PU0Z24ob7O_OqKWEYHcZmJDgzw-lQCmu6uBg,3041
|
1131
1131
|
django_cfg/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
1132
|
-
django_cfg/pyproject.toml,sha256=
|
1133
|
-
django_cfg-1.4.
|
1134
|
-
django_cfg-1.4.
|
1135
|
-
django_cfg-1.4.
|
1136
|
-
django_cfg-1.4.
|
1137
|
-
django_cfg-1.4.
|
1132
|
+
django_cfg/pyproject.toml,sha256=DwaYJkbsroS7yvqU4ZfBOA2EtLmLIEx1pxbENA8-Jaw,8210
|
1133
|
+
django_cfg-1.4.25.dist-info/METADATA,sha256=T9giY1fdn1Z6Af4rcbD6wli0otnhs4FrmiC6FerOxws,22533
|
1134
|
+
django_cfg-1.4.25.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
1135
|
+
django_cfg-1.4.25.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
|
1136
|
+
django_cfg-1.4.25.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
1137
|
+
django_cfg-1.4.25.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|