ins-pricing 0.4.2__tar.gz → 0.4.4__tar.gz

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.
Files changed (143) hide show
  1. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/PKG-INFO +1 -1
  2. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/config_preprocess.py +7 -0
  3. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/trainers/trainer_base.py +13 -0
  4. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/trainers/trainer_ft.py +830 -804
  5. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/trainers/trainer_gnn.py +1 -1
  6. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/trainers/trainer_resn.py +2 -1
  7. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils/torch_trainer_mixin.py +8 -0
  8. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/setup.py +1 -1
  9. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing.egg-info/PKG-INFO +1 -1
  10. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/pyproject.toml +1 -1
  11. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/MANIFEST.in +0 -0
  12. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/README.md +0 -0
  13. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/CHANGELOG.md +0 -0
  14. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/README.md +0 -0
  15. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/RELEASE_NOTES_0.2.8.md +0 -0
  16. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/__init__.py +0 -0
  17. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/BayesOpt_entry.py +0 -0
  18. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/BayesOpt_incremental.py +0 -0
  19. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/Explain_Run.py +0 -0
  20. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/Explain_entry.py +0 -0
  21. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/Pricing_Run.py +0 -0
  22. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/__init__.py +0 -0
  23. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/bayesopt_entry_runner.py +0 -0
  24. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/utils/__init__.py +0 -0
  25. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/utils/cli_common.py +0 -0
  26. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/utils/cli_config.py +0 -0
  27. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/utils/evaluation_context.py +0 -0
  28. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/utils/import_resolver.py +0 -0
  29. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/utils/notebook_utils.py +0 -0
  30. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/utils/run_logging.py +0 -0
  31. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/cli/watchdog_run.py +0 -0
  32. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/docs/LOSS_FUNCTIONS.md +0 -0
  33. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/docs/modelling/BayesOpt_USAGE.md +0 -0
  34. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/docs/modelling/README.md +0 -0
  35. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/exceptions.py +0 -0
  36. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/QUICKSTART.md +0 -0
  37. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/README.md +0 -0
  38. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/__init__.py +0 -0
  39. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/app.py +0 -0
  40. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/config_builder.py +0 -0
  41. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/example_config.json +0 -0
  42. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/example_workflows.py +0 -0
  43. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/ft_workflow.py +0 -0
  44. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/frontend/runner.py +0 -0
  45. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/governance/README.md +0 -0
  46. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/governance/__init__.py +0 -0
  47. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/governance/approval.py +0 -0
  48. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/governance/audit.py +0 -0
  49. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/governance/registry.py +0 -0
  50. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/governance/release.py +0 -0
  51. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/__init__.py +0 -0
  52. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/BayesOpt.py +0 -0
  53. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/__init__.py +0 -0
  54. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/PHASE2_REFACTORING_SUMMARY.md +0 -0
  55. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/PHASE3_REFACTORING_SUMMARY.md +0 -0
  56. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/REFACTORING_SUMMARY.md +0 -0
  57. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/__init__.py +0 -0
  58. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/config_components.py +0 -0
  59. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/core.py +0 -0
  60. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/model_explain_mixin.py +0 -0
  61. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/model_plotting_mixin.py +0 -0
  62. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/models/__init__.py +0 -0
  63. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/models/model_ft_components.py +0 -0
  64. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/models/model_ft_trainer.py +0 -0
  65. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/models/model_gnn.py +0 -0
  66. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/models/model_resn.py +0 -0
  67. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/trainers/__init__.py +0 -0
  68. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/trainers/trainer_glm.py +0 -0
  69. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/trainers/trainer_xgb.py +0 -0
  70. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils/__init__.py +0 -0
  71. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils/constants.py +0 -0
  72. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils/distributed_utils.py +0 -0
  73. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils/io_utils.py +0 -0
  74. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils/losses.py +0 -0
  75. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils/metrics_and_devices.py +0 -0
  76. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils.py +0 -0
  77. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/bayesopt/utils_backup.py +0 -0
  78. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/core/evaluation.py +0 -0
  79. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/explain/__init__.py +0 -0
  80. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/explain/gradients.py +0 -0
  81. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/explain/metrics.py +0 -0
  82. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/explain/permutation.py +0 -0
  83. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/explain/shap_utils.py +0 -0
  84. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/plotting/__init__.py +0 -0
  85. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/plotting/common.py +0 -0
  86. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/plotting/curves.py +0 -0
  87. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/plotting/diagnostics.py +0 -0
  88. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/plotting/geo.py +0 -0
  89. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/modelling/plotting/importance.py +0 -0
  90. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/README.md +0 -0
  91. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/__init__.py +0 -0
  92. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/calibration.py +0 -0
  93. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/data_quality.py +0 -0
  94. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/exposure.py +0 -0
  95. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/factors.py +0 -0
  96. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/monitoring.py +0 -0
  97. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/pricing/rate_table.py +0 -0
  98. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/production/__init__.py +0 -0
  99. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/production/drift.py +0 -0
  100. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/production/monitoring.py +0 -0
  101. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/production/predict.py +0 -0
  102. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/production/preprocess.py +0 -0
  103. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/production/scoring.py +0 -0
  104. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/reporting/README.md +0 -0
  105. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/reporting/__init__.py +0 -0
  106. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/reporting/report_builder.py +0 -0
  107. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/reporting/scheduler.py +0 -0
  108. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/governance/__init__.py +0 -0
  109. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/governance/test_audit.py +0 -0
  110. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/governance/test_registry.py +0 -0
  111. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/governance/test_release.py +0 -0
  112. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/conftest.py +0 -0
  113. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_cross_val_generic.py +0 -0
  114. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_distributed_utils.py +0 -0
  115. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_explain.py +0 -0
  116. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_geo_tokens_split.py +0 -0
  117. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_graph_cache.py +0 -0
  118. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_plotting.py +0 -0
  119. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_plotting_library.py +0 -0
  120. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/modelling/test_preprocessor.py +0 -0
  121. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/pricing/__init__.py +0 -0
  122. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/pricing/test_calibration.py +0 -0
  123. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/pricing/test_exposure.py +0 -0
  124. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/pricing/test_factors.py +0 -0
  125. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/pricing/test_rate_table.py +0 -0
  126. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/production/__init__.py +0 -0
  127. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/production/test_monitoring.py +0 -0
  128. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/production/test_predict.py +0 -0
  129. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/production/test_preprocess.py +0 -0
  130. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/tests/production/test_scoring.py +0 -0
  131. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/__init__.py +0 -0
  132. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/device.py +0 -0
  133. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/logging.py +0 -0
  134. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/metrics.py +0 -0
  135. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/paths.py +0 -0
  136. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/profiling.py +0 -0
  137. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/torch_compat.py +0 -0
  138. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing/utils/validation.py +0 -0
  139. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing.egg-info/SOURCES.txt +0 -0
  140. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing.egg-info/dependency_links.txt +0 -0
  141. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing.egg-info/requires.txt +0 -0
  142. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/ins_pricing.egg-info/top_level.txt +0 -0
  143. {ins_pricing-0.4.2 → ins_pricing-0.4.4}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: ins_pricing
