upgini 1.2.98a3594.dev1__tar.gz → 1.2.98a3594.dev3__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 (79) hide show
  1. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/PKG-INFO +1 -1
  2. upgini-1.2.98a3594.dev3/src/upgini/__about__.py +1 -0
  3. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/unary.py +19 -2
  4. upgini-1.2.98a3594.dev1/src/upgini/__about__.py +0 -1
  5. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/.gitignore +0 -0
  6. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/LICENSE +0 -0
  7. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/README.md +0 -0
  8. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/pyproject.toml +0 -0
  9. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/__init__.py +0 -0
  10. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/ads.py +0 -0
  11. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/ads_management/__init__.py +0 -0
  12. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/ads_management/ads_manager.py +0 -0
  13. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/__init__.py +0 -0
  14. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/all_operators.py +0 -0
  15. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/binary.py +0 -0
  16. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/date.py +0 -0
  17. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/feature.py +0 -0
  18. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/groupby.py +0 -0
  19. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/operator.py +0 -0
  20. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/__init__.py +0 -0
  21. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/base.py +0 -0
  22. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/cross.py +0 -0
  23. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/delta.py +0 -0
  24. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/lag.py +0 -0
  25. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/roll.py +0 -0
  26. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/trend.py +0 -0
  27. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/timeseries/volatility.py +0 -0
  28. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/utils.py +0 -0
  29. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/autofe/vector.py +0 -0
  30. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/data_source/__init__.py +0 -0
  31. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/data_source/data_source_publisher.py +0 -0
  32. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/dataset.py +0 -0
  33. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/errors.py +0 -0
  34. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/features_enricher.py +0 -0
  35. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/http.py +0 -0
  36. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/mdc/__init__.py +0 -0
  37. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/mdc/context.py +0 -0
  38. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/metadata.py +0 -0
  39. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/metrics.py +0 -0
  40. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/normalizer/__init__.py +0 -0
  41. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/normalizer/normalize_utils.py +0 -0
  42. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/resource_bundle/__init__.py +0 -0
  43. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/resource_bundle/exceptions.py +0 -0
  44. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/resource_bundle/strings.properties +0 -0
  45. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  46. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/sampler/__init__.py +0 -0
  47. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/sampler/base.py +0 -0
  48. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/sampler/random_under_sampler.py +0 -0
  49. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/sampler/utils.py +0 -0
  50. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/search_task.py +0 -0
  51. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/spinner.py +0 -0
  52. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/Roboto-Regular.ttf +0 -0
  53. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/__init__.py +0 -0
  54. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/base_search_key_detector.py +0 -0
  55. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/blocked_time_series.py +0 -0
  56. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/country_utils.py +0 -0
  57. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/custom_loss_utils.py +0 -0
  58. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/cv_utils.py +0 -0
  59. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/datetime_utils.py +0 -0
  60. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/deduplicate_utils.py +0 -0
  61. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/display_utils.py +0 -0
  62. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/email_utils.py +0 -0
  63. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/fallback_progress_bar.py +0 -0
  64. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/feature_info.py +0 -0
  65. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/features_validator.py +0 -0
  66. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/format.py +0 -0
  67. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/ip_utils.py +0 -0
  68. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/mstats.py +0 -0
  69. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/phone_utils.py +0 -0
  70. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/postal_code_utils.py +0 -0
  71. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/progress_bar.py +0 -0
  72. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/sample_utils.py +0 -0
  73. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/sklearn_ext.py +0 -0
  74. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/sort.py +0 -0
  75. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/target_utils.py +0 -0
  76. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/track_info.py +0 -0
  77. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/ts_utils.py +0 -0
  78. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/src/upgini/utils/warning_counter.py +0 -0
  79. {upgini-1.2.98a3594.dev1 → upgini-1.2.98a3594.dev3}/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.98a3594.dev1
3
+ Version: 1.2.98a3594.dev3
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.98a3594.dev3"
@@ -3,7 +3,7 @@ from typing import Dict, List, Optional
3
3
  import numpy as np
4
4
  import pandas as pd
5
5
 
6
- from upgini.autofe.operator import PandasOperator, VectorizableMixin
6
+ from upgini.autofe.operator import PandasOperator, ParametrizedOperator, VectorizableMixin
7
7
  from upgini.autofe.utils import pydantic_validator
8
8
 
9
9
 
@@ -200,12 +200,29 @@ class Cluster(PandasOperator):
200
200
  is_categorical: bool = True
201
201
 
202
202
 
203
- class OutlierDistance(PandasOperator):
203
+ class OutlierDistance(PandasOperator, ParametrizedOperator):
204
204
  name: str = "outlier_dist"
205
205
  is_unary: bool = True
206
206
  input_type: Optional[str] = "vector"
207
207
  output_type: Optional[str] = "float"
208
208
  centroid: Optional[List[float]] = None
209
+ class_value: Optional[str] = None
210
+
211
+ def to_formula(self) -> str:
212
+ return f"outlier_dist_{self.class_value if self.class_value is not None else 'all'}"
213
+
214
+ @classmethod
215
+ def from_formula(cls, formula: str) -> Optional["OutlierDistance"]:
216
+ if formula.startswith("outlier_dist_"):
217
+ class_value = formula.split("_")[-1]
218
+ return cls(class_value=None if class_value == "all" else class_value)
219
+ return None
220
+
221
+ @pydantic_validator("centroid", mode="before")
222
+ def parse_centroid(cls, value):
223
+ if isinstance(value, str):
224
+ return json.loads(value)
225
+ return value
209
226
 
210
227
  def get_params(self) -> Dict[str, Optional[str]]:
211
228
  res = super().get_params()
@@ -1 +0,0 @@
1
- __version__ = "1.2.98a3594.dev1"