upgini 1.2.122a1__tar.gz → 1.2.122a3__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 (82) hide show
  1. {upgini-1.2.122a1 → upgini-1.2.122a3}/PKG-INFO +1 -1
  2. upgini-1.2.122a3/src/upgini/__about__.py +1 -0
  3. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/feature.py +6 -0
  4. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/operator.py +26 -0
  5. upgini-1.2.122a1/src/upgini/__about__.py +0 -1
  6. {upgini-1.2.122a1 → upgini-1.2.122a3}/.gitignore +0 -0
  7. {upgini-1.2.122a1 → upgini-1.2.122a3}/LICENSE +0 -0
  8. {upgini-1.2.122a1 → upgini-1.2.122a3}/README.md +0 -0
  9. {upgini-1.2.122a1 → upgini-1.2.122a3}/pyproject.toml +0 -0
  10. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/__init__.py +0 -0
  11. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/ads.py +0 -0
  12. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/ads_management/__init__.py +0 -0
  13. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/ads_management/ads_manager.py +0 -0
  14. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/__init__.py +0 -0
  15. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/all_operators.py +0 -0
  16. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/binary.py +0 -0
  17. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/date.py +0 -0
  18. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/groupby.py +0 -0
  19. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/__init__.py +0 -0
  20. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/base.py +0 -0
  21. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/cross.py +0 -0
  22. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/delta.py +0 -0
  23. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/lag.py +0 -0
  24. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/roll.py +0 -0
  25. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/trend.py +0 -0
  26. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/timeseries/volatility.py +0 -0
  27. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/unary.py +0 -0
  28. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/utils.py +0 -0
  29. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/autofe/vector.py +0 -0
  30. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/data_source/__init__.py +0 -0
  31. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/data_source/data_source_publisher.py +0 -0
  32. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/dataset.py +0 -0
  33. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/errors.py +0 -0
  34. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/features_enricher.py +0 -0
  35. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/http.py +0 -0
  36. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/mdc/__init__.py +0 -0
  37. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/mdc/context.py +0 -0
  38. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/metadata.py +0 -0
  39. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/metrics.py +0 -0
  40. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/normalizer/__init__.py +0 -0
  41. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/normalizer/normalize_utils.py +0 -0
  42. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/resource_bundle/__init__.py +0 -0
  43. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/resource_bundle/exceptions.py +0 -0
  44. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/resource_bundle/strings.properties +0 -0
  45. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  46. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/sampler/__init__.py +0 -0
  47. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/sampler/base.py +0 -0
  48. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/sampler/random_under_sampler.py +0 -0
  49. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/sampler/utils.py +0 -0
  50. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/search_task.py +0 -0
  51. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/spinner.py +0 -0
  52. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/Roboto-Regular.ttf +0 -0
  53. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/__init__.py +0 -0
  54. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/base_search_key_detector.py +0 -0
  55. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/blocked_time_series.py +0 -0
  56. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/config.py +0 -0
  57. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/country_utils.py +0 -0
  58. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/custom_loss_utils.py +0 -0
  59. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/cv_utils.py +0 -0
  60. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/datetime_utils.py +0 -0
  61. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/deduplicate_utils.py +0 -0
  62. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/display_utils.py +0 -0
  63. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/email_utils.py +0 -0
  64. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/fallback_progress_bar.py +0 -0
  65. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/feature_info.py +0 -0
  66. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/features_validator.py +0 -0
  67. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/format.py +0 -0
  68. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/hash_utils.py +0 -0
  69. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/ip_utils.py +0 -0
  70. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/mstats.py +0 -0
  71. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/phone_utils.py +0 -0
  72. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/postal_code_utils.py +0 -0
  73. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/progress_bar.py +0 -0
  74. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/psi.py +0 -0
  75. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/sample_utils.py +0 -0
  76. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/sklearn_ext.py +0 -0
  77. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/sort.py +0 -0
  78. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/target_utils.py +0 -0
  79. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/track_info.py +0 -0
  80. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/ts_utils.py +0 -0
  81. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/utils/warning_counter.py +0 -0
  82. {upgini-1.2.122a1 → upgini-1.2.122a3}/src/upgini/version_validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: upgini
3
- Version: 1.2.122a1
3
+ Version: 1.2.122a3
4
4
  Summary: Intelligent data search & enrichment for Machine Learning
5
5
  Project-URL: Bug Reports, https://github.com/upgini/upgini/issues
6
6
  Project-URL: Homepage, https://upgini.com/
@@ -0,0 +1 @@
1
+ __version__ = "1.2.122a3"
@@ -150,6 +150,12 @@ class Feature:
150
150
  self.cached_display_name = None
151
151
  return self
152
152
 
153
+ def rename_op_params(self, mapping: Dict[str, str]) -> "Feature":
154
+ self.op.rename_params(mapping)
155
+ for child in self.children:
156
+ child.rename_op_params(mapping)
157
+ return self
158
+
153
159
  def get_column_nodes(self) -> List[Union[Column, "Feature"]]:
154
160
  res = []
155
161
  for child in self.children:
@@ -89,6 +89,32 @@ class Operator(BaseModel, metaclass=OperatorRegistry):
89
89
  def delete_data(self):
90
90
  pass
91
91
 
92
+ def rename_params(self, columns_renaming: Dict[str, str]) -> "Operator":
93
+ # Rename occurrences of column names inside self.params keys according to columns_renaming
94
+ if not self.params or not columns_renaming:
95
+ return self
96
+
97
+ # Replace longer keys first to avoid partial overlaps
98
+ replacements = sorted(columns_renaming.items(), key=lambda kv: -len(kv[0]))
99
+
100
+ renamed_params: Dict[str, str] = {}
101
+ for param_key, param_value in self.params.items():
102
+ new_key = param_key
103
+ for old, new in replacements:
104
+ if old and old in new_key:
105
+ new_key = new_key.replace(old, new)
106
+
107
+ if new_key in renamed_params and new_key != param_key:
108
+ self._logger.warning(
109
+ "Param key collision after rename: '%s' -> '%s'. Overwriting value.",
110
+ param_key,
111
+ new_key,
112
+ )
113
+ renamed_params[new_key] = param_value
114
+
115
+ self.params = renamed_params
116
+ return self
117
+
92
118
 
93
119
  class ParametrizedOperator(Operator, abc.ABC):
94
120
 
@@ -1 +0,0 @@
1
- __version__ = "1.2.122a1"
File without changes
File without changes
File without changes
File without changes
File without changes