ins-pricing 0.4.4__py3-none-any.whl → 0.5.0__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.
Files changed (96) hide show
  1. ins_pricing/README.md +74 -56
  2. ins_pricing/__init__.py +142 -90
  3. ins_pricing/cli/BayesOpt_entry.py +52 -50
  4. ins_pricing/cli/BayesOpt_incremental.py +832 -898
  5. ins_pricing/cli/Explain_Run.py +31 -23
  6. ins_pricing/cli/Explain_entry.py +532 -579
  7. ins_pricing/cli/Pricing_Run.py +31 -23
  8. ins_pricing/cli/bayesopt_entry_runner.py +1440 -1438
  9. ins_pricing/cli/utils/cli_common.py +256 -256
  10. ins_pricing/cli/utils/cli_config.py +375 -375
  11. ins_pricing/cli/utils/import_resolver.py +382 -365
  12. ins_pricing/cli/utils/notebook_utils.py +340 -340
  13. ins_pricing/cli/watchdog_run.py +209 -201
  14. ins_pricing/frontend/README.md +573 -419
  15. ins_pricing/frontend/__init__.py +10 -10
  16. ins_pricing/frontend/config_builder.py +1 -0
  17. ins_pricing/frontend/example_workflows.py +1 -1
  18. ins_pricing/governance/__init__.py +20 -20
  19. ins_pricing/governance/release.py +159 -159
  20. ins_pricing/modelling/README.md +67 -0
  21. ins_pricing/modelling/__init__.py +147 -92
  22. ins_pricing/modelling/bayesopt/README.md +59 -0
  23. ins_pricing/modelling/{core/bayesopt → bayesopt}/__init__.py +64 -102
  24. ins_pricing/modelling/{core/bayesopt → bayesopt}/config_preprocess.py +562 -550
  25. ins_pricing/modelling/{core/bayesopt → bayesopt}/core.py +965 -962
  26. ins_pricing/modelling/{core/bayesopt → bayesopt}/model_explain_mixin.py +296 -296
  27. ins_pricing/modelling/{core/bayesopt → bayesopt}/model_plotting_mixin.py +482 -548
  28. ins_pricing/modelling/{core/bayesopt → bayesopt}/models/__init__.py +27 -27
  29. ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_ft_trainer.py +915 -913
  30. ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_gnn.py +788 -785
  31. ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_resn.py +448 -446
  32. ins_pricing/modelling/bayesopt/trainers/__init__.py +19 -0
  33. ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_base.py +1308 -1308
  34. ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_ft.py +3 -3
  35. ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_glm.py +197 -198
  36. ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_gnn.py +344 -344
  37. ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_resn.py +283 -283
  38. ins_pricing/modelling/{core/bayesopt → bayesopt}/trainers/trainer_xgb.py +346 -347
  39. ins_pricing/modelling/bayesopt/utils/__init__.py +67 -0
  40. ins_pricing/modelling/bayesopt/utils/constants.py +21 -0
  41. ins_pricing/modelling/bayesopt/utils/io_utils.py +7 -0
  42. ins_pricing/modelling/bayesopt/utils/losses.py +27 -0
  43. ins_pricing/modelling/bayesopt/utils/metrics_and_devices.py +17 -0
  44. ins_pricing/modelling/{core/bayesopt → bayesopt}/utils/torch_trainer_mixin.py +623 -623
  45. ins_pricing/modelling/{core/evaluation.py → evaluation.py} +113 -104
  46. ins_pricing/modelling/explain/__init__.py +55 -55
  47. ins_pricing/modelling/explain/metrics.py +27 -174
  48. ins_pricing/modelling/explain/permutation.py +237 -237
  49. ins_pricing/modelling/plotting/__init__.py +40 -36
  50. ins_pricing/modelling/plotting/compat.py +228 -0
  51. ins_pricing/modelling/plotting/curves.py +572 -572
  52. ins_pricing/modelling/plotting/diagnostics.py +163 -163
  53. ins_pricing/modelling/plotting/geo.py +362 -362
  54. ins_pricing/modelling/plotting/importance.py +121 -121
  55. ins_pricing/pricing/__init__.py +27 -27
  56. ins_pricing/production/__init__.py +35 -25
  57. ins_pricing/production/{predict.py → inference.py} +140 -57
  58. ins_pricing/production/monitoring.py +8 -21
  59. ins_pricing/reporting/__init__.py +11 -11
  60. ins_pricing/setup.py +1 -1
  61. ins_pricing/tests/production/test_inference.py +90 -0
  62. ins_pricing/utils/__init__.py +116 -83
  63. ins_pricing/utils/device.py +255 -255
  64. ins_pricing/utils/features.py +53 -0
  65. ins_pricing/utils/io.py +72 -0
  66. ins_pricing/{modelling/core/bayesopt/utils → utils}/losses.py +125 -129
  67. ins_pricing/utils/metrics.py +158 -24
  68. ins_pricing/utils/numerics.py +76 -0
  69. ins_pricing/utils/paths.py +9 -1
  70. {ins_pricing-0.4.4.dist-info → ins_pricing-0.5.0.dist-info}/METADATA +55 -35
  71. ins_pricing-0.5.0.dist-info/RECORD +131 -0
  72. ins_pricing/CHANGELOG.md +0 -272
  73. ins_pricing/RELEASE_NOTES_0.2.8.md +0 -344
  74. ins_pricing/docs/LOSS_FUNCTIONS.md +0 -78
  75. ins_pricing/docs/modelling/BayesOpt_USAGE.md +0 -945
  76. ins_pricing/docs/modelling/README.md +0 -34
  77. ins_pricing/frontend/QUICKSTART.md +0 -152
  78. ins_pricing/modelling/core/BayesOpt.py +0 -146
  79. ins_pricing/modelling/core/__init__.py +0 -1
  80. ins_pricing/modelling/core/bayesopt/PHASE2_REFACTORING_SUMMARY.md +0 -449
  81. ins_pricing/modelling/core/bayesopt/PHASE3_REFACTORING_SUMMARY.md +0 -406
  82. ins_pricing/modelling/core/bayesopt/REFACTORING_SUMMARY.md +0 -247
  83. ins_pricing/modelling/core/bayesopt/trainers/__init__.py +0 -19
  84. ins_pricing/modelling/core/bayesopt/utils/__init__.py +0 -86
  85. ins_pricing/modelling/core/bayesopt/utils/constants.py +0 -183
  86. ins_pricing/modelling/core/bayesopt/utils/io_utils.py +0 -126
  87. ins_pricing/modelling/core/bayesopt/utils/metrics_and_devices.py +0 -555
  88. ins_pricing/modelling/core/bayesopt/utils.py +0 -105
  89. ins_pricing/modelling/core/bayesopt/utils_backup.py +0 -1503
  90. ins_pricing/tests/production/test_predict.py +0 -233
  91. ins_pricing-0.4.4.dist-info/RECORD +0 -137
  92. /ins_pricing/modelling/{core/bayesopt → bayesopt}/config_components.py +0 -0
  93. /ins_pricing/modelling/{core/bayesopt → bayesopt}/models/model_ft_components.py +0 -0
  94. /ins_pricing/modelling/{core/bayesopt → bayesopt}/utils/distributed_utils.py +0 -0
  95. {ins_pricing-0.4.4.dist-info → ins_pricing-0.5.0.dist-info}/WHEEL +0 -0
  96. {ins_pricing-0.4.4.dist-info → ins_pricing-0.5.0.dist-info}/top_level.txt +0 -0
