upgini 1.2.24a2__tar.gz → 1.2.25__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.

Potentially problematic release.


This version of upgini might be problematic. Click here for more details.

Files changed (66) hide show
  1. {upgini-1.2.24a2 → upgini-1.2.25}/PKG-INFO +1 -1
  2. {upgini-1.2.24a2 → upgini-1.2.25}/pyproject.toml +5 -0
  3. upgini-1.2.25/src/upgini/__about__.py +1 -0
  4. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/features_enricher.py +2 -5
  5. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/metrics.py +2 -1
  6. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/resource_bundle/strings.properties +1 -1
  7. upgini-1.2.25/src/upgini/utils/Roboto-Regular.ttf +0 -0
  8. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/display_utils.py +22 -6
  9. upgini-1.2.24a2/src/upgini/__about__.py +0 -1
  10. {upgini-1.2.24a2 → upgini-1.2.25}/.gitignore +0 -0
  11. {upgini-1.2.24a2 → upgini-1.2.25}/LICENSE +0 -0
  12. {upgini-1.2.24a2 → upgini-1.2.25}/README.md +0 -0
  13. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/__init__.py +0 -0
  14. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/ads.py +0 -0
  15. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/ads_management/__init__.py +0 -0
  16. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/ads_management/ads_manager.py +0 -0
  17. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/__init__.py +0 -0
  18. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/all_operands.py +0 -0
  19. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/binary.py +0 -0
  20. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/date.py +0 -0
  21. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/feature.py +0 -0
  22. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/groupby.py +0 -0
  23. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/operand.py +0 -0
  24. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/unary.py +0 -0
  25. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/autofe/vector.py +0 -0
  26. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/data_source/__init__.py +0 -0
  27. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/data_source/data_source_publisher.py +0 -0
  28. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/dataset.py +0 -0
  29. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/errors.py +0 -0
  30. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/http.py +0 -0
  31. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/lazy_import.py +0 -0
  32. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/mdc/__init__.py +0 -0
  33. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/mdc/context.py +0 -0
  34. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/metadata.py +0 -0
  35. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/normalizer/__init__.py +0 -0
  36. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/normalizer/normalize_utils.py +0 -0
  37. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/resource_bundle/__init__.py +0 -0
  38. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/resource_bundle/exceptions.py +0 -0
  39. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/resource_bundle/strings_widget.properties +0 -0
  40. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/sampler/__init__.py +0 -0
  41. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/sampler/base.py +0 -0
  42. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/sampler/random_under_sampler.py +0 -0
  43. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/sampler/utils.py +0 -0
  44. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/search_task.py +0 -0
  45. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/spinner.py +0 -0
  46. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/__init__.py +0 -0
  47. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/base_search_key_detector.py +0 -0
  48. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/blocked_time_series.py +0 -0
  49. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/country_utils.py +0 -0
  50. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/custom_loss_utils.py +0 -0
  51. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/cv_utils.py +0 -0
  52. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/datetime_utils.py +0 -0
  53. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/deduplicate_utils.py +0 -0
  54. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/email_utils.py +0 -0
  55. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/fallback_progress_bar.py +0 -0
  56. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/features_validator.py +0 -0
  57. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/format.py +0 -0
  58. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/ip_utils.py +0 -0
  59. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/phone_utils.py +0 -0
  60. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/postal_code_utils.py +0 -0
  61. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/progress_bar.py +0 -0
  62. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/sklearn_ext.py +0 -0
  63. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/target_utils.py +0 -0
  64. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/track_info.py +0 -0
  65. {upgini-1.2.24a2 → upgini-1.2.25}/src/upgini/utils/warning_counter.py +0 -0
  66. {upgini-1.2.24a2 → upgini-1.2.25}/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.24a2
3
+ Version: 1.2.25
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/
@@ -70,6 +70,11 @@ packages = [
70
70
  "src/upgini"
71
71
  ]
72
72
 
73
+ [tool.hatch.build]
74
+ include = [
75
+ "/src/utils/Roboto-Regular.ttf",
76
+ ]
77
+
73
78
  [tool.hatch.envs.default]
74
79
  type = "virtual"
75
80
  python = "3.10"
@@ -0,0 +1 @@
1
+ __version__ = "1.2.25"
@@ -3194,9 +3194,8 @@ class FeaturesEnricher(TransformerMixin):
3194
3194
 
3195
3195
  return df
3196
3196
 
3197
- @staticmethod
3198
3197
  def _add_current_date_as_key(
3199
- df: pd.DataFrame, search_keys: Dict[str, SearchKey], logger: logging.Logger, bundle: ResourceBundle
3198
+ self, df: pd.DataFrame, search_keys: Dict[str, SearchKey], logger: logging.Logger, bundle: ResourceBundle
3200
3199
  ) -> pd.DataFrame:
3201
3200
  if (
3202
3201
  set(search_keys.values()) == {SearchKey.PHONE}
@@ -3204,9 +3203,7 @@ class FeaturesEnricher(TransformerMixin):
3204
3203
  or set(search_keys.values()) == {SearchKey.HEM}
3205
3204
  or set(search_keys.values()) == {SearchKey.COUNTRY, SearchKey.POSTAL_CODE}
3206
3205
  ):
