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.
@@ -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
- self.config = DjangoCfgRPCConfig()
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.23"
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.23
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=BJq1-dx4OXa7I_pifr3wI55iY-TTclDm_xc490VOu6Y,14768
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=2Ynrcm8ZvR09xovtW4k33Ds1wjkhmPMbRSy1QT5sJQk,2724
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=_FJUONEVbFLX3YF-A1SoXUYKBFBNKFQMoqauw6Ile4A,8210
1133
- django_cfg-1.4.23.dist-info/METADATA,sha256=L37_mkMm2g8j7_f1Dj_RIbYPvNKnXnP2AA82Ii6pinU,22533
1134
- django_cfg-1.4.23.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
1135
- django_cfg-1.4.23.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
1136
- django_cfg-1.4.23.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
1137
- django_cfg-1.4.23.dist-info/RECORD,,
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,,