upgini 1.2.86a1__tar.gz → 1.2.86.dev1__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 (78) hide show
  1. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/PKG-INFO +1 -1
  2. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/pyproject.toml +1 -6
  3. upgini-1.2.86.dev1/src/upgini/__about__.py +1 -0
  4. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/feature.py +6 -1
  5. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/datetime_utils.py +17 -17
  6. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/email_utils.py +5 -5
  7. upgini-1.2.86a1/src/upgini/__about__.py +0 -1
  8. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/.gitignore +0 -0
  9. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/LICENSE +0 -0
  10. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/README.md +0 -0
  11. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/__init__.py +0 -0
  12. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/ads.py +0 -0
  13. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/ads_management/__init__.py +0 -0
  14. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/ads_management/ads_manager.py +0 -0
  15. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/__init__.py +0 -0
  16. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/all_operators.py +0 -0
  17. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/binary.py +0 -0
  18. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/date.py +0 -0
  19. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/groupby.py +0 -0
  20. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/operator.py +0 -0
  21. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/__init__.py +0 -0
  22. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/base.py +0 -0
  23. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/cross.py +0 -0
  24. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/delta.py +0 -0
  25. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/lag.py +0 -0
  26. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/roll.py +0 -0
  27. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/trend.py +0 -0
  28. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/timeseries/volatility.py +0 -0
  29. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/unary.py +0 -0
  30. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/utils.py +0 -0
  31. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/autofe/vector.py +0 -0
  32. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/data_source/__init__.py +0 -0
  33. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/data_source/data_source_publisher.py +0 -0
  34. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/dataset.py +0 -0
  35. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/errors.py +0 -0
  36. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/features_enricher.py +0 -0
  37. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/http.py +0 -0
  38. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/mdc/__init__.py +0 -0
  39. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/mdc/context.py +0 -0
  40. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/metadata.py +0 -0
  41. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/metrics.py +0 -0
  42. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/normalizer/__init__.py +0 -0
  43. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/normalizer/normalize_utils.py +0 -0
  44. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/resource_bundle/__init__.py +0 -0
  45. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/resource_bundle/exceptions.py +0 -0
  46. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/resource_bundle/strings.properties +0 -0
  47. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  48. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/sampler/__init__.py +0 -0
  49. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/sampler/base.py +0 -0
  50. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/sampler/random_under_sampler.py +0 -0
  51. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/sampler/utils.py +0 -0
  52. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/search_task.py +0 -0
  53. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/spinner.py +0 -0
  54. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/Roboto-Regular.ttf +0 -0
  55. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/__init__.py +0 -0
  56. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/base_search_key_detector.py +0 -0
  57. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/blocked_time_series.py +0 -0
  58. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/country_utils.py +0 -0
  59. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/custom_loss_utils.py +0 -0
  60. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/cv_utils.py +0 -0
  61. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/deduplicate_utils.py +0 -0
  62. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/display_utils.py +0 -0
  63. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/fallback_progress_bar.py +0 -0
  64. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/feature_info.py +0 -0
  65. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/features_validator.py +0 -0
  66. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/format.py +0 -0
  67. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/ip_utils.py +0 -0
  68. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/mstats.py +0 -0
  69. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/phone_utils.py +0 -0
  70. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/postal_code_utils.py +0 -0
  71. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/progress_bar.py +0 -0
  72. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/sklearn_ext.py +0 -0
  73. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/sort.py +0 -0
  74. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/target_utils.py +0 -0
  75. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/track_info.py +0 -0
  76. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/ts_utils.py +0 -0
  77. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/src/upgini/utils/warning_counter.py +0 -0
  78. {upgini-1.2.86a1 → upgini-1.2.86.dev1}/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.86a1
3
+ Version: 1.2.86.dev1
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/
@@ -91,11 +91,7 @@ test_all = 'pytest -s -vv tests'
91
91
 
92
92
  [[tool.hatch.envs.test.matrix]]
93
93
  python = ["3.10", "3.11"]
94
- pandas = ["1.2.0", "1.3.0", "1.4.0", "1.5.0", "2.0.0"]
95
-
96
- [[tool.hatch.envs.test.matrix]]
97
- python = ["3.10", "3.11"]
98
- pandas = ["2.1.0", "2.2.0"]
94
+ pandas = ["1.2.0", "1.3.0", "1.4.0", "1.5.0", "2.0.0", "2.1.0", "2.2.0"]
99
95
 
100
96
  # from versions: 0.1, 0.2, 0.3.0, 0.4.0, 0.4.1, 0.4.2, 0.4.3, 0.5.0, 0.6.0, 0.6.1, 0.7.0, 0.7.1, 0.7.2, 0.7.3, 0.8.0, 0.8.1, 0.9.0, 0.9.1, 0.10.0, 0.10.1, 0.11.0, 0.12.0, 0.13.0, 0.13.1, 0.14.0, 0.14.1, 0.15.0, 0.15.1, 0.15.2, 0.16.0, 0.16.1, 0.16.2, 0.17.0, 0.17.1, 0.18.0, 0.18.1, 0.19.0, 0.19.1, 0.19.2, 0.20.0, 0.20.1, 0.20.2, 0.20.3, 0.21.0, 0.21.1, 0.22.0, 0.23.0, 0.23.1, 0.23.2, 0.23.3, 0.23.4, 0.24.0, 0.24.1, 0.24.2, 0.25.0, 0.25.1, 0.25.2, 0.25.3, 1.0.0, 1.0.1, 1.0.2, 1.0.3, 1.0.4, 1.0.5, 1.1.0, 1.1.1, 1.1.2, 1.1.3, 1.1.4, 1.1.5, 1.2.0, 1.2.1, 1.2.2, 1.2.3, 1.2.4, 1.2.5, 1.3.0, 1.3.1, 1.3.2, 1.3.3, 1.3.4, 1.3.5, 1.4.0rc0, 1.4.0, 1.4.1, 1.4.2, 1.4.3, 1.4.4, 1.5.0rc0, 1.5.0, 1.5.1, 1.5.2, 1.5.3, 2.0.0rc0, 2.0.0rc1, 2.0.0, 2.0.1, 2.0.2, 2.0.3
