upgini 1.2.122a1__tar.gz → 1.2.122a2__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.122a2}/PKG-INFO +1 -1
  2. upgini-1.2.122a2/src/upgini/__about__.py +1 -0
  3. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/feature.py +1 -0
  4. {upgini-1.2.122a1 → upgini-1.2.122a2}/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.122a2}/.gitignore +0 -0
  7. {upgini-1.2.122a1 → upgini-1.2.122a2}/LICENSE +0 -0
  8. {upgini-1.2.122a1 → upgini-1.2.122a2}/README.md +0 -0
  9. {upgini-1.2.122a1 → upgini-1.2.122a2}/pyproject.toml +0 -0
  10. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/__init__.py +0 -0
  11. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/ads.py +0 -0
  12. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/ads_management/__init__.py +0 -0
  13. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/ads_management/ads_manager.py +0 -0
  14. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/__init__.py +0 -0
  15. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/all_operators.py +0 -0
  16. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/binary.py +0 -0
  17. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/date.py +0 -0
  18. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/groupby.py +0 -0
  19. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/__init__.py +0 -0
  20. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/base.py +0 -0
  21. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/cross.py +0 -0
  22. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/delta.py +0 -0
  23. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/lag.py +0 -0
  24. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/roll.py +0 -0
  25. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/trend.py +0 -0
  26. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/timeseries/volatility.py +0 -0
  27. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/unary.py +0 -0
  28. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/utils.py +0 -0
  29. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/autofe/vector.py +0 -0
  30. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/data_source/__init__.py +0 -0
  31. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/data_source/data_source_publisher.py +0 -0
  32. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/dataset.py +0 -0
  33. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/errors.py +0 -0
  34. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/features_enricher.py +0 -0
  35. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/http.py +0 -0
  36. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/mdc/__init__.py +0 -0
  37. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/mdc/context.py +0 -0
  38. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/metadata.py +0 -0
  39. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/metrics.py +0 -0
  40. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/normalizer/__init__.py +0 -0
  41. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/normalizer/normalize_utils.py +0 -0
  42. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/resource_bundle/__init__.py +0 -0
  43. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/resource_bundle/exceptions.py +0 -0
  44. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/resource_bundle/strings.properties +0 -0
  45. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  46. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/sampler/__init__.py +0 -0
  47. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/sampler/base.py +0 -0
  48. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/sampler/random_under_sampler.py +0 -0
  49. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/sampler/utils.py +0 -0
  50. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/search_task.py +0 -0
  51. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/spinner.py +0 -0
  52. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/Roboto-Regular.ttf +0 -0
  53. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/__init__.py +0 -0
  54. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/base_search_key_detector.py +0 -0
  55. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/blocked_time_series.py +0 -0
  56. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/config.py +0 -0
  57. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/country_utils.py +0 -0
  58. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/custom_loss_utils.py +0 -0
  59. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/cv_utils.py +0 -0
  60. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/datetime_utils.py +0 -0
  61. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/deduplicate_utils.py +0 -0
  62. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/display_utils.py +0 -0
  63. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/email_utils.py +0 -0
  64. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/fallback_progress_bar.py +0 -0
  65. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/feature_info.py +0 -0
  66. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/features_validator.py +0 -0
  67. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/format.py +0 -0
  68. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/hash_utils.py +0 -0
  69. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/ip_utils.py +0 -0
  70. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/mstats.py +0 -0
  71. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/phone_utils.py +0 -0
  72. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/postal_code_utils.py +0 -0
  73. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/progress_bar.py +0 -0
  74. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/psi.py +0 -0
  75. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/sample_utils.py +0 -0
  76. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/sklearn_ext.py +0 -0
  77. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/sort.py +0 -0
  78. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/target_utils.py +0 -0
  79. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/track_info.py +0 -0
  80. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/ts_utils.py +0 -0
  81. {upgini-1.2.122a1 → upgini-1.2.122a2}/src/upgini/utils/warning_counter.py +0 -0
  82. {upgini-1.2.122a1 → upgini-1.2.122a2}/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.122a2
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.122a2"
@@ -145,6 +145,7 @@ class Feature:
145
145
  )
146
146
 
147
147
  def rename_columns(self, mapping: Dict[str, str]) -> "Feature":
148
+ self.op.rename_columns(mapping)
148
149
  for child in self.children:
149
150
  child.rename_columns(mapping)
150
151
  self.cached_display_name = None
@@ -89,6 +89,32 @@ class Operator(BaseModel, metaclass=OperatorRegistry):
89
89
  def delete_data(self):
90
90
  pass
91
91
 
92
+ def rename_columns(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