@@ -0,0 +1,67 @@
1
+ """Backward compatibility re-exports for bayesopt utilities.
2
+
3
+ This module keeps legacy imports working while routing general helpers
4
+ through ins_pricing.utils and leaving bayesopt-specific utilities in place.
5
+ """
6
+
7
+ from __future__ import annotations
8
+
9
+ # Constants and simple utilities
10
+ from ins_pricing.modelling.bayesopt.utils.constants import (
11
+ EPS,
12
+ set_global_seed,
13
+ ensure_parent_dir,
14
+ compute_batch_size,
15
+ tweedie_loss,
16
+ infer_factor_and_cate_list,
17
+ )
18
+
19
+ # I/O utilities
20
+ from ins_pricing.modelling.bayesopt.utils.io_utils import (
21
+ IOUtils,
22
+ csv_to_dict,
23
+ )
24
+
25
+ # Distributed training
26
+ from ins_pricing.modelling.bayesopt.utils.distributed_utils import (
27
+ DistributedUtils,
28
+ TrainingUtils,
29
+ free_cuda,
30
+ )
31
+
32
+ # PyTorch training mixin
33
+ from ins_pricing.modelling.bayesopt.utils.torch_trainer_mixin import (
34
+ TorchTrainerMixin,
35
+ )
36
+
37
+ # Metrics and device helpers (shared utilities)
38
+ from ins_pricing.modelling.bayesopt.utils.metrics_and_devices import (
39
+ get_logger,
40
+ MetricFactory,
41
+ GPUMemoryManager,
42
+ DeviceManager,
43
+ )
44
+
45
+ __all__ = [
46
+ # Constants
47
+ 'EPS',
48
+ 'set_global_seed',
49
+ 'ensure_parent_dir',
50
+ 'compute_batch_size',
51
+ 'tweedie_loss',
52
+ 'infer_factor_and_cate_list',
53
+ # I/O
54
+ 'IOUtils',
55
+ 'csv_to_dict',
56
+ # Distributed
57
+ 'DistributedUtils',
58
+ 'TrainingUtils',
59
+ 'free_cuda',
60
+ # PyTorch
61
+ 'TorchTrainerMixin',
62
+ # Utilities
63
+ 'get_logger',
64
+ 'MetricFactory',
65
+ 'GPUMemoryManager',
66
+ 'DeviceManager',
67
+ ]
@@ -0,0 +1,21 @@
1
+ """Backward-compatible re-exports for numerical utilities."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from ins_pricing.utils.features import infer_factor_and_cate_list
6
+ from ins_pricing.utils.io import ensure_parent_dir
7
+ from ins_pricing.utils.numerics import (
8
+ EPS,
9
+ compute_batch_size,
10
+ set_global_seed,
11
+ tweedie_loss,
12
+ )
13
+
14
+ __all__ = [
15
+ "EPS",
16
+ "set_global_seed",
17
+ "ensure_parent_dir",
18
+ "compute_batch_size",
19
+ "tweedie_loss",
20
+ "infer_factor_and_cate_list",
21
+ ]
@@ -0,0 +1,7 @@
1
+ """Backward-compatible re-exports for IO utilities."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from ins_pricing.utils.io import IOUtils, csv_to_dict, ensure_parent_dir
6
+
7
+ __all__ = ["IOUtils", "csv_to_dict", "ensure_parent_dir"]
@@ -0,0 +1,27 @@
1
+ """Backward-compatible re-exports for loss utilities."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from ins_pricing.utils.losses import (
6
+ CLASSIFICATION_LOSSES,
7
+ LOSS_ALIASES,
8
+ REGRESSION_LOSSES,
9
+ infer_loss_name_from_model_name,
10
+ loss_requires_positive,
11
+ normalize_loss_name,
12
+ regression_loss,
13
+ resolve_tweedie_power,
14
+ resolve_xgb_objective,
15
+ )
16
+
17
+ __all__ = [
18
+ "LOSS_ALIASES",
19
+ "REGRESSION_LOSSES",
20
+ "CLASSIFICATION_LOSSES",
21
+ "normalize_loss_name",
22
+ "infer_loss_name_from_model_name",
23
+ "resolve_tweedie_power",
24
+ "resolve_xgb_objective",
25
+ "regression_loss",
26
+ "loss_requires_positive",
27
+ ]
@@ -0,0 +1,17 @@
1
+ """Backward-compatible re-exports for metrics and device utilities."""
2
+
3
+ from __future__ import annotations
4
+
5
+ from ins_pricing.utils import (
6
+ DeviceManager,
7
+ GPUMemoryManager,
8
+ MetricFactory,
9
+ get_logger,
10
+ )
11
+
12
+ __all__ = [
13
+ "get_logger",
14
+ "MetricFactory",
15
+ "GPUMemoryManager",
16
+ "DeviceManager",
17
+ ]