exonware-xwlazy 0.1.0.11__py3-none-any.whl → 0.1.0.20__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.
- exonware/__init__.py +26 -0
- exonware/xwlazy/__init__.py +0 -0
- exonware/xwlazy/common/__init__.py +47 -0
- exonware/xwlazy/common/base.py +56 -0
- exonware/xwlazy/common/cache.py +504 -0
- exonware/xwlazy/common/logger.py +257 -0
- exonware/xwlazy/common/services/__init__.py +72 -0
- exonware/xwlazy/common/services/dependency_mapper.py +232 -0
- exonware/xwlazy/common/services/install_async_utils.py +165 -0
- exonware/xwlazy/common/services/install_cache_utils.py +245 -0
- exonware/xwlazy/common/services/keyword_detection.py +283 -0
- exonware/xwlazy/common/services/spec_cache.py +165 -0
- xwlazy/lazy/lazy_state.py → exonware/xwlazy/common/services/state_manager.py +0 -2
- exonware/xwlazy/common/strategies/__init__.py +28 -0
- exonware/xwlazy/common/strategies/caching_dict.py +44 -0
- exonware/xwlazy/common/strategies/caching_installation.py +88 -0
- exonware/xwlazy/common/strategies/caching_lfu.py +66 -0
- exonware/xwlazy/common/strategies/caching_lru.py +63 -0
- exonware/xwlazy/common/strategies/caching_multitier.py +59 -0
- exonware/xwlazy/common/strategies/caching_ttl.py +59 -0
- {xwlazy/lazy → exonware/xwlazy}/config.py +51 -21
- exonware/xwlazy/contracts.py +1396 -0
- exonware/xwlazy/defs.py +378 -0
- xwlazy/lazy/lazy_errors.py → exonware/xwlazy/errors.py +21 -16
- exonware/xwlazy/facade.py +991 -0
- exonware/xwlazy/module/__init__.py +18 -0
- exonware/xwlazy/module/base.py +565 -0
- exonware/xwlazy/module/data.py +17 -0
- exonware/xwlazy/module/facade.py +246 -0
- exonware/xwlazy/module/importer_engine.py +2117 -0
- exonware/xwlazy/module/strategies/__init__.py +22 -0
- exonware/xwlazy/module/strategies/module_helper_lazy.py +93 -0
- exonware/xwlazy/module/strategies/module_helper_simple.py +65 -0
- exonware/xwlazy/module/strategies/module_manager_advanced.py +111 -0
- exonware/xwlazy/module/strategies/module_manager_simple.py +95 -0
- exonware/xwlazy/package/__init__.py +18 -0
- exonware/xwlazy/package/base.py +798 -0
- xwlazy/lazy/host_conf.py → exonware/xwlazy/package/conf.py +61 -16
- exonware/xwlazy/package/data.py +17 -0
- exonware/xwlazy/package/facade.py +480 -0
- exonware/xwlazy/package/services/__init__.py +84 -0
- exonware/xwlazy/package/services/async_install_handle.py +87 -0
- exonware/xwlazy/package/services/config_manager.py +245 -0
- exonware/xwlazy/package/services/discovery.py +370 -0
- {xwlazy/lazy → exonware/xwlazy/package/services}/host_packages.py +43 -20
- exonware/xwlazy/package/services/install_async.py +277 -0
- exonware/xwlazy/package/services/install_cache.py +145 -0
- exonware/xwlazy/package/services/install_interactive.py +59 -0
- exonware/xwlazy/package/services/install_policy.py +156 -0
- exonware/xwlazy/package/services/install_registry.py +54 -0
- exonware/xwlazy/package/services/install_result.py +17 -0
- exonware/xwlazy/package/services/install_sbom.py +153 -0
- exonware/xwlazy/package/services/install_utils.py +79 -0
- exonware/xwlazy/package/services/installer_engine.py +406 -0
- exonware/xwlazy/package/services/lazy_installer.py +718 -0
- {xwlazy/lazy → exonware/xwlazy/package/services}/manifest.py +40 -33
- exonware/xwlazy/package/services/strategy_registry.py +186 -0
- exonware/xwlazy/package/strategies/__init__.py +57 -0
- exonware/xwlazy/package/strategies/package_discovery_file.py +129 -0
- exonware/xwlazy/package/strategies/package_discovery_hybrid.py +84 -0
- exonware/xwlazy/package/strategies/package_discovery_manifest.py +101 -0
- exonware/xwlazy/package/strategies/package_execution_async.py +113 -0
- exonware/xwlazy/package/strategies/package_execution_cached.py +90 -0
- exonware/xwlazy/package/strategies/package_execution_pip.py +99 -0
- exonware/xwlazy/package/strategies/package_execution_wheel.py +106 -0
- exonware/xwlazy/package/strategies/package_mapping_discovery_first.py +100 -0
- exonware/xwlazy/package/strategies/package_mapping_hybrid.py +105 -0
- exonware/xwlazy/package/strategies/package_mapping_manifest_first.py +100 -0
- exonware/xwlazy/package/strategies/package_policy_allow_list.py +57 -0
- exonware/xwlazy/package/strategies/package_policy_deny_list.py +57 -0
- exonware/xwlazy/package/strategies/package_policy_permissive.py +46 -0
- exonware/xwlazy/package/strategies/package_timing_clean.py +67 -0
- exonware/xwlazy/package/strategies/package_timing_full.py +66 -0
- exonware/xwlazy/package/strategies/package_timing_smart.py +68 -0
- exonware/xwlazy/package/strategies/package_timing_temporary.py +66 -0
- exonware/xwlazy/runtime/__init__.py +18 -0
- exonware/xwlazy/runtime/adaptive_learner.py +129 -0
- exonware/xwlazy/runtime/base.py +274 -0
- exonware/xwlazy/runtime/facade.py +94 -0
- exonware/xwlazy/runtime/intelligent_selector.py +170 -0
- exonware/xwlazy/runtime/metrics.py +60 -0
- exonware/xwlazy/runtime/performance.py +37 -0
- exonware/xwlazy/version.py +2 -2
- {exonware_xwlazy-0.1.0.11.dist-info → exonware_xwlazy-0.1.0.20.dist-info}/METADATA +89 -11
- exonware_xwlazy-0.1.0.20.dist-info/RECORD +87 -0
- exonware_xwlazy-0.1.0.11.dist-info/RECORD +0 -20
- xwlazy/__init__.py +0 -34
- xwlazy/lazy/__init__.py +0 -301
- xwlazy/lazy/bootstrap.py +0 -106
- xwlazy/lazy/lazy_base.py +0 -465
- xwlazy/lazy/lazy_contracts.py +0 -290
- xwlazy/lazy/lazy_core.py +0 -3727
- xwlazy/lazy/logging_utils.py +0 -194
- xwlazy/version.py +0 -77
- {exonware_xwlazy-0.1.0.11.dist-info → exonware_xwlazy-0.1.0.20.dist-info}/WHEEL +0 -0
- {exonware_xwlazy-0.1.0.11.dist-info → exonware_xwlazy-0.1.0.20.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: exonware-xwlazy
|
|
3
|
-
Version: 0.1.0.
|
|
3
|
+
Version: 0.1.0.20
|
|
4
4
|
Summary: Marker package that enables lazy install features across the eXonware suite.
|
|
5
5
|
Project-URL: Homepage, https://exonware.com
|
|
6
6
|
Project-URL: Repository, https://github.com/exonware/xwlazy
|
|
@@ -76,14 +76,40 @@ Built-in tracking of module load times, access counts, memory usage, and cache h
|
|
|
76
76
|
|
|
77
77
|
**Why it matters:** Visibility into lazy loading performance helps identify bottlenecks and optimize import strategies.
|
|
78
78
|
|
|
79
|
-
### 🎨 **
|
|
80
|
-
|
|
81
|
-
- **
|
|
82
|
-
|
|
83
|
-
|
|
79
|
+
### 🎨 **Two-Dimensional Mode System**
|
|
80
|
+
|
|
81
|
+
xwlazy uses a powerful two-dimensional mode system that separates **loading behavior** from **installation behavior**, giving you precise control over how modules are loaded and when packages are installed.
|
|
82
|
+
|
|
83
|
+
#### **Lazy Load Modes** (When modules load)
|
|
84
|
+
- **NONE:** Standard imports (no lazy loading)
|
|
85
|
+
- **AUTO:** Lazy loading enabled (deferred module loading)
|
|
86
|
+
- **PRELOAD:** Preload all modules on start (parallel loading)
|
|
87
|
+
- **BACKGROUND:** Load modules in background threads (non-blocking)
|
|
88
|
+
- **CACHED:** Cache loaded modules but allow unloading
|
|
89
|
+
|
|
90
|
+
#### **Lazy Install Modes** (When packages install)
|
|
91
|
+
- **NONE:** No auto-installation
|
|
92
|
+
- **SMART:** Install on first usage (on-demand)
|
|
93
|
+
- **FULL:** Install all dependencies on start (parallel batch)
|
|
94
|
+
- **CLEAN:** Install on usage + uninstall after completion
|
|
95
|
+
- **TEMPORARY:** Always uninstall after use (aggressive cleanup)
|
|
96
|
+
- **SIZE_AWARE:** Install small packages, skip large ones
|
|
97
|
+
- **INTERACTIVE:** Ask user before installing
|
|
98
|
+
- **WARN:** Log warning but don't install (monitoring mode)
|
|
99
|
+
- **DISABLED:** Don't install anything (explicit)
|
|
84
100
|
- **DRY_RUN:** Show what would be installed
|
|
85
101
|
|
|
86
|
-
**
|
|
102
|
+
#### **Preset Modes** (Quick combinations)
|
|
103
|
+
- **none:** NONE load + NONE install (standard imports)
|
|
104
|
+
- **lite:** AUTO load + NONE install (lazy loading only)
|
|
105
|
+
- **smart:** AUTO load + SMART install (on-demand installation)
|
|
106
|
+
- **full:** AUTO load + FULL install (install all on start)
|
|
107
|
+
- **clean:** AUTO load + CLEAN install (install + cleanup)
|
|
108
|
+
- **temporary:** AUTO load + TEMPORARY install (aggressive cleanup)
|
|
109
|
+
- **size_aware:** AUTO load + SIZE_AWARE install (smart sizing)
|
|
110
|
+
- **auto:** AUTO load + SMART install + auto-uninstall large packages
|
|
111
|
+
|
|
112
|
+
**Why it matters:** Different environments need different policies. Development might use `smart`, production might use `lite` or `warn`, CI/CD might use `clean` or `temporary`.
|
|
87
113
|
|
|
88
114
|
## 🏆 Performance Benchmarks
|
|
89
115
|
|
|
@@ -215,26 +241,76 @@ import suspicious_package # ❌ Blocked by security policy
|
|
|
215
241
|
|
|
216
242
|
## 🔧 Advanced Configuration
|
|
217
243
|
|
|
218
|
-
###
|
|
244
|
+
### Two-Dimensional Mode Configuration
|
|
245
|
+
|
|
246
|
+
#### Using Preset Modes (Recommended)
|
|
247
|
+
|
|
248
|
+
```python
|
|
249
|
+
from xwlazy.lazy import config_package_lazy_install_enabled
|
|
250
|
+
|
|
251
|
+
# Quick preset modes
|
|
252
|
+
config_package_lazy_install_enabled("xwsystem", enabled=True, mode="smart") # On-demand install
|
|
253
|
+
config_package_lazy_install_enabled("xwsystem", enabled=True, mode="full") # Install all on start
|
|
254
|
+
config_package_lazy_install_enabled("xwsystem", enabled=True, mode="clean") # Install + cleanup
|
|
255
|
+
config_package_lazy_install_enabled("xwsystem", enabled=True, mode="lite") # Lazy load only
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
#### Using Explicit Mode Configuration
|
|
219
259
|
|
|
220
260
|
```python
|
|
221
261
|
from xwlazy.lazy import (
|
|
222
262
|
config_package_lazy_install_enabled,
|
|
263
|
+
LazyLoadMode,
|
|
223
264
|
LazyInstallMode,
|
|
265
|
+
LazyModeConfig,
|
|
266
|
+
)
|
|
267
|
+
|
|
268
|
+
# Explicit two-dimensional configuration
|
|
269
|
+
config_package_lazy_install_enabled(
|
|
270
|
+
"xwsystem",
|
|
271
|
+
enabled=True,
|
|
272
|
+
load_mode=LazyLoadMode.PRELOAD, # Preload all modules
|
|
273
|
+
install_mode=LazyInstallMode.SMART # Install on-demand
|
|
274
|
+
)
|
|
275
|
+
|
|
276
|
+
# Or use LazyModeConfig for full control
|
|
277
|
+
config = LazyModeConfig(
|
|
278
|
+
load_mode=LazyLoadMode.BACKGROUND,
|
|
279
|
+
install_mode=LazyInstallMode.SIZE_AWARE,
|
|
280
|
+
large_package_threshold_mb=100.0, # Skip packages > 100MB
|
|
281
|
+
background_workers=4 # 4 background workers
|
|
224
282
|
)
|
|
283
|
+
config_package_lazy_install_enabled(
|
|
284
|
+
"xwsystem",
|
|
285
|
+
enabled=True,
|
|
286
|
+
mode_config=config
|
|
287
|
+
)
|
|
288
|
+
```
|
|
289
|
+
|
|
290
|
+
#### Using exonware.conf (Global Configuration)
|
|
225
291
|
|
|
292
|
+
```python
|
|
293
|
+
import exonware.conf as conf
|
|
294
|
+
|
|
295
|
+
# Set global lazy mode for all packages
|
|
296
|
+
conf.lazy = "smart" # or "lite", "full", "clean", "auto", etc.
|
|
297
|
+
```
|
|
298
|
+
|
|
299
|
+
#### Special Purpose Modes
|
|
300
|
+
|
|
301
|
+
```python
|
|
226
302
|
# Interactive mode: Ask user before installing
|
|
227
303
|
config_package_lazy_install_enabled(
|
|
228
304
|
"xwsystem",
|
|
229
305
|
enabled=True,
|
|
230
|
-
mode=LazyInstallMode.INTERACTIVE
|
|
306
|
+
mode="interactive" # or LazyInstallMode.INTERACTIVE
|
|
231
307
|
)
|
|
232
308
|
|
|
233
309
|
# Warn mode: Log but don't install (monitoring)
|
|
234
310
|
config_package_lazy_install_enabled(
|
|
235
311
|
"xwsystem",
|
|
236
312
|
enabled=True,
|
|
237
|
-
mode=LazyInstallMode.WARN
|
|
313
|
+
mode="warn" # or LazyInstallMode.WARN
|
|
238
314
|
)
|
|
239
315
|
```
|
|
240
316
|
|
|
@@ -376,5 +452,7 @@ xwlazy is built with inspiration from the Python lazy import ecosystem, particul
|
|
|
376
452
|
|
|
377
453
|
**Part of the eXonware ecosystem** - Enterprise-grade Python libraries for modern software development.
|
|
378
454
|
|
|
379
|
-
*
|
|
455
|
+
*Last Updated: 17-Nov-2025*
|
|
456
|
+
|
|
457
|
+
> **Note:** For the current version, use `from exonware.xwlazy import __version__` or `import exonware.xwlazy; print(exonware.xwlazy.__version__)`
|
|
380
458
|
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
exonware/__init__.py,sha256=T2WAMwseXT3R0gApl9kfNq1o_jBGmn2VAGnBsshpk3E,822
|
|
2
|
+
exonware/xwlazy/__init__.py,sha256=7_eS3ekP3Z3A5FbXUFaovcrCexUqvNsf57tLHv8XnMQ,10235
|
|
3
|
+
exonware/xwlazy/config.py,sha256=ca0ECwTt34zFbNYfuwCeC0w17zatLstNk5l52UwhhQg,6241
|
|
4
|
+
exonware/xwlazy/contracts.py,sha256=Jyr1anMVZS_DCjhY7k27I2qNOJYYc1pBFStMJMmG--M,44365
|
|
5
|
+
exonware/xwlazy/defs.py,sha256=hY-MOMLbFNNPfdZXUwRCdOj9pYEUuFuTZQlwPSYUz2M,12290
|
|
6
|
+
exonware/xwlazy/errors.py,sha256=2a-FMiQa4h-m7SCqo19a7h09zGiAHClnuZCGKgvYO0I,9188
|
|
7
|
+
exonware/xwlazy/facade.py,sha256=4Hd6JGAKbn2y7n9QsS4Mbf1AjaXdFMSUEiaOCQyrZ4U,38749
|
|
8
|
+
exonware/xwlazy/version.py,sha256=UqMcJnv7RnFAVLmU2wDGR19wgY0DtSb-tLSSitndDBQ,2351
|
|
9
|
+
exonware/xwlazy/common/__init__.py,sha256=VSW_iv6dyaC1YtoY66bAsrLFRJW-f0UVeB7Qgr-FOiU,860
|
|
10
|
+
exonware/xwlazy/common/base.py,sha256=TsGduH5yspumKjMPKXeqJkz7-n7KyXcbm6PhzwapZOo,1404
|
|
11
|
+
exonware/xwlazy/common/cache.py,sha256=ZDGtx1XfY_g_EP7eV20ASKkxyTANqvciOKk1UdQkIf4,17547
|
|
12
|
+
exonware/xwlazy/common/logger.py,sha256=mHyFyBulHcvwb2EuTHhVYDsdKoaVXCdJ84vowiXBUrI,8350
|
|
13
|
+
exonware/xwlazy/common/services/__init__.py,sha256=LgoL5PdLdaanKKkw1WghiNirLIFpkSkExlXWBezGZdc,1774
|
|
14
|
+
exonware/xwlazy/common/services/dependency_mapper.py,sha256=D4Hdu-oDt_RHMFdRkHyYeiQlvhf5pgShopvzytt486A,8555
|
|
15
|
+
exonware/xwlazy/common/services/install_async_utils.py,sha256=RIx5bemXjcQOPyPvKLuHUQOFGWdwdM9tOz-w-ZAF8lw,4966
|
|
16
|
+
exonware/xwlazy/common/services/install_cache_utils.py,sha256=vIZxNASN8q_rigla8LoHWDAqGo8qgaHQ4xI1SOcj25k,7589
|
|
17
|
+
exonware/xwlazy/common/services/keyword_detection.py,sha256=B-Wo_KArhsZSUb_XNSnJjcoZob6l4BrBYyXf5ixk444,9776
|
|
18
|
+
exonware/xwlazy/common/services/spec_cache.py,sha256=rdQb43vUoMpNeHUeK3ANF42mn9k5V2D9ohEeLunqrkk,5318
|
|
19
|
+
exonware/xwlazy/common/services/state_manager.py,sha256=hYU4w8GX0-Zq7NAcMGRuEKMWMJ1LBzPhJH0A5dmM7jg,3116
|
|
20
|
+
exonware/xwlazy/common/strategies/__init__.py,sha256=4GERnc2Ktj_DiMHn0UUqdXcY5nGedbZer9vPhKQyf9I,633
|
|
21
|
+
exonware/xwlazy/common/strategies/caching_dict.py,sha256=IFX6bjf5jStqG66qMKWYXpWiGKsvxIE1WCfsz_KKJhM,1126
|
|
22
|
+
exonware/xwlazy/common/strategies/caching_installation.py,sha256=uamdlsXbbf_rkz3O5z9MlMlmTKYF2i_-G7ZiOP62Zyk,2523
|
|
23
|
+
exonware/xwlazy/common/strategies/caching_lfu.py,sha256=5lBOaDolMHqX3_KjZLavaXeAEiVnhLpPHJlQD3oP2mU,1971
|
|
24
|
+
exonware/xwlazy/common/strategies/caching_lru.py,sha256=5ibtwtmZSJsz9rlga3p8MIIdfAUTidhUCuSWHbFU4Jk,1832
|
|
25
|
+
exonware/xwlazy/common/strategies/caching_multitier.py,sha256=HpFYjc-8-suosexfpwrw9NQyZSdKh0Nd3KT4E7MjC0Y,1910
|
|
26
|
+
exonware/xwlazy/common/strategies/caching_ttl.py,sha256=OvJtelb_-q3yTN8DzKfquYm-_igfe9DddLBbD71J80U,1637
|
|
27
|
+
exonware/xwlazy/module/__init__.py,sha256=sL_G0RvpMfif0e3Yzo0CSj2xAPPF6phlQB367agzqfE,627
|
|
28
|
+
exonware/xwlazy/module/base.py,sha256=eqTj8xHtSXIiqMiycfAcQ76RUQVqxpKXGIiyyesbViI,20682
|
|
29
|
+
exonware/xwlazy/module/data.py,sha256=Q3xNBQgHM_AlMvujkx_YmVT3H1Fr-6xUqryTlWClbp8,318
|
|
30
|
+
exonware/xwlazy/module/facade.py,sha256=zrjN5BEMpEjT64etss2Rh627onjwIzV3c6UNvk2jD-k,8089
|
|
31
|
+
exonware/xwlazy/module/importer_engine.py,sha256=dc1EF95nAHu9omnN0ui9XkSO6PM_ly3yx_unz694m4I,91818
|
|
32
|
+
exonware/xwlazy/module/strategies/__init__.py,sha256=oV49bhWlErG197Y7yKcUzm4acDvfGnVm77lcNLgAu5I,467
|
|
33
|
+
exonware/xwlazy/module/strategies/module_helper_lazy.py,sha256=fr71AOWXS2BE5RWccFar8Edi5SppsPwbuCtLvahppYY,2679
|
|
34
|
+
exonware/xwlazy/module/strategies/module_helper_simple.py,sha256=Hu3z5X_Fg24jZuumUmV8mk1bFyrNu85gUgSR-YHHUZI,1683
|
|
35
|
+
exonware/xwlazy/module/strategies/module_manager_advanced.py,sha256=lMkfFZlExpGUTDKpZAmxAXX5Cely4qy5l3yPl0rD0Hs,3293
|
|
36
|
+
exonware/xwlazy/module/strategies/module_manager_simple.py,sha256=zKkWSZXpz0gZAftkaQZVfjdh3zpHvdLhHik5iOLZGXc,2442
|
|
37
|
+
exonware/xwlazy/package/__init__.py,sha256=UI7xwTbFDURAt7kCr3yRhZzZtFrWRDwhJXakSyJwSCU,640
|
|
38
|
+
exonware/xwlazy/package/base.py,sha256=SAj5kCxVt9gHvrT770aEiFb8mc3OELz5kE2ZxpR8Kdk,27930
|
|
39
|
+
exonware/xwlazy/package/conf.py,sha256=OMoLj59sypWaVQZ-ELrxKv5fIqMyJcN7HhzYgWJW-Mg,14053
|
|
40
|
+
exonware/xwlazy/package/data.py,sha256=3TFb_Qr6HJfQSCBG4Kg9-dIbyrt76zpMnAFoD0ZdTEA,323
|
|
41
|
+
exonware/xwlazy/package/facade.py,sha256=r5hW0ve2FQ6oqspCPts3ZHFA-cvNQcsCBZVjfClpVkw,18743
|
|
42
|
+
exonware/xwlazy/package/services/__init__.py,sha256=ydB2kRzx6I3Kpm-bYyecTwHdkE_544X0CAXHZh7AyZY,2240
|
|
43
|
+
exonware/xwlazy/package/services/async_install_handle.py,sha256=TN7iYUOPiTGG-xXtPjdFTIZ7-_IEn0vYeWK-EuEhlNU,2803
|
|
44
|
+
exonware/xwlazy/package/services/config_manager.py,sha256=JOWciuQi2D7BCLm90i0nbWvksVidPrK1vCUcXjhAnkE,10551
|
|
45
|
+
exonware/xwlazy/package/services/discovery.py,sha256=DxFHz5OMg4kg5Dy_zkKQaU5wdSyIGFXFXz7-DVvLgfI,14637
|
|
46
|
+
exonware/xwlazy/package/services/host_packages.py,sha256=NGpqadJpJtUBFTBxG4axNhEYXAuCUu_ktWYRTbobaVI,5429
|
|
47
|
+
exonware/xwlazy/package/services/install_async.py,sha256=pcTzX_COx2E4vP6MAzwu7OC0XZImWKfsrFrPQvV46Z0,13279
|
|
48
|
+
exonware/xwlazy/package/services/install_cache.py,sha256=KL0uzK7CmFiTFs8zjWOY8zYXKSC2cLcUD_cWDEktsTI,5974
|
|
49
|
+
exonware/xwlazy/package/services/install_interactive.py,sha256=5tvVeogm9wIVG6u8jiSSpmXiPt1wXMtdTAETjsZ3QBE,2155
|
|
50
|
+
exonware/xwlazy/package/services/install_policy.py,sha256=_et-C7m5iOxudpkSBT9G2lNqqt1EUZh-nygSjyQdMEM,5876
|
|
51
|
+
exonware/xwlazy/package/services/install_registry.py,sha256=1_6T3xaMM0IaitpFsvLxBCSBBWbnE0nwdPZd86a9qFg,1504
|
|
52
|
+
exonware/xwlazy/package/services/install_result.py,sha256=MeXi-B9QBO1uZlyUbCBDNu_LBoYYQiInWoIDLQ0BVCs,346
|
|
53
|
+
exonware/xwlazy/package/services/install_sbom.py,sha256=aph691SEPu8lvPDR5Fbf2JyPemlKKVEbra-79JzhV60,5571
|
|
54
|
+
exonware/xwlazy/package/services/install_utils.py,sha256=T1KeU3fbyNFYdYjeBWUIfWwTSQ6WHASVl-zSDDvxrvI,2371
|
|
55
|
+
exonware/xwlazy/package/services/installer_engine.py,sha256=d5Vxq_wicVhn52Mm-iTd9pWCkqJZ9_361L-6rP3bhrI,15363
|
|
56
|
+
exonware/xwlazy/package/services/lazy_installer.py,sha256=2oZxVZZX3hMsBwIYwzS97YVUPvRGbepTb04EnlIfHMI,32098
|
|
57
|
+
exonware/xwlazy/package/services/manifest.py,sha256=txAotO00hJtfsMuNX6HycyCTBbjs_nSgOARXSSLNGPw,19163
|
|
58
|
+
exonware/xwlazy/package/services/strategy_registry.py,sha256=4pKEKSy_TshHNGw2GctYJTMzk7z5YBncS2wfrBNBEsY,6796
|
|
59
|
+
exonware/xwlazy/package/strategies/__init__.py,sha256=r_gpreZ6kcsWfHkGABYlZVx69JdvbMwlftitAKEwbrA,1626
|
|
60
|
+
exonware/xwlazy/package/strategies/package_discovery_file.py,sha256=mArPdled9s3ql7NncFwPgRSINtC2FM7a7k7Xi5jPgVA,4394
|
|
61
|
+
exonware/xwlazy/package/strategies/package_discovery_hybrid.py,sha256=7HdmbIILFcm2FNV7o3x3Pc1jUUuiUHaSAMItor6xJCk,2654
|
|
62
|
+
exonware/xwlazy/package/strategies/package_discovery_manifest.py,sha256=EiBbwWcggJvue6iJbmSmsNXpBNhS74vb7sLysEEK_F4,3368
|
|
63
|
+
exonware/xwlazy/package/strategies/package_execution_async.py,sha256=sZDtelXLdoumdVTywjyjdyvv10mKXroASc2FuAZ-p60,3644
|
|
64
|
+
exonware/xwlazy/package/strategies/package_execution_cached.py,sha256=htl8YOusqwIgEPZjn__KNK77lHCkWfFJyjF90gb2CcY,2680
|
|
65
|
+
exonware/xwlazy/package/strategies/package_execution_pip.py,sha256=gBz7tCpE6n5bkrU2EjQvt0gymn-cPUFxyAxmJfDIgtI,2963
|
|
66
|
+
exonware/xwlazy/package/strategies/package_execution_wheel.py,sha256=pb4mJLqwDrLiH46koW0wcQtbrwTDY1-GgtTCR6ryGuM,3209
|
|
67
|
+
exonware/xwlazy/package/strategies/package_mapping_discovery_first.py,sha256=La3VZPPDsvhBgQ-q23kFJWVqPBYhzt2fzpFINobnotA,3279
|
|
68
|
+
exonware/xwlazy/package/strategies/package_mapping_hybrid.py,sha256=bchfFkzVRLh1AVCQ6OLYzkilW5pqAJug4C_fS_XRFn0,3399
|
|
69
|
+
exonware/xwlazy/package/strategies/package_mapping_manifest_first.py,sha256=Q25r0L4193sKPWPe1YMMxvXnH0hkrKPc_TchPSgOljw,3304
|
|
70
|
+
exonware/xwlazy/package/strategies/package_policy_allow_list.py,sha256=l_1w_LnWWvGtOsJxlbrwfYIDLn1DSgwWlJh-dDQIoWE,1556
|
|
71
|
+
exonware/xwlazy/package/strategies/package_policy_deny_list.py,sha256=S1xdNe_ticMvSt_gigLkTR_b9wV0_H9iDTJ-io9yfWk,1516
|
|
72
|
+
exonware/xwlazy/package/strategies/package_policy_permissive.py,sha256=k2MndZ7kBH-SEfgEycNJidwaVo9994a32YLCStR2pH0,1127
|
|
73
|
+
exonware/xwlazy/package/strategies/package_timing_clean.py,sha256=KwZmo8KSa4_jJOwwgrAujdUUBJQEHml8rWY0tuvhoZk,1826
|
|
74
|
+
exonware/xwlazy/package/strategies/package_timing_full.py,sha256=1vphf9RXTE1tLFfmqAwytleGqR2Pia9jGXNT5d-pvQg,1736
|
|
75
|
+
exonware/xwlazy/package/strategies/package_timing_smart.py,sha256=GlmAR77qK0lfpu6DoLokJ1BOUo1cWVgZt0nBmf5xG2U,1835
|
|
76
|
+
exonware/xwlazy/package/strategies/package_timing_temporary.py,sha256=ek6HE4S5RAiljDgbfw6m1D_U4iDYV-F6r5LZ_uzvxM4,1795
|
|
77
|
+
exonware/xwlazy/runtime/__init__.py,sha256=jbIzemqwtWvKu2LxhYU7pIcihNakQHCON8xZW0orqZA,636
|
|
78
|
+
exonware/xwlazy/runtime/adaptive_learner.py,sha256=fx1p9cMES_CB8l4ir0giuJHPzlCLPbl3iMpru6TNvPo,5256
|
|
79
|
+
exonware/xwlazy/runtime/base.py,sha256=mEKlUe09wpCI8VHF3I-pdnH5VIDC1PqK8iQzANR_b90,10019
|
|
80
|
+
exonware/xwlazy/runtime/facade.py,sha256=9R-1aXMTxZuaN1xD2JrU2RFjzPKXu7-oTM5dTV5kY1E,3415
|
|
81
|
+
exonware/xwlazy/runtime/intelligent_selector.py,sha256=501Lrsa3_CaA1-mY6H-w46KEblpsYjO3_mzbNJJKgKM,6531
|
|
82
|
+
exonware/xwlazy/runtime/metrics.py,sha256=QHYKZ55pjdEKeOBjMVQ2N2y0rgJWAOWeD_N0S7YYOHg,1987
|
|
83
|
+
exonware/xwlazy/runtime/performance.py,sha256=57ygfRhqyZVn75B55b7-eKk1EIisdCD8qrbwv2wKAl4,1198
|
|
84
|
+
exonware_xwlazy-0.1.0.20.dist-info/METADATA,sha256=nPfeHzlaPLpdvG98HMNcpeUfgQy_5fsjWgCEkAvg0FQ,16859
|
|
85
|
+
exonware_xwlazy-0.1.0.20.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
86
|
+
exonware_xwlazy-0.1.0.20.dist-info/licenses/LICENSE,sha256=w42ohoEUfhyT0NgiivAL4fWg2AMRLGnfXPMAR4EO-MU,1094
|
|
87
|
+
exonware_xwlazy-0.1.0.20.dist-info/RECORD,,
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
exonware/xwlazy/__init__.py,sha256=uS0FTfM1r1FqcM2C6FrLgFARp-drdMxnJOg5XATAM3U,1674
|
|
2
|
-
exonware/xwlazy/version.py,sha256=E5aVPnT4mfjNCGF4IEs45FOFv_vH_RspxZBtW_y8je8,2351
|
|
3
|
-
xwlazy/__init__.py,sha256=kMokTnTWqht1Rr4VgPfxpjp6BYQ0Pziu3rpXw93-57k,608
|
|
4
|
-
xwlazy/version.py,sha256=HB5UxTEw9CUiCDNVgFLHpMuojbuugXVR7kXQhdJOy9E,2351
|
|
5
|
-
xwlazy/lazy/__init__.py,sha256=VhBEqwhR_GUrdn5400KWS28pX7T36kqTz9p2QgxqrXA,7361
|
|
6
|
-
xwlazy/lazy/bootstrap.py,sha256=okGe1f30qPXC7uyz7rnY6wzan3Mkt6Z5sukyPfZK4kQ,3721
|
|
7
|
-
xwlazy/lazy/config.py,sha256=Wb6YMqYJT4Car79i8tvFptKlDT-15tplWeZZ2IMfZzY,5344
|
|
8
|
-
xwlazy/lazy/host_conf.py,sha256=w_bT8VQEOtrf8oR-rY08dxB-k-Y7nMWt2mlOiZcVaxI,11377
|
|
9
|
-
xwlazy/lazy/host_packages.py,sha256=7b4XmfcbSHE68aFeXgAp3ELEG0t9poa73MRULzQmtGY,4059
|
|
10
|
-
xwlazy/lazy/lazy_base.py,sha256=mtIq3F4LdH7IIxm0Tizma_4nkxwVVJ7IcwAPmLWqYls,13919
|
|
11
|
-
xwlazy/lazy/lazy_contracts.py,sha256=6GZj3svH4Tsb74Syjh0hKgkMuNGDfGCTVb4QNI9T7dM,7573
|
|
12
|
-
xwlazy/lazy/lazy_core.py,sha256=_FwYz140ueeRgFrQAk0K5xdmKyEcHsfYtBgzytrQ6nI,145139
|
|
13
|
-
xwlazy/lazy/lazy_errors.py,sha256=0ttYzcquv0jAd6cfO2be77sRHWuTPjW8KDQFQ-4JQWo,8642
|
|
14
|
-
xwlazy/lazy/lazy_state.py,sha256=a_pOIDI6apbpu3xWvnofyM3vReV49CXiZmplkpWATmE,3118
|
|
15
|
-
xwlazy/lazy/logging_utils.py,sha256=n2AkfQfFkUxlpAZyRNllwZTFrLfI0HD73ULw-AqQUCo,5830
|
|
16
|
-
xwlazy/lazy/manifest.py,sha256=GCExV9EDOQ3HGIwVp-9wUk5MPUnJGYGKGS7CREPHubU,18497
|
|
17
|
-
exonware_xwlazy-0.1.0.11.dist-info/METADATA,sha256=i77J_GYb3myTc0VCx_P96up0ZjSSaIQvkYF6RQMGb3U,13759
|
|
18
|
-
exonware_xwlazy-0.1.0.11.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
19
|
-
exonware_xwlazy-0.1.0.11.dist-info/licenses/LICENSE,sha256=w42ohoEUfhyT0NgiivAL4fWg2AMRLGnfXPMAR4EO-MU,1094
|
|
20
|
-
exonware_xwlazy-0.1.0.11.dist-info/RECORD,,
|
xwlazy/__init__.py
DELETED
|
@@ -1,34 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
Top-level xwlazy package exposing lazy runtime utilities.
|
|
3
|
-
"""
|
|
4
|
-
|
|
5
|
-
from .version import (
|
|
6
|
-
__version__,
|
|
7
|
-
VERSION_MAJOR,
|
|
8
|
-
VERSION_MINOR,
|
|
9
|
-
VERSION_PATCH,
|
|
10
|
-
VERSION_BUILD,
|
|
11
|
-
VERSION_SUFFIX,
|
|
12
|
-
VERSION_STRING,
|
|
13
|
-
get_version,
|
|
14
|
-
get_version_info,
|
|
15
|
-
get_version_dict,
|
|
16
|
-
is_dev_version,
|
|
17
|
-
is_release_version,
|
|
18
|
-
)
|
|
19
|
-
|
|
20
|
-
__all__ = [
|
|
21
|
-
"__version__",
|
|
22
|
-
"VERSION_MAJOR",
|
|
23
|
-
"VERSION_MINOR",
|
|
24
|
-
"VERSION_PATCH",
|
|
25
|
-
"VERSION_BUILD",
|
|
26
|
-
"VERSION_SUFFIX",
|
|
27
|
-
"VERSION_STRING",
|
|
28
|
-
"get_version",
|
|
29
|
-
"get_version_info",
|
|
30
|
-
"get_version_dict",
|
|
31
|
-
"is_dev_version",
|
|
32
|
-
"is_release_version",
|
|
33
|
-
]
|
|
34
|
-
|
xwlazy/lazy/__init__.py
DELETED
|
@@ -1,301 +0,0 @@
|
|
|
1
|
-
"""
|
|
2
|
-
#exonware/xwsystem/src/exonware/xwsystem/utils/lazy_package/__init__.py
|
|
3
|
-
|
|
4
|
-
Company: eXonware.com
|
|
5
|
-
Author: Eng. Muhammad AlShehri
|
|
6
|
-
Email: connect@exonware.com
|
|
7
|
-
Version: 0.1.0.16
|
|
8
|
-
Generation Date: 10-Oct-2025
|
|
9
|
-
|
|
10
|
-
Lazy Package - Unified Lazy Loading System
|
|
11
|
-
|
|
12
|
-
This package provides per-package lazy loading with automatic installation
|
|
13
|
-
of missing dependencies. It consolidates all lazy loading functionality into
|
|
14
|
-
a clean, well-structured module following DEV_GUIDELINES.md.
|
|
15
|
-
|
|
16
|
-
Design Patterns:
|
|
17
|
-
- Facade: Unified API (LazySystemFacade, LazyModeFacade)
|
|
18
|
-
- Strategy: Pluggable discovery/installation/caching strategies
|
|
19
|
-
- Template Method: Base classes define common workflows
|
|
20
|
-
- Singleton: Global instances for system-wide state
|
|
21
|
-
- Registry: Per-package isolation (LazyInstallerRegistry)
|
|
22
|
-
- Observer: Performance monitoring
|
|
23
|
-
- Proxy: Deferred loading (LazyLoader, DeferredImportError)
|
|
24
|
-
- Factory: Handler creation
|
|
25
|
-
|
|
26
|
-
Core Goal: Per-Package Lazy Loading
|
|
27
|
-
Each package (xwsystem, xwnode, xwdata) can independently enable lazy mode.
|
|
28
|
-
Only packages installed with [lazy] extra get auto-installation.
|
|
29
|
-
|
|
30
|
-
Quick Start:
|
|
31
|
-
# In your package's __init__.py
|
|
32
|
-
from xwlazy.lazy import config_package_lazy_install_enabled
|
|
33
|
-
config_package_lazy_install_enabled("yourpackage") # Auto-detect from pip install
|
|
34
|
-
|
|
35
|
-
Usage:
|
|
36
|
-
# Then just use normal Python imports!
|
|
37
|
-
import fastavro # Missing? Auto-installed! ✨
|
|
38
|
-
import pandas # Missing? Auto-installed! ✨
|
|
39
|
-
"""
|
|
40
|
-
|
|
41
|
-
# Import all from submodules
|
|
42
|
-
from .lazy_contracts import (
|
|
43
|
-
# Enums
|
|
44
|
-
LazyInstallMode,
|
|
45
|
-
PathType,
|
|
46
|
-
# Dataclasses
|
|
47
|
-
DependencyInfo,
|
|
48
|
-
# Interfaces
|
|
49
|
-
IPackageDiscovery,
|
|
50
|
-
IPackageInstaller,
|
|
51
|
-
IImportHook,
|
|
52
|
-
IPackageCache,
|
|
53
|
-
ILazyLoader,
|
|
54
|
-
)
|
|
55
|
-
|
|
56
|
-
from .lazy_errors import (
|
|
57
|
-
# Exceptions
|
|
58
|
-
LazySystemError,
|
|
59
|
-
LazyInstallError,
|
|
60
|
-
LazyDiscoveryError,
|
|
61
|
-
LazyHookError,
|
|
62
|
-
LazySecurityError,
|
|
63
|
-
ExternallyManagedError,
|
|
64
|
-
DeferredImportError,
|
|
65
|
-
)
|
|
66
|
-
|
|
67
|
-
from .lazy_base import (
|
|
68
|
-
# Abstract base classes
|
|
69
|
-
APackageDiscovery,
|
|
70
|
-
APackageInstaller,
|
|
71
|
-
AImportHook,
|
|
72
|
-
APackageCache,
|
|
73
|
-
ALazyLoader,
|
|
74
|
-
)
|
|
75
|
-
|
|
76
|
-
from .lazy_core import (
|
|
77
|
-
# Core classes
|
|
78
|
-
DependencyMapper,
|
|
79
|
-
LazyDiscovery,
|
|
80
|
-
LazyInstaller,
|
|
81
|
-
LazyInstallPolicy,
|
|
82
|
-
LazyInstallerRegistry,
|
|
83
|
-
LazyImportHook,
|
|
84
|
-
LazyMetaPathFinder,
|
|
85
|
-
LazyLoader,
|
|
86
|
-
LazyImporter,
|
|
87
|
-
LazyModuleRegistry,
|
|
88
|
-
LazyPerformanceMonitor,
|
|
89
|
-
LazyInstallConfig,
|
|
90
|
-
LazyModeFacade,
|
|
91
|
-
WatchedPrefixRegistry,
|
|
92
|
-
AsyncInstallHandle,
|
|
93
|
-
|
|
94
|
-
# Discovery functions
|
|
95
|
-
get_lazy_discovery,
|
|
96
|
-
discover_dependencies,
|
|
97
|
-
export_dependency_mappings,
|
|
98
|
-
|
|
99
|
-
# Install functions
|
|
100
|
-
enable_lazy_install,
|
|
101
|
-
disable_lazy_install,
|
|
102
|
-
is_lazy_install_enabled,
|
|
103
|
-
set_lazy_install_mode,
|
|
104
|
-
get_lazy_install_mode,
|
|
105
|
-
install_missing_package,
|
|
106
|
-
install_and_import,
|
|
107
|
-
get_lazy_install_stats,
|
|
108
|
-
get_all_lazy_install_stats,
|
|
109
|
-
lazy_import_with_install,
|
|
110
|
-
xwimport,
|
|
111
|
-
|
|
112
|
-
# Hook functions
|
|
113
|
-
install_import_hook,
|
|
114
|
-
uninstall_import_hook,
|
|
115
|
-
is_import_hook_installed,
|
|
116
|
-
|
|
117
|
-
# Lazy loading functions
|
|
118
|
-
enable_lazy_imports,
|
|
119
|
-
disable_lazy_imports,
|
|
120
|
-
is_lazy_import_enabled,
|
|
121
|
-
lazy_import,
|
|
122
|
-
register_lazy_module,
|
|
123
|
-
preload_module,
|
|
124
|
-
get_lazy_module,
|
|
125
|
-
get_loading_stats,
|
|
126
|
-
preload_frequently_used,
|
|
127
|
-
get_lazy_import_stats,
|
|
128
|
-
|
|
129
|
-
# Lazy mode facade functions
|
|
130
|
-
enable_lazy_mode,
|
|
131
|
-
disable_lazy_mode,
|
|
132
|
-
is_lazy_mode_enabled,
|
|
133
|
-
get_lazy_mode_stats,
|
|
134
|
-
configure_lazy_mode,
|
|
135
|
-
preload_modules,
|
|
136
|
-
optimize_lazy_mode,
|
|
137
|
-
|
|
138
|
-
# Configuration
|
|
139
|
-
config_package_lazy_install_enabled,
|
|
140
|
-
sync_manifest_configuration,
|
|
141
|
-
refresh_lazy_manifests,
|
|
142
|
-
|
|
143
|
-
# Security & Policy
|
|
144
|
-
set_package_allow_list,
|
|
145
|
-
set_package_deny_list,
|
|
146
|
-
add_to_package_allow_list,
|
|
147
|
-
add_to_package_deny_list,
|
|
148
|
-
set_package_index_url,
|
|
149
|
-
set_package_extra_index_urls,
|
|
150
|
-
add_package_trusted_host,
|
|
151
|
-
set_package_lockfile,
|
|
152
|
-
generate_package_sbom,
|
|
153
|
-
check_externally_managed_environment,
|
|
154
|
-
|
|
155
|
-
# Registration helpers
|
|
156
|
-
register_lazy_module_prefix,
|
|
157
|
-
register_lazy_module_methods,
|
|
158
|
-
)
|
|
159
|
-
|
|
160
|
-
from .config import LazyConfig, DEFAULT_LAZY_CONFIG
|
|
161
|
-
from .host_conf import get_conf_module
|
|
162
|
-
from .host_packages import register_host_package, refresh_host_package
|
|
163
|
-
from .logging_utils import (
|
|
164
|
-
get_log_categories,
|
|
165
|
-
is_log_category_enabled,
|
|
166
|
-
set_log_categories,
|
|
167
|
-
set_log_category,
|
|
168
|
-
)
|
|
169
|
-
|
|
170
|
-
# Version info
|
|
171
|
-
__version__ = "0.0.1.382"
|
|
172
|
-
__author__ = "Eng. Muhammad AlShehri"
|
|
173
|
-
__email__ = "connect@exonware.com"
|
|
174
|
-
__company__ = "eXonware.com"
|
|
175
|
-
|
|
176
|
-
# Export all
|
|
177
|
-
__all__ = [
|
|
178
|
-
# Enums
|
|
179
|
-
'LazyInstallMode',
|
|
180
|
-
'PathType',
|
|
181
|
-
|
|
182
|
-
# Dataclasses
|
|
183
|
-
'DependencyInfo',
|
|
184
|
-
|
|
185
|
-
# Interfaces
|
|
186
|
-
'IPackageDiscovery',
|
|
187
|
-
'IPackageInstaller',
|
|
188
|
-
'IImportHook',
|
|
189
|
-
'IPackageCache',
|
|
190
|
-
'ILazyLoader',
|
|
191
|
-
|
|
192
|
-
# Exceptions
|
|
193
|
-
'LazySystemError',
|
|
194
|
-
'LazyInstallError',
|
|
195
|
-
'LazyDiscoveryError',
|
|
196
|
-
'LazyHookError',
|
|
197
|
-
'LazySecurityError',
|
|
198
|
-
'ExternallyManagedError',
|
|
199
|
-
'DeferredImportError',
|
|
200
|
-
|
|
201
|
-
# Abstract base classes
|
|
202
|
-
'APackageDiscovery',
|
|
203
|
-
'APackageInstaller',
|
|
204
|
-
'AImportHook',
|
|
205
|
-
'APackageCache',
|
|
206
|
-
'ALazyLoader',
|
|
207
|
-
|
|
208
|
-
# Core classes
|
|
209
|
-
'DependencyMapper',
|
|
210
|
-
'LazyDiscovery',
|
|
211
|
-
'LazyInstaller',
|
|
212
|
-
'LazyInstallPolicy',
|
|
213
|
-
'LazyInstallerRegistry',
|
|
214
|
-
'LazyImportHook',
|
|
215
|
-
'LazyMetaPathFinder',
|
|
216
|
-
'LazyLoader',
|
|
217
|
-
'LazyImporter',
|
|
218
|
-
'LazyModuleRegistry',
|
|
219
|
-
'LazyPerformanceMonitor',
|
|
220
|
-
'LazyInstallConfig',
|
|
221
|
-
'LazyModeFacade',
|
|
222
|
-
'WatchedPrefixRegistry',
|
|
223
|
-
'AsyncInstallHandle',
|
|
224
|
-
|
|
225
|
-
# Discovery functions
|
|
226
|
-
'get_lazy_discovery',
|
|
227
|
-
'discover_dependencies',
|
|
228
|
-
'export_dependency_mappings',
|
|
229
|
-
|
|
230
|
-
# Install functions
|
|
231
|
-
'enable_lazy_install',
|
|
232
|
-
'disable_lazy_install',
|
|
233
|
-
'is_lazy_install_enabled',
|
|
234
|
-
'set_lazy_install_mode',
|
|
235
|
-
'get_lazy_install_mode',
|
|
236
|
-
'install_missing_package',
|
|
237
|
-
'install_and_import',
|
|
238
|
-
'get_lazy_install_stats',
|
|
239
|
-
'get_all_lazy_install_stats',
|
|
240
|
-
'lazy_import_with_install',
|
|
241
|
-
'xwimport',
|
|
242
|
-
|
|
243
|
-
# Hook functions
|
|
244
|
-
'install_import_hook',
|
|
245
|
-
'uninstall_import_hook',
|
|
246
|
-
'is_import_hook_installed',
|
|
247
|
-
|
|
248
|
-
# Lazy loading functions
|
|
249
|
-
'enable_lazy_imports',
|
|
250
|
-
'disable_lazy_imports',
|
|
251
|
-
'is_lazy_import_enabled',
|
|
252
|
-
'lazy_import',
|
|
253
|
-
'register_lazy_module',
|
|
254
|
-
'preload_module',
|
|
255
|
-
'get_lazy_module',
|
|
256
|
-
'get_loading_stats',
|
|
257
|
-
'preload_frequently_used',
|
|
258
|
-
'get_lazy_import_stats',
|
|
259
|
-
|
|
260
|
-
# Lazy mode facade functions
|
|
261
|
-
'enable_lazy_mode',
|
|
262
|
-
'disable_lazy_mode',
|
|
263
|
-
'is_lazy_mode_enabled',
|
|
264
|
-
'get_lazy_mode_stats',
|
|
265
|
-
'configure_lazy_mode',
|
|
266
|
-
'preload_modules',
|
|
267
|
-
'optimize_lazy_mode',
|
|
268
|
-
|
|
269
|
-
# Configuration
|
|
270
|
-
'config_package_lazy_install_enabled',
|
|
271
|
-
'sync_manifest_configuration',
|
|
272
|
-
'refresh_lazy_manifests',
|
|
273
|
-
'LazyConfig',
|
|
274
|
-
'DEFAULT_LAZY_CONFIG',
|
|
275
|
-
|
|
276
|
-
# Security & Policy
|
|
277
|
-
'set_package_allow_list',
|
|
278
|
-
'set_package_deny_list',
|
|
279
|
-
'add_to_package_allow_list',
|
|
280
|
-
'add_to_package_deny_list',
|
|
281
|
-
'set_package_index_url',
|
|
282
|
-
'set_package_extra_index_urls',
|
|
283
|
-
'add_package_trusted_host',
|
|
284
|
-
'set_package_lockfile',
|
|
285
|
-
'generate_package_sbom',
|
|
286
|
-
'check_externally_managed_environment',
|
|
287
|
-
|
|
288
|
-
# Registration helpers
|
|
289
|
-
'register_lazy_module_prefix',
|
|
290
|
-
'register_lazy_module_methods',
|
|
291
|
-
'register_host_package',
|
|
292
|
-
'refresh_host_package',
|
|
293
|
-
'get_conf_module',
|
|
294
|
-
|
|
295
|
-
# Logging helpers
|
|
296
|
-
'get_log_categories',
|
|
297
|
-
'is_log_category_enabled',
|
|
298
|
-
'set_log_categories',
|
|
299
|
-
'set_log_category',
|
|
300
|
-
]
|
|
301
|
-
|