3207
- msg = bundle.get("current_date_added")
3208
- print(msg)
3209
- logger.warning(msg)
3206
+ self.__log_warning(bundle.get("current_date_added"))
3210
3207
  df[FeaturesEnricher.CURRENT_DATE] = datetime.date.today()
3211
3208
  search_keys[FeaturesEnricher.CURRENT_DATE] = SearchKey.DATE
3212
3209
  converter = DateTimeSearchKeyConverter(FeaturesEnricher.CURRENT_DATE)
@@ -437,7 +437,8 @@ class EstimatorWrapper:
437
437
  f"Client cat_feature `{cat_feature}` not found in x columns: {x.columns.to_list()}"
438
438
  )
439
439
  estimator_copy.set_params(
440
- cat_features=[x.columns.get_loc(cat_feature) for cat_feature in cat_features]
440
+ # cat_features=[x.columns.get_loc(cat_feature) for cat_feature in cat_features]
441
+ cat_features=cat_features
441
442
  )
442
443
  estimator = CatBoostWrapper(**kwargs)
443
444
  else:
@@ -9,7 +9,7 @@ search_stopped=Search request stopped
9
9
  polling_search_task=\nRunning search request, search_id={}
10
10
  polling_unregister_information=We'll send email notification once it's completed, just use your personal api_key from profile.upgini.com
11
11
  ads_upload_finish=Thank you for your submission!\nWe'll check your data sharing proposal and get back to you
12
- demo_dataset_info=Demo training dataset detected. Registration for an API key is not required.
12
+ demo_dataset_info=Demo training dataset detected. Registration for an API key is not required.\n
13
13
  transform_usage_info=You use Trial access to Upgini data enrichment. Limit for Trial: {} rows. You have already enriched: {} rows.
14
14
  transform_usage_warning=You are trying to launch enrichment for {} rows, which will exceed the rest limit {}.
15
15
 
@@ -4,7 +4,7 @@ import textwrap
4
4
  import urllib.parse
5
5
  import uuid
6
6
  from datetime import datetime, timezone
7
- from io import BytesIO
7
+ from io import StringIO
8
8
  from typing import Callable, List, Optional
9
9
 
10
10
  import pandas as pd
@@ -150,7 +150,7 @@ def make_html_report(
150
150
  search_id: str,
151
151
  email: Optional[str] = None,
152
152
  search_keys: Optional[List[str]] = None,
153
- ):
153
+ ) -> str:
154
154
  # relevant_features_df = relevant_features_df.copy()
155
155
  # relevant_features_df["Feature name"] = relevant_features_df["Feature name"].apply(
156
156
  # lambda x: "*" + x if x.contains("_autofe_") else x
@@ -161,9 +161,18 @@ def make_html_report(
161
161
  """<button type="button">Request a quote</button></a>"""
162
162
  )
163
163
  relevant_datasources_df.rename(columns={"action": "&nbsp;"}, inplace=True)
164
+
165
+ try:
166
+ from importlib.resources import files
167
+ font_path = files('upgini.utils').joinpath('Roboto-Regular.ttf')
168
+ except Exception:
169
+ from pkg_resources import resource_filename
170
+ font_path = resource_filename('upgini.utils', 'Roboto-Regular.ttf')
171
+
164
172
  return f"""<html>
165
173
  <head>
166
174
  <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
175
+ <meta charset="UTF-8">
167
176
  <style>
168
177
  @page {{
169
178
  size: a4 portrait;
@@ -184,12 +193,14 @@ def make_html_report(
184
193
  }}
185
194
 
186
195
  @font-face {{
187
- font-family: "Alice-Regular";
188
- src: url("/fonts/Alice-Regular.ttf") format("truetype");
196
+ font-family: "Roboto";
197
+ src: url("{font_path}") format("truetype");
189
198
  }}
190
199
 
191
200
  body {{
192
- font-family: "Alice-Regular", Arial, sans-serif;
201
+ font-family: "Roboto", sans-serif;
202
+ font-weight: 400;
203
+ font-style: normal;
193
204
  }}
194
205
 
195
206
  #header_content {{
@@ -305,8 +316,13 @@ def show_button_download_pdf(
305
316
  from IPython.display import HTML, display
306
317
 
307
318
  file_name = f"upgini-report-{uuid.uuid4()}.pdf"
319
+
320
+ # from weasyprint import HTML
321
+
322
+ # html = HTML(string=source)
323
+ # html.write_pdf(file_name)
308
324
  with open(file_name, "wb") as output:
309
- pisa.CreatePDF(src=BytesIO(source.encode("UTF-8")), dest=output)
325
+ pisa.CreatePDF(src=StringIO(source), dest=output, encoding="UTF-8")
310
326
 
311
327
  with open(file_name, "rb") as f:
312
328
  b64 = base64.b64encode(f.read())
@@ -1 +0,0 @@
1
- __version__ = "1.2.24a2"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes