upgini 1.1.291a3232.post3__tar.gz → 1.1.292__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 (64) hide show
  1. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/PKG-INFO +1 -1
  2. upgini-1.1.292/src/upgini/__about__.py +1 -0
  3. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/unary.py +6 -7
  4. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/data_source/data_source_publisher.py +26 -0
  5. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/http.py +5 -0
  6. upgini-1.1.291a3232.post3/src/upgini/__about__.py +0 -1
  7. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/.gitignore +0 -0
  8. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/LICENSE +0 -0
  9. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/README.md +0 -0
  10. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/pyproject.toml +0 -0
  11. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/__init__.py +0 -0
  12. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/ads.py +0 -0
  13. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/ads_management/__init__.py +0 -0
  14. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/ads_management/ads_manager.py +0 -0
  15. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/__init__.py +0 -0
  16. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/all_operands.py +0 -0
  17. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/binary.py +0 -0
  18. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/date.py +0 -0
  19. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/feature.py +0 -0
  20. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/groupby.py +0 -0
  21. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/operand.py +0 -0
  22. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/autofe/vector.py +0 -0
  23. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/data_source/__init__.py +0 -0
  24. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/dataset.py +0 -0
  25. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/errors.py +0 -0
  26. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/features_enricher.py +0 -0
  27. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/mdc/__init__.py +0 -0
  28. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/mdc/context.py +0 -0
  29. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/metadata.py +0 -0
  30. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/metrics.py +0 -0
  31. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/normalizer/__init__.py +0 -0
  32. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/normalizer/phone_normalizer.py +0 -0
  33. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/resource_bundle/__init__.py +0 -0
  34. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/resource_bundle/exceptions.py +0 -0
  35. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/resource_bundle/strings.properties +0 -0
  36. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  37. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/sampler/__init__.py +0 -0
  38. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/sampler/base.py +0 -0
  39. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/sampler/random_under_sampler.py +0 -0
  40. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/sampler/utils.py +0 -0
  41. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/search_task.py +0 -0
  42. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/spinner.py +0 -0
  43. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/__init__.py +0 -0
  44. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/base_search_key_detector.py +0 -0
  45. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/blocked_time_series.py +0 -0
  46. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/country_utils.py +0 -0
  47. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/custom_loss_utils.py +0 -0
  48. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/cv_utils.py +0 -0
  49. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/datetime_utils.py +0 -0
  50. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/deduplicate_utils.py +0 -0
  51. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/display_utils.py +0 -0
  52. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/email_utils.py +0 -0
  53. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/fallback_progress_bar.py +0 -0
  54. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/features_validator.py +0 -0
  55. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/format.py +0 -0
  56. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/ip_utils.py +0 -0
  57. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/phone_utils.py +0 -0
  58. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/postal_code_utils.py +0 -0
  59. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/progress_bar.py +0 -0
  60. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/sklearn_ext.py +0 -0
  61. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/target_utils.py +0 -0
  62. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/track_info.py +0 -0
  63. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/utils/warning_counter.py +0 -0
  64. {upgini-1.1.291a3232.post3 → upgini-1.1.292}/src/upgini/version_validator.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: upgini
3
- Version: 1.1.291a3232.post3
3
+ Version: 1.1.292
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.1.292"
@@ -114,15 +114,14 @@ class Freq(PandasOperand):
114
114
  return self._loc(data, value_counts)
115
115
 
116
116
 
117
- class Norm(PandasOperand, VectorizableMixin):
117
+ class Norm(PandasOperand):
118
118
  name = "norm"
119
119
  is_unary = True
120
120
  output_type = "float"
121
121
 
122
122
  def calculate_unary(self, data: pd.Series) -> pd.Series:
123
- normalized_data = Normalizer().transform(data.to_frame().T).T
124
- return pd.Series(normalized_data[:, 0], index=data.index, name=data.name)
125
-
126
- def calculate_group(self, data: pd.DataFrame, **kwargs) -> pd.DataFrame:
127
- normalized_data = Normalizer().transform(data.T).T
128
- return pd.DataFrame(normalized_data, index=data.index, columns=data.columns)
123
+ data_dropna = data.dropna()
124
+ normalized_data = Normalizer().transform(data_dropna.to_frame().T).T
125
+ normalized_data = pd.Series(normalized_data[:, 0], index=data_dropna.index, name=data.name)
126
+ normalized_data = normalized_data.reindex(data.index)
127
+ return normalized_data
@@ -347,3 +347,29 @@ class DataSourcePublisher:
347
347
  self.upload_online(search_keys=keys)
348
348
 
349
349
  print("All ADS-es successfully uploaded")
350
+
351
+ def union_search_tasks(
352
+ self,
353
+ search_ids: List[str],
354
+ target_user_email: str,
355
+ selected_features: Optional[List[str]] = None,
356
+ exclude_features: Optional[List[str]] = None,
357
+ ) -> str:
358
+ if not search_ids:
359
+ raise Exception("Empty search ids list")
360
+
361
+ if not target_user_email:
362
+ raise Exception("Empty target user email")
363
+
364
+ request = {
365
+ "search_task_ids": search_ids,
366
+ "target_user_email": target_user_email,
367
+ }
368
+ if selected_features:
369
+ request["selected_features"] = selected_features
370
+ if exclude_features:
371
+ request["exclude_features"] = exclude_features
372
+
373
+ response = self._rest_client.union_search_tasks(request, "trace_id")
374
+ print(response)
375
+ return response
@@ -291,6 +291,7 @@ class _RestClient:
291
291
  GET_ACTIVE_ADS_DEFINITIONS_URI = "private/api/v2/ads/definitions"
292
292
  UPLOAD_ONLINE_URI = "private/api/v2/ads/upload-online"
293
293
  STOP_ADS_MANAGEMENT_TASK_URI_FMT = "private/api/v2/ads/management-task/{0}/stop"
294
+ UNION_SEARCH_TASKS_URI_FMT = SERVICE_ROOT_V2 + "search/merge"
294
295
 
295
296
  ACCESS_TOKEN_HEADER_NAME = "Authorization"
296
297
  CONTENT_TYPE_HEADER_NAME = "Content-Type"
@@ -760,6 +761,10 @@ class _RestClient:
760
761
  api_path = self.STOP_ADS_MANAGEMENT_TASK_URI_FMT.format(ads_management_task_id)
761
762
  self._with_unauth_retry(lambda: self._send_post_req(api_path, trace_id))
762
763
 
764
+ def union_search_tasks(self, request: dict, trace_id: str):
765
+ api_path = self.UNION_SEARCH_TASKS_URI_FMT
766
+ return self._with_unauth_retry(lambda: self._send_post_req(api_path, trace_id, request, result_format=None))
767
+
763
768
  # ---
764
769
 
765
770
  def _send_get_req(self, api_path: str, trace_id: Optional[str], additional_headers: Optional[dict] = None):
@@ -1 +0,0 @@
1
- __version__ = "1.1.291a3232-3"
File without changes
File without changes
File without changes