django-bolt 0.2.6__cp310-abi3-win_amd64.whl → 0.2.7__cp310-abi3-win_amd64.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-bolt might be problematic. Click here for more details.
- django_bolt/_core.pyd +0 -0
- django_bolt/management/commands/runbolt.py +25 -16
- {django_bolt-0.2.6.dist-info → django_bolt-0.2.7.dist-info}/METADATA +2 -2
- {django_bolt-0.2.6.dist-info → django_bolt-0.2.7.dist-info}/RECORD +6 -6
- {django_bolt-0.2.6.dist-info → django_bolt-0.2.7.dist-info}/WHEEL +0 -0
- {django_bolt-0.2.6.dist-info → django_bolt-0.2.7.dist-info}/entry_points.txt +0 -0
django_bolt/_core.pyd
CHANGED
|
Binary file
|
|
@@ -366,25 +366,34 @@ class Command(BaseCommand):
|
|
|
366
366
|
|
|
367
367
|
def import_api(self, dotted_path):
|
|
368
368
|
"""Import a BoltAPI instance from dotted path like 'myapp.api:api'"""
|
|
369
|
+
if ':' not in dotted_path:
|
|
370
|
+
return None
|
|
371
|
+
|
|
372
|
+
module_path, attr_name = dotted_path.split(':', 1)
|
|
373
|
+
|
|
369
374
|
try:
|
|
370
|
-
if ':' not in dotted_path:
|
|
371
|
-
return None
|
|
372
|
-
|
|
373
|
-
module_path, attr_name = dotted_path.split(':', 1)
|
|
374
375
|
module = importlib.import_module(module_path)
|
|
375
|
-
|
|
376
|
-
if
|
|
376
|
+
except ModuleNotFoundError as e:
|
|
377
|
+
# Check if the error is for the target module itself (optional)
|
|
378
|
+
# or for a dependency within the module (fatal error)
|
|
379
|
+
if e.name == module_path or e.name == module_path.split('.')[0]:
|
|
380
|
+
# Target module doesn't exist - this is fine, api.py is optional
|
|
377
381
|
return None
|
|
378
|
-
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
|
|
382
|
+
else:
|
|
383
|
+
# Module exists but has a missing dependency - let the original error bubble up
|
|
384
|
+
# This preserves the full traceback for debugging
|
|
385
|
+
raise
|
|
386
|
+
|
|
387
|
+
# If attribute doesn't exist, return None (not an error, just doesn't have that attr)
|
|
388
|
+
if not hasattr(module, attr_name):
|
|
389
|
+
return None
|
|
390
|
+
|
|
391
|
+
api = getattr(module, attr_name)
|
|
392
|
+
|
|
393
|
+
# Verify it's a BoltAPI instance
|
|
394
|
+
if isinstance(api, BoltAPI):
|
|
395
|
+
return api
|
|
396
|
+
|
|
388
397
|
return None
|
|
389
398
|
|
|
390
399
|
def merge_apis(self, apis):
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: django-bolt
|
|
3
|
-
Version: 0.2.
|
|
3
|
+
Version: 0.2.7
|
|
4
4
|
Classifier: Development Status :: 3 - Alpha
|
|
5
5
|
Classifier: Intended Audience :: Developers
|
|
6
6
|
Classifier: License :: OSI Approved :: MIT License
|
|
@@ -25,7 +25,7 @@ Requires-Dist: click>=8.1
|
|
|
25
25
|
Requires-Dist: msgspec>=0.18
|
|
26
26
|
Requires-Dist: multipart>=1.3
|
|
27
27
|
Requires-Dist: pyjwt>=2.10.1
|
|
28
|
-
Requires-Dist: uvloop>=0.22.1
|
|
28
|
+
Requires-Dist: uvloop>=0.22.1 ; sys_platform != 'win32'
|
|
29
29
|
Requires-Dist: pyyaml>=6.0 ; extra == 'yaml'
|
|
30
30
|
Provides-Extra: yaml
|
|
31
31
|
Summary: High-performance API framework for Django with Rust-powered endpoints delivering 60k+ RPS
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
django_bolt-0.2.
|
|
2
|
-
django_bolt-0.2.
|
|
3
|
-
django_bolt-0.2.
|
|
1
|
+
django_bolt-0.2.7.dist-info/METADATA,sha256=_varQS5ZLBLJVCW7vUIZn-DQE9nK5HuAoVmDli3pEQQ,22036
|
|
2
|
+
django_bolt-0.2.7.dist-info/WHEEL,sha256=4EDp_7DiFfWl1yYv5M4wSosAn5L_xgD1dyrQxQxfCx8,95
|
|
3
|
+
django_bolt-0.2.7.dist-info/entry_points.txt,sha256=cUEGAdiOY6BryNhsgOS_50AONPPHajI3yvhqr56ZiaU,51
|
|
4
4
|
django_bolt/__init__.py,sha256=BerkkdUuHfxTJUKTFoXxfjYr6OFCb3MH88NIBEjphm4,3183
|
|
5
|
-
django_bolt/_core.pyd,sha256=
|
|
5
|
+
django_bolt/_core.pyd,sha256=7wP1RQ3TG4ecYpPqOP-cfaHmmuerHq3HVIvxDrR0Y-8,8912384
|
|
6
6
|
django_bolt/_json.py,sha256=oGxi29DHB8UYvbqjtqtrP6gThk7Qonlw333c4_cTr6s,4917
|
|
7
7
|
django_bolt/admin/__init__.py,sha256=BNN1afSvWvt-377rNzZLdNDEvKyMZXkmB_0MhTxAN8k,601
|
|
8
8
|
django_bolt/admin/admin_detection.py,sha256=1yQkLx9rF5DLMjJqbx8n4c82UgS9JEAnUcPdRfFqAXk,5825
|
|
@@ -33,7 +33,7 @@ django_bolt/logging/config.py,sha256=SE_7yvYzPVdgvMUAK9yU3Dyn2HJY_EVkajm0aAhgcNw
|
|
|
33
33
|
django_bolt/logging/middleware.py,sha256=_tkVN8cN8BloLv7Ebk-2RKBFkH4ooOTNs_dAxXSa0yU,10057
|
|
34
34
|
django_bolt/management/__init__.py,sha256=f0hFqUIOIxXbeDzGL06KrZqWGSsIGVSVVh3EemtatMY,38
|
|
35
35
|
django_bolt/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
36
|
-
django_bolt/management/commands/runbolt.py,sha256=
|
|
36
|
+
django_bolt/management/commands/runbolt.py,sha256=sLTUuaOTZhYq7LB4FYTRmxuGf8RGhKlPiA6LAQtvjsI,19062
|
|
37
37
|
django_bolt/middleware/__init__.py,sha256=C6e6vdSLqe4brMrKR4TueroD4f_OPsnoZZDlxkbyjbw,608
|
|
38
38
|
django_bolt/middleware/compiler.py,sha256=Knxh3XouU70ymIskDB-JWn1TcHSMPQvUBXtTPHEJJRY,4766
|
|
39
39
|
django_bolt/middleware/middleware.py,sha256=Qdr16OM15oOS1OYNnxFY3hJ0un9E8VaVwht-A8Qcuws,8113
|
|
@@ -89,4 +89,4 @@ django_bolt/testing/helpers.py,sha256=hq2HD1IEwHuW8tMgZO9ZW6BFdcE_JQXaV8sZc58LBD
|
|
|
89
89
|
django_bolt/types.py,sha256=sk8huP2mArTr5A7FmTVmIke5z0oR-SW0OmzzRfrRlxQ,7982
|
|
90
90
|
django_bolt/typing.py,sha256=sGlFUUXY8EJbYWCgARgNGLZPu7SaxxohZaSx1SRLYaE,8686
|
|
91
91
|
django_bolt/views.py,sha256=KewSpL6g-zZxXnEkwun6hueX3S_Eji-d2dawzoqe-GM,41715
|
|
92
|
-
django_bolt-0.2.
|
|
92
|
+
django_bolt-0.2.7.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|