101
97
 
@@ -105,7 +101,6 @@ dependencies = [
105
101
  "coverage[toml]",
106
102
  "pytest",
107
103
  "pytest-cov",
108
- # "pytest-timeout",
109
104
  "requests-mock",
110
105
  "pytest-datafiles",
111
106
  "pytest-xdist",
@@ -0,0 +1 @@
1
+ __version__ = "1.2.86.dev1"
@@ -8,6 +8,7 @@ from pandas._typing import DtypeObj
8
8
 
9
9
  from upgini.autofe.all_operators import find_op
10
10
  from upgini.autofe.operator import Operator, PandasOperator
11
+ from upgini.autofe.timeseries.base import TimeSeriesBase
11
12
  from upgini.autofe.utils import pydantic_dump_method, pydantic_parse_method
12
13
 
13
14
 
@@ -162,7 +163,11 @@ class Feature:
162
163
  if self.cached_display_name is not None and cache:
163
164
  return self.cached_display_name
164
165
 
165
- should_stack_op = not isinstance(self.children[-1], Column) if self.op.is_unary or self.op.is_vector else False
166
+ should_stack_op = (
167
+ not isinstance(self.children[-1], Column)
168
+ if self.op.is_unary or isinstance(self.op, TimeSeriesBase)
169
+ else False
170
+ )
166
171
  components = []
167
172
 
168
173
  if self.alias:
@@ -121,31 +121,31 @@ class DateTimeSearchKeyConverter:
121
121
  df[cos_feature] = np.cos(2 * np.pi * df[column] / period)
122
122
  self.generated_features.append(cos_feature)
123
123
 
124
- df["quarter"] = df[self.date_column].dt.quarter
124
+ # df["quarter"] = df[self.date_column].dt.quarter
125
125
 
126
- # Calculate the start date of the quarter for each timestamp
127
- df["quarter_start"] = df[self.date_column].dt.to_period("Q").dt.start_time
126
+ # # Calculate the start date of the quarter for each timestamp
127
+ # df["quarter_start"] = df[self.date_column].dt.to_period("Q").dt.start_time
128
128
 
129
- # Calculate the day in the quarter
130
- df["day_in_quarter"] = (df[self.date_column] - df["quarter_start"]).dt.days + 1
129
+ # # Calculate the day in the quarter
130
+ # df["day_in_quarter"] = (df[self.date_column] - df["quarter_start"]).dt.days + 1
131
131
 
132
- # Vectorized calculation of days_in_quarter
133
- quarter = df["quarter"]
134
- start = df["quarter_start"]
135
- year = start.dt.year
136
- month = start.dt.month
132
+ # # Vectorized calculation of days_in_quarter
133
+ # quarter = df["quarter"]
134
+ # start = df["quarter_start"]
135
+ # year = start.dt.year
136
+ # month = start.dt.month
137
137
 
138
- quarter_end_year = np.where(quarter == 4, year + 1, year)
139
- quarter_end_month = np.where(quarter == 4, 1, month + 3)
138
+ # quarter_end_year = np.where(quarter == 4, year + 1, year)
139
+ # quarter_end_month = np.where(quarter == 4, 1, month + 3)
140
140
 
141
- end = pd.to_datetime({"year": quarter_end_year, "month": quarter_end_month, "day": 1})
142
- end.index = df.index
141
+ # end = pd.to_datetime({"year": quarter_end_year, "month": quarter_end_month, "day": 1})
142
+ # end.index = df.index
143
143
 
144
- df["days_in_quarter"] = (end - start).dt.days
144
+ # df["days_in_quarter"] = (end - start).dt.days
145
145
 
146
- add_cyclical_features(df, "day_in_quarter", df["days_in_quarter"]) # Days in the quarter
146
+ # add_cyclical_features(df, "day_in_quarter", df["days_in_quarter"]) # Days in the quarter
147
147
 
148
- df.drop(columns=["quarter", "quarter_start", "day_in_quarter", "days_in_quarter"], inplace=True)
148
+ # df.drop(columns=["quarter", "quarter_start", "day_in_quarter", "days_in_quarter"], inplace=True)
149
149
 
150
150
  df[seconds] = (df[self.date_column] - df[self.date_column].dt.floor("D")).dt.seconds
151
151
 
@@ -36,11 +36,11 @@ class EmailDomainGenerator:
36
36
  self.generated_features = []
37
37
 
38
38
  def generate(self, df: pd.DataFrame) -> pd.DataFrame:
39
- for email_col in self.email_columns:
40
- domain_feature = email_col + self.DOMAIN_SUFFIX
41
- if domain_feature not in df.columns:
42
- df[domain_feature] = df[email_col].apply(self._email_to_domain).astype("string")
43
- self.generated_features.append(domain_feature)
39
+ # for email_col in self.email_columns:
40
+ # domain_feature = email_col + self.DOMAIN_SUFFIX
41
+ # if domain_feature not in df.columns:
42
+ # df[domain_feature] = df[email_col].apply(self._email_to_domain).astype("string")
43
+ # self.generated_features.append(domain_feature)
44
44
  return df
45
45
 
46
46
  @staticmethod
@@ -1 +0,0 @@
1
- __version__ = "1.2.86a1"
File without changes
File without changes
File without changes