django-cfg 1.4.3__py3-none-any.whl → 1.4.5__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/CHANGELOG.md +57 -0
- django_cfg/CONTRIBUTING.md +145 -0
- django_cfg/LICENSE +21 -0
- django_cfg/__init__.py +1 -1
- django_cfg/apps/api/endpoints/__init__.py +5 -0
- django_cfg/apps/api/endpoints/checker.py +406 -0
- django_cfg/apps/api/endpoints/drf_views.py +52 -0
- django_cfg/apps/api/endpoints/serializers.py +103 -0
- django_cfg/apps/api/endpoints/tests.py +281 -0
- django_cfg/apps/api/endpoints/urls.py +14 -0
- django_cfg/apps/api/endpoints/views.py +41 -0
- django_cfg/apps/payments/admin_interface/views/api/webhook_admin.py +2 -2
- django_cfg/apps/urls.py +2 -0
- django_cfg/management/commands/check_endpoints.py +146 -0
- django_cfg/modules/django_ipc_client/client.py +1 -0
- django_cfg/pyproject.toml +148 -0
- django_cfg/routing/routers.py +15 -2
- {django_cfg-1.4.3.dist-info → django_cfg-1.4.5.dist-info}/METADATA +2 -2
- {django_cfg-1.4.3.dist-info → django_cfg-1.4.5.dist-info}/RECORD +22 -10
- {django_cfg-1.4.3.dist-info → django_cfg-1.4.5.dist-info}/WHEEL +0 -0
- {django_cfg-1.4.3.dist-info → django_cfg-1.4.5.dist-info}/entry_points.txt +0 -0
- {django_cfg-1.4.3.dist-info → django_cfg-1.4.5.dist-info}/licenses/LICENSE +0 -0
@@ -0,0 +1,148 @@
|
|
1
|
+
[build-system]
|
2
|
+
requires = [ "hatchling",]
|
3
|
+
build-backend = "hatchling.build"
|
4
|
+
|
5
|
+
[project]
|
6
|
+
name = "django-cfg"
|
7
|
+
version = "1.4.5"
|
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
|
+
readme = "README.md"
|
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",]
|
11
|
+
classifiers = [ "Development Status :: 4 - Beta", "Framework :: Django", "Framework :: Django :: 5.2", "Intended Audience :: Developers", "License :: OSI Approved :: MIT License", "Operating System :: OS Independent", "Programming Language :: Python", "Programming Language :: Python :: 3", "Programming Language :: Python :: 3.12", "Programming Language :: Python :: 3.13", "Topic :: Internet :: WWW/HTTP", "Topic :: Internet :: WWW/HTTP :: Dynamic Content", "Topic :: Software Development :: Libraries :: Python Modules", "Topic :: System :: Systems Administration", "Typing :: Typed",]
|
12
|
+
requires-python = ">=3.12,<4.0"
|
13
|
+
dependencies = [ "pydantic>=2.11.0,<3.0", "pydantic[email]>=2.11.0,<3.0", "PyYAML>=6.0,<7.0", "pydantic-yaml>=1.6.0,<2.0", "click>=8.2.0,<9.0", "questionary>=2.1.0,<3.0", "rich>=14.0.0,<15.0", "cloudflare>=4.3.0,<5.0", "loguru>=0.7.0,<1.0", "colorlog>=6.9.0,<7.0", "cachetools>=5.3.0,<7.0", "toml>=0.10.2,<0.11.0", "ngrok>=1.5.1; python_version>='3.12'", "psycopg[binary,pool]>=3.2.0,<4.0", "dj-database-url>=3.0.0,<4.0", "whitenoise>=6.8.0,<7.0", "django-cors-headers>=4.7.0,<5.0", "djangorestframework>=3.16.0,<4.0", "djangorestframework-simplejwt>=5.5.0,<6.0", "djangorestframework-simplejwt[token-blacklist]>=5.5.0,<6.0", "drf-nested-routers>=0.94.0,<1.0", "django-filter>=25.0,<26.0", "django-ratelimit>=4.1.0,<5.0.0", "drf-spectacular>=0.28.0,<1.0", "drf-spectacular-sidecar>=2025.8.0,<2026.0", "django-json-widget>=2.0.0,<3.0", "django-import-export>=4.3.0,<5.0", "django-extensions>=4.1.0,<5.0", "django-constance>=4.3.0,<5.0", "django-unfold>=0.64.0,<1.0", "django-redis>=6.0.0,<7.0", "redis>=6.4.0,<7.0", "hiredis>=2.0.0,<4.0", "dramatiq[redis]>=1.18.0,<2.0", "django-dramatiq>=0.14.0,<1.0", "pyTelegramBotAPI>=4.28.0,<5.0", "coolname>=2.2.0,<3.0", "django-admin-rangefilter>=0.13.0,<1.0", "python-json-logger>=3.3.0,<4.0", "requests>=2.32.0,<3.0", "tiktoken>=0.11.0,<1.0", "openai>=1.107.0,<2.0", "twilio>=9.8.0,<10.0", "sendgrid>=6.12.0,<7.0", "beautifulsoup4>=4.13.0,<5.0", "lxml>=6.0.0,<7.0", "pgvector>=0.4.0,<1.0", "pydantic-ai>=1.0.10,<2.0", "django-revolution>=1.0.43,<2.0", "tenacity>=9.1.2,<10.0.0", "mypy (>=1.18.2,<2.0.0)", "django-tailwind[reload] (>=4.2.0,<5.0.0)",]
|
14
|
+
[[project.authors]]
|
15
|
+
name = "Django-CFG Team"
|
16
|
+
email = "info@djangocfg.com"
|
17
|
+
|
18
|
+
[[project.maintainers]]
|
19
|
+
name = "Django-CFG Team"
|
20
|
+
email = "info@djangocfg.com"
|
21
|
+
|
22
|
+
[project.license]
|
23
|
+
text = "MIT"
|
24
|
+
|
25
|
+
[project.optional-dependencies]
|
26
|
+
local = []
|
27
|
+
django52 = [ "django>=5.2,<6.0",]
|
28
|
+
dev = [ "django>=5.2,<6.0", "pytest>=8.4,<9.0", "pytest-django>=4.11,<5.0", "pytest-cov>=7.0,<8.0", "pytest-mock>=3.15,<4.0", "factory-boy>=3.3,<4.0", "fakeredis>=2.28,<3.0", "black>=25.9,<26.0", "isort>=6.0,<7.0", "flake8>=6.0.0,<8.0", "mypy>=1.18,<2.0", "pre-commit>=4.3,<5.0", "build>=1.3,<2.0", "twine>=6.2,<7.0", "tomlkit>=0.13.3,<1.0", "questionary>=2.1.0,<3.0", "rich>=13.0.0,<15.0", "mkdocs>=1.6,<2.0", "mkdocs-material>=9.6,<10.0", "mkdocstrings[python]>=0.30,<1.0", "redis>=6.4.0,<7.0",]
|
29
|
+
test = [ "django>=5.2,<6.0", "pytest>=8.4,<9.0", "pytest-django>=4.11,<5.0", "pytest-cov>=7.0,<8.0", "pytest-mock>=3.15,<4.0", "pytest-xdist>=3.8,<4.0", "factory-boy>=3.3,<4.0", "fakeredis>=2.28,<3.0",]
|
30
|
+
docs = [ "mkdocs>=1.6,<2.0", "mkdocs-material>=9.6,<10.0", "mkdocstrings[python]>=0.30,<1.0", "pymdown-extensions>=10.16,<11.0",]
|
31
|
+
tasks = [ "redis>=6.4.0,<7.0",]
|
32
|
+
full = [ "django>=5.2,<6.0", "pytest>=8.4,<9.0", "pytest-django>=4.11,<5.0", "pytest-cov>=7.0,<8.0", "pytest-mock>=3.15,<4.0", "pytest-xdist>=3.8,<4.0", "factory-boy>=3.3,<4.0", "black>=25.9,<26.0", "isort>=6.0,<7.0", "flake8>=6.0.0,<8.0", "mypy>=1.18,<2.0", "pre-commit>=4.3,<5.0", "build>=1.3,<2.0", "twine>=6.2,<7.0", "tomlkit>=0.13.3,<1.0", "questionary>=2.1.0,<3.0", "rich>=13.0.0,<15.0", "mkdocs>=1.6,<2.0", "mkdocs-material>=9.6,<10.0", "mkdocstrings[python]>=0.30,<1.0", "pymdown-extensions>=10.16,<11.0", "redis>=6.4.0,<7.0",]
|
33
|
+
|
34
|
+
[project.urls]
|
35
|
+
Homepage = "https://djangocfg.com"
|
36
|
+
Documentation = "https://djangocfg.com"
|
37
|
+
Repository = "https://github.com/markolofsen/django-cfg"
|
38
|
+
Issues = "https://github.com/markolofsen/django-cfg/issues"
|
39
|
+
Changelog = "https://github.com/markolofsen/django-cfg/blob/main/CHANGELOG.md"
|
40
|
+
|
41
|
+
[project.scripts]
|
42
|
+
django-cfg = "django_cfg.cli.main:main"
|
43
|
+
|
44
|
+
[tool.black]
|
45
|
+
line-length = 100
|
46
|
+
target-version = [ "py39",]
|
47
|
+
include = "\\.pyi?$"
|
48
|
+
extend-exclude = "/(\n \\.eggs\n | \\.git\n | \\.hg\n | \\.mypy_cache\n | \\.tox\n | \\.venv\n | _build\n | buck-out\n | build\n | dist\n | migrations\n)/\n"
|
49
|
+
|
50
|
+
[tool.isort]
|
51
|
+
profile = "black"
|
52
|
+
line_length = 100
|
53
|
+
multi_line_output = 3
|
54
|
+
include_trailing_comma = true
|
55
|
+
force_grid_wrap = 0
|
56
|
+
use_parentheses = true
|
57
|
+
ensure_newline_before_comments = true
|
58
|
+
known_django = [ "django",]
|
59
|
+
known_first_party = [ "django_cfg",]
|
60
|
+
sections = [ "FUTURE", "STDLIB", "DJANGO", "THIRDPARTY", "FIRSTPARTY", "LOCALFOLDER",]
|
61
|
+
|
62
|
+
[tool.mypy]
|
63
|
+
python_version = "3.9"
|
64
|
+
check_untyped_defs = true
|
65
|
+
ignore_missing_imports = true
|
66
|
+
warn_unused_ignores = true
|
67
|
+
warn_redundant_casts = true
|
68
|
+
warn_unused_configs = true
|
69
|
+
disallow_untyped_defs = true
|
70
|
+
disallow_incomplete_defs = true
|
71
|
+
disallow_untyped_decorators = true
|
72
|
+
strict_optional = true
|
73
|
+
show_error_codes = true
|
74
|
+
[[tool.mypy.overrides]]
|
75
|
+
module = [ "django.*", "rest_framework.*", "django_redis.*", "yaml.*",]
|
76
|
+
ignore_missing_imports = true
|
77
|
+
|
78
|
+
[tool.ruff]
|
79
|
+
target-version = "py39"
|
80
|
+
line-length = 100
|
81
|
+
select = [ "E", "W", "F", "I", "B", "C4", "UP", "N", "S",]
|
82
|
+
ignore = [ "E501", "B008", "S101", "S311",]
|
83
|
+
|
84
|
+
[tool.bandit]
|
85
|
+
exclude_dirs = [ "tests", "migrations",]
|
86
|
+
skips = [ "B101", "B601",]
|
87
|
+
|
88
|
+
[tool.poetry]
|
89
|
+
[[tool.poetry.source]]
|
90
|
+
name = "pypi"
|
91
|
+
priority = "primary"
|
92
|
+
|
93
|
+
[tool.ruff.per-file-ignores]
|
94
|
+
"tests/*" = [ "S101", "S106",]
|
95
|
+
"*/migrations/*" = [ "N806",]
|
96
|
+
|
97
|
+
[tool.hatch.metadata]
|
98
|
+
allow-direct-references = true
|
99
|
+
|
100
|
+
[tool.pytest.ini_options]
|
101
|
+
addopts = [ "--cov=django_cfg", "--cov-report=term-missing", "--cov-report=html", "--cov-report=xml", "--cov-fail-under=50", "--strict-markers", "--strict-config", "--verbose",]
|
102
|
+
testpaths = [ "tests",]
|
103
|
+
markers = [ "slow: marks tests as slow (deselect with '-m \"not slow\"')", "integration: marks tests as integration tests", "unit: marks tests as unit tests", "django_db: marks tests that require database access",]
|
104
|
+
filterwarnings = [ "error", "ignore::UserWarning", "ignore::DeprecationWarning",]
|
105
|
+
|
106
|
+
[tool.coverage.run]
|
107
|
+
source = [ "src/django_cfg",]
|
108
|
+
omit = [ "*/tests/*", "*/migrations/*", "*/__pycache__/*", "*/venv/*", "*/.venv/*",]
|
109
|
+
|
110
|
+
[tool.coverage.report]
|
111
|
+
exclude_lines = [ "pragma: no cover", "def __repr__", "if self.debug:", "if settings.DEBUG", "raise AssertionError", "raise NotImplementedError", "if 0:", "if __name__ == .__main__.:", "class .*\\bProtocol\\):", "@(abc\\.)?abstractmethod",]
|
112
|
+
|
113
|
+
[tool.coverage.html]
|
114
|
+
directory = "htmlcov"
|
115
|
+
|
116
|
+
[tool.poetry.group.local]
|
117
|
+
optional = true
|
118
|
+
|
119
|
+
[tool.hatch.build.targets.wheel]
|
120
|
+
packages = [ "src/django_cfg",]
|
121
|
+
exclude = [ "scripts/",]
|
122
|
+
|
123
|
+
[tool.hatch.build.targets.sdist]
|
124
|
+
include = [ "src/django_cfg", "README.md", "LICENSE", "CHANGELOG.md", "CONTRIBUTING.md", "requirements*.txt", "MANIFEST.in",]
|
125
|
+
exclude = [ "@*", "tests", "scripts", "*.log", ".env*",]
|
126
|
+
|
127
|
+
[tool.poetry.group.dev.dependencies]
|
128
|
+
tomlkit = "^0.13.3"
|
129
|
+
build = "^1.3.0"
|
130
|
+
rich = "^14.1.0"
|
131
|
+
questionary = "^2.1.0"
|
132
|
+
psutil = "^7.0.0"
|
133
|
+
aiohttp = "^3.12.15"
|
134
|
+
pytest-asyncio = "^1.2.0"
|
135
|
+
pillow = "^11.3.0"
|
136
|
+
pytest = "^8.4.2"
|
137
|
+
pytest-django = "^4.11.1"
|
138
|
+
fakeredis = "^2.31.3"
|
139
|
+
|
140
|
+
[tool.hatch.build.targets.wheel.force-include]
|
141
|
+
LICENSE = "django_cfg/LICENSE"
|
142
|
+
"CONTRIBUTING.md" = "django_cfg/CONTRIBUTING.md"
|
143
|
+
"CHANGELOG.md" = "django_cfg/CHANGELOG.md"
|
144
|
+
"pyproject.toml" = "django_cfg/pyproject.toml"
|
145
|
+
|
146
|
+
[tool.poetry.group.local.dependencies.django-ipc]
|
147
|
+
path = "/Users/markinmatrix/djangoipc"
|
148
|
+
develop = true
|
django_cfg/routing/routers.py
CHANGED
@@ -26,11 +26,24 @@ class DatabaseRouter:
|
|
26
26
|
return rules.get(model._meta.app_label)
|
27
27
|
|
28
28
|
def allow_relation(self, obj1, obj2, **hints):
|
29
|
-
"""
|
29
|
+
"""
|
30
|
+
Allow relations between objects.
|
31
|
+
|
32
|
+
- If both objects are routed: only allow if they're in the same database
|
33
|
+
- If one or both objects are NOT routed (e.g., User in default): allow
|
34
|
+
(This enables cross-database ForeignKeys for shared models like User)
|
35
|
+
"""
|
30
36
|
rules = getattr(settings, 'DATABASE_ROUTING_RULES', {})
|
31
37
|
db1 = rules.get(obj1._meta.app_label)
|
32
38
|
db2 = rules.get(obj2._meta.app_label)
|
33
|
-
|
39
|
+
|
40
|
+
# If both are routed, they must be in the same database
|
41
|
+
if db1 and db2:
|
42
|
+
return db1 == db2
|
43
|
+
|
44
|
+
# If one or both are not routed (e.g., User in default db), allow the relation
|
45
|
+
# This enables routed apps (blog, shop) to have ForeignKeys to shared models (User)
|
46
|
+
return True
|
34
47
|
|
35
48
|
def allow_migrate(self, db, app_label, **hints):
|
36
49
|
"""Allow migrations to correct database."""
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: django-cfg
|
3
|
-
Version: 1.4.
|
3
|
+
Version: 1.4.5
|
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
|
@@ -156,7 +156,7 @@ Description-Content-Type: text/markdown
|
|
156
156
|
[](https://github.com/markolofsen/django-cfg)
|
157
157
|
|
158
158
|
<div align="center">
|
159
|
-
<img src="https://raw.githubusercontent.com/markolofsen/django-cfg/refs/heads/main/
|
159
|
+
<img src="https://raw.githubusercontent.com/markolofsen/django-cfg/refs/heads/main/static/django-cfg.png" alt="Django-CFG Framework" width="100%">
|
160
160
|
</div>
|
161
161
|
|
162
162
|
---
|
@@ -1,9 +1,9 @@
|
|
1
1
|
django_cfg/README.md,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
django_cfg/__init__.py,sha256=
|
2
|
+
django_cfg/__init__.py,sha256=4dZgnuTlq8YmLISTJAqnPrr080kxPfmPKUjhiWhkEDc,1630
|
3
3
|
django_cfg/apps.py,sha256=k84brkeXJI7EgKZLEpTkM9YFZofKI4PzhFOn1cl9Msc,1656
|
4
4
|
django_cfg/config.py,sha256=3hX5bOCbOWdUvtD9Z5qEHEOEyWzY1-4CsvFs_EO7VSw,1398
|
5
5
|
django_cfg/apps/__init__.py,sha256=JtDmEYt1OcleWM2ZaeX0LKDnRQzPOavfaXBWG4ECB5Q,26
|
6
|
-
django_cfg/apps/urls.py,sha256=
|
6
|
+
django_cfg/apps/urls.py,sha256=dNiX1MI7XGR5QyySWiFKfdXOwFJi5iPvegInmN_dB10,2861
|
7
7
|
django_cfg/apps/accounts/README.md,sha256=YkUYJ3iKMYTmm9ALK2PDnX75SDqZxgnkzNLCD5efxRs,8227
|
8
8
|
django_cfg/apps/accounts/__init__.py,sha256=osecEQhMJVP8ejhZzElNsAqA1fX-GPD3K5_yNwDk6IE,100
|
9
9
|
django_cfg/apps/accounts/__models.py,sha256=65AomWYd78ptQ60drPbodxf0Ue310vmJQpQOPHL6V3E,10161
|
@@ -102,6 +102,13 @@ django_cfg/apps/api/__init__.py,sha256=fHkKXld_pw5Eiqz4tNb3Z02nx-7T7PnqgMh-qjkGB
|
|
102
102
|
django_cfg/apps/api/commands/__init__.py,sha256=FTmBMxSpI9rO6EljgkWn8e9pxh07ao5Y1kx2TzQmZSY,88
|
103
103
|
django_cfg/apps/api/commands/urls.py,sha256=k7auWLPi3FiCSkBwuDMK9R-jeHKfrFNzr7LvOWuGdxA,360
|
104
104
|
django_cfg/apps/api/commands/views.py,sha256=OdSWzEjTM5SL9NJvaJB6pe1_wjevjWrOWWWwo4sB7Uo,10069
|
105
|
+
django_cfg/apps/api/endpoints/__init__.py,sha256=uHjV4E24Aj0UFgv7bW1Z0kH_NFe8PItNFuS105vvRz0,108
|
106
|
+
django_cfg/apps/api/endpoints/checker.py,sha256=n9jYoDHuwkMHRYGn5J5QEwtUQlS3nh3IV37B9B6Vsuc,12537
|
107
|
+
django_cfg/apps/api/endpoints/drf_views.py,sha256=T5Fy4-0OY5nr2OpGM8YOdcXt53O7f1V79MQeXs0DUQo,1769
|
108
|
+
django_cfg/apps/api/endpoints/serializers.py,sha256=bsTAKuk8rodeVPRln4bCGq95_Q0pw9ePnSRsFtb9RJY,2978
|
109
|
+
django_cfg/apps/api/endpoints/tests.py,sha256=hvMgYVSWI_dfoSgb1ow9EwVXXUE9uZeCUEvNo1H995k,9992
|
110
|
+
django_cfg/apps/api/endpoints/urls.py,sha256=QaGFwwA_rSq-qN0kcqM8LvTgTq_YlMd7MOAZCbC9E-k,372
|
111
|
+
django_cfg/apps/api/endpoints/views.py,sha256=sqvl07krrJur4ZhzB3QWK1ppEvuVSEX0zSoIQ-farDQ,1242
|
105
112
|
django_cfg/apps/api/health/__init__.py,sha256=ypFUiCo0I9VJpaZ_KqEPPX3-ma_MhRm5U1XYWahUaFI,93
|
106
113
|
django_cfg/apps/api/health/drf_views.py,sha256=EhK85lHg8J7fkZKUROSk6Gv-A2WzpRugBHwrKDjy2OI,8796
|
107
114
|
django_cfg/apps/api/health/serializers.py,sha256=Y_kn_RIn4MBRJWbsO2_DNEG_AqxnhuD7h9srhj6ggEE,1270
|
@@ -336,7 +343,7 @@ django_cfg/apps/payments/admin_interface/views/api/__init__.py,sha256=0lwYw-BO_j
|
|
336
343
|
django_cfg/apps/payments/admin_interface/views/api/payments.py,sha256=H02smiTvTR2XPXX7eWjueHbE1hby99Xui3jQtFe4xi4,11709
|
337
344
|
django_cfg/apps/payments/admin_interface/views/api/stats.py,sha256=Ms2RPsZa3-inHM9GuaOa81eEVbuF2hzZ3ZTNDD0qsDg,8020
|
338
345
|
django_cfg/apps/payments/admin_interface/views/api/users.py,sha256=iVTCbEjRHI8WO7eFXNoyW9VAfjwBz-BecXO_qfHrDOQ,2245
|
339
|
-
django_cfg/apps/payments/admin_interface/views/api/webhook_admin.py,sha256=
|
346
|
+
django_cfg/apps/payments/admin_interface/views/api/webhook_admin.py,sha256=NEFoU2UsfgQhXJIqehtNFsloA7JceUn3XEiwBoNAnPI,12136
|
340
347
|
django_cfg/apps/payments/admin_interface/views/api/webhook_public.py,sha256=JJtFkscn3ZnX4lfl7aHVJ3-yklUFPLRcP304ceuomsE,2467
|
341
348
|
django_cfg/apps/payments/config/__init__.py,sha256=V42Z39g3F7LU0TGYwBqySuIaY7cgpnFNJGaX2tai7Fo,985
|
342
349
|
django_cfg/apps/payments/config/django_cfg_integration.py,sha256=Kblp3SAkrg1HC9Lf2qbqCyqv5OOXRLEtQMzjfZBBAIk,8444
|
@@ -610,6 +617,7 @@ django_cfg/dashboard/sections/stats.py,sha256=k4ogZtZtR1CEkFTvoWgU-HTysr-Y2S4Lie
|
|
610
617
|
django_cfg/dashboard/sections/system.py,sha256=IP4SJMPOL-gqDancE_g46ZbmlveYDvljpszRJmz1tSc,2025
|
611
618
|
django_cfg/management/__init__.py,sha256=NrLAhiS59hqjy-bipOC1abNuRiNm5BpKXmjN05VzKbM,28
|
612
619
|
django_cfg/management/commands/__init__.py,sha256=GqJDbjiwRa9Y9uvf695EZ-Y42vQIMHp5YkjhMoeAM9I,417
|
620
|
+
django_cfg/management/commands/check_endpoints.py,sha256=-65NG14047mGTUnZZzupYp4vD7nFBxTLvAkwECbTQfg,5126
|
613
621
|
django_cfg/management/commands/check_settings.py,sha256=YyYKBMT3XaILD6PFKQGPALNnDv9rNtnF2U8RlkCoYiA,11770
|
614
622
|
django_cfg/management/commands/clear_constance.py,sha256=tX6YUeJsmxJxXLQRDX3VUkUP9t6B1gAyVrBl4krQ6K0,8263
|
615
623
|
django_cfg/management/commands/create_token.py,sha256=NspV-9j-T0dDjqY6ccJeuVqTB3v4ne1Jc43G2tKuioI,12015
|
@@ -741,7 +749,7 @@ django_cfg/modules/django_import_export/README.md,sha256=OuGT5gv0hwt3dcbMLfZUfos
|
|
741
749
|
django_cfg/modules/django_import_export/__init__.py,sha256=oJ9BDGdbQ_B8E2bGXxSQyRSzr8212rHGtgSLf9v6cAI,1908
|
742
750
|
django_cfg/modules/django_ipc_client/README.md,sha256=f_t_dK-W6GXMy7kxKpa_FidkZPII4M7eI3cmTFkJRMg,8971
|
743
751
|
django_cfg/modules/django_ipc_client/__init__.py,sha256=i1EODpOg7VIjCjZjO0ALDXFlVnRvUVolooOLxAROGek,1441
|
744
|
-
django_cfg/modules/django_ipc_client/client.py,sha256=
|
752
|
+
django_cfg/modules/django_ipc_client/client.py,sha256=lMlRm40axUcn44XJ_-JWibhqDJ-cpjwQCMweCMGpkdY,17478
|
745
753
|
django_cfg/modules/django_ipc_client/config.py,sha256=JArEm7Gg4eEa3C3iuJ63Nr3QIZi_-n2sHbFWiIlOukg,5668
|
746
754
|
django_cfg/modules/django_ipc_client/exceptions.py,sha256=qUohP8mtdczjNrB0uGTC3t6Km6FYgf6dFt0pWcYF2PE,5866
|
747
755
|
django_cfg/modules/django_ipc_client/dashboard/README.md,sha256=FTas0jg0bUxZGa05HN7AL72qLf9WyznrpmpIY_QyRbA,11567
|
@@ -878,7 +886,7 @@ django_cfg/registry/services.py,sha256=BoCGXcvaJ59UtX6MxGLGzU1cnrzEGm2invsmkEqDV
|
|
878
886
|
django_cfg/registry/third_party.py,sha256=lYDcPbrFY1J2EGxEdn1SzBX7wR7hf8vsKH37iCO5rws,3141
|
879
887
|
django_cfg/routing/__init__.py,sha256=zOg9yh2lP2NaxlnZpVH8IogQBHGlcky_C-n0VWD9LIc,277
|
880
888
|
django_cfg/routing/callbacks.py,sha256=zMWD0AEE4AvczdBN-VDjgczai683ZSEqws0pnCVQ3FI,5994
|
881
|
-
django_cfg/routing/routers.py,sha256=
|
889
|
+
django_cfg/routing/routers.py,sha256=K-QrSUxA69Fv4uE9QOY4hbBTIMu7trl8hIDlxwywM4M,2103
|
882
890
|
django_cfg/static/admin/css/dashboard.css,sha256=O7KXnPRfhW1Y5JrwAqHae8Q_a6qyWyq-Y7UC0RtlV6s,6262
|
883
891
|
django_cfg/static/admin/js/commands.js,sha256=o_t5gFGsVsL3ApFFyokDNk3oUip5hPn0tuU9pHYiJeY,6433
|
884
892
|
django_cfg/static/admin/js/dashboard.js,sha256=uCcu6mnG0HNiHI_HVyYMc5c1YGg727PzutZU8JNR9Es,4176
|
@@ -939,8 +947,12 @@ django_cfg/utils/__init__.py,sha256=64wwXJuXytvwt8Ze_erSR2HmV07nGWJ6DV5wloRBvYE,
|
|
939
947
|
django_cfg/utils/path_resolution.py,sha256=C9As6p4Q9l3VeoVkFDRPQWGrzAWf8O8UxLVkaI3ToVM,13899
|
940
948
|
django_cfg/utils/smart_defaults.py,sha256=-AQjTi-iFqAN2xzQou9KssznZYKUJSrFjHlH717lyCM,11024
|
941
949
|
django_cfg/utils/version_check.py,sha256=jI4v3YMdQriUEeb_TvRl511sDghy6I75iKRDUaNpucs,4800
|
942
|
-
django_cfg
|
943
|
-
django_cfg
|
944
|
-
django_cfg
|
945
|
-
django_cfg
|
946
|
-
django_cfg-1.4.
|
950
|
+
django_cfg/CHANGELOG.md,sha256=jtT3EprqEJkqSUh7IraP73vQ8PmKUMdRtznQsEnqDZk,2052
|
951
|
+
django_cfg/CONTRIBUTING.md,sha256=DU2kyQ6PU0Z24ob7O_OqKWEYHcZmJDgzw-lQCmu6uBg,3041
|
952
|
+
django_cfg/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
953
|
+
django_cfg/pyproject.toml,sha256=A3K-d7sTJDTOl2iTI727wbrLqllgOvg6TPp6w1ly5TQ,8216
|
954
|
+
django_cfg-1.4.5.dist-info/METADATA,sha256=XthRxgznWbMSQD4kkLoeDm2wkOfVu3h1TJJ-Pw6osN8,22542
|
955
|
+
django_cfg-1.4.5.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
956
|
+
django_cfg-1.4.5.dist-info/entry_points.txt,sha256=Ucmde4Z2wEzgb4AggxxZ0zaYDb9HpyE5blM3uJ0_VNg,56
|
957
|
+
django_cfg-1.4.5.dist-info/licenses/LICENSE,sha256=xHuytiUkSZCRG3N11nk1X6q1_EGQtv6aL5O9cqNRhKE,1071
|
958
|
+
django_cfg-1.4.5.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|