upgini 1.2.24__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.
- {upgini-1.2.24 → upgini-1.2.25}/PKG-INFO +1 -1
- {upgini-1.2.24 → upgini-1.2.25}/pyproject.toml +5 -0
- upgini-1.2.25/src/upgini/__about__.py +1 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/features_enricher.py +2 -5
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/resource_bundle/strings.properties +1 -1
- upgini-1.2.25/src/upgini/utils/Roboto-Regular.ttf +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/display_utils.py +22 -6
- upgini-1.2.24/src/upgini/__about__.py +0 -1
- {upgini-1.2.24 → upgini-1.2.25}/.gitignore +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/LICENSE +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/README.md +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/ads.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/ads_management/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/ads_management/ads_manager.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/all_operands.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/binary.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/date.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/feature.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/groupby.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/operand.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/unary.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/autofe/vector.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/data_source/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/data_source/data_source_publisher.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/dataset.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/errors.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/http.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/lazy_import.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/mdc/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/mdc/context.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/metadata.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/metrics.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/normalizer/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/normalizer/normalize_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/resource_bundle/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/resource_bundle/exceptions.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/resource_bundle/strings_widget.properties +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/sampler/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/sampler/base.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/sampler/random_under_sampler.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/sampler/utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/search_task.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/spinner.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/__init__.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/base_search_key_detector.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/blocked_time_series.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/country_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/custom_loss_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/cv_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/datetime_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/deduplicate_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/email_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/fallback_progress_bar.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/features_validator.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/format.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/ip_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/phone_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/postal_code_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/progress_bar.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/sklearn_ext.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/target_utils.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/track_info.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/utils/warning_counter.py +0 -0
- {upgini-1.2.24 → upgini-1.2.25}/src/upgini/version_validator.py +0 -0
|
@@ -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
|
-
|
|
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)
|
|
@@ -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
|
|
|
Binary file
|
|
@@ -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
|
|
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": " "}, 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: "
|
|
188
|
-
src: url("
|
|
196
|
+
font-family: "Roboto";
|
|
197
|
+
src: url("{font_path}") format("truetype");
|
|
189
198
|
}}
|
|
190
199
|
|
|
191
200
|
body {{
|
|
192
|
-
font-family: "
|
|
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=
|
|
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.24"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|