3
- Version: 0.4.2
3
+ Version: 0.4.4
4
4
  Summary: Reusable modelling, pricing, governance, and reporting utilities.
5
5
  Author: meishi125478
6
6
  License: Proprietary
@@ -195,6 +195,7 @@ class BayesOptConfig:
195
195
  cache_predictions: bool = False
196
196
  prediction_cache_dir: Optional[str] = None
197
197
  prediction_cache_format: str = "parquet"
198
+ dataloader_workers: Optional[int] = None
198
199
 
199
200
  def __post_init__(self) -> None:
200
201
  """Validate configuration after initialization."""
@@ -210,6 +211,12 @@ class BayesOptConfig:
210
211
  errors.append(
211
212
  f"task_type must be one of {valid_task_types}, got '{self.task_type}'"
212
213
  )
214
+ if self.dataloader_workers is not None:
215
+ try:
216
+ if int(self.dataloader_workers) < 0:
217
+ errors.append("dataloader_workers must be >= 0 when provided.")
218
+ except (TypeError, ValueError):
219
+ errors.append("dataloader_workers must be an integer when provided.")
213
220
  # Validate loss_name
214
221
  try:
215
222
  normalized_loss = normalize_loss_name(self.loss_name, self.task_type)
@@ -306,6 +306,19 @@ class TrainerBase:
306
306
  self.enable_distributed_optuna: bool = False
307
307
  self._distributed_forced_params: Optional[Dict[str, Any]] = None
308
308
 
309
+ def _apply_dataloader_overrides(self, model: Any) -> Any:
310
+ """Apply dataloader-related overrides from config to a model."""
311
+ cfg = getattr(self.ctx, "config", None)
312
+ if cfg is None:
313
+ return model
314
+ workers = getattr(cfg, "dataloader_workers", None)
315
+ if workers is not None:
316
+ model.dataloader_workers = int(workers)
317
+ profile = getattr(cfg, "resource_profile", None)
318
+ if profile:
319
+ model.resource_profile = str(profile)
320
+ return model
321
+
309
322
  def _export_preprocess_artifacts(self) -> Dict[str, Any]:
310
323
  dummy_columns: List[str] = []
311
324
  if getattr(self.ctx, "train_oht_data", None) is not None: