upgini 1.2.46__tar.gz → 1.2.48__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.46 → upgini-1.2.48}/PKG-INFO +1 -1
- upgini-1.2.48/src/upgini/__about__.py +1 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/features_enricher.py +11 -5
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/http.py +19 -7
- upgini-1.2.46/src/upgini/__about__.py +0 -1
- {upgini-1.2.46 → upgini-1.2.48}/.gitignore +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/LICENSE +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/README.md +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/pyproject.toml +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/ads.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/ads_management/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/ads_management/ads_manager.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/all_operands.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/binary.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/date.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/feature.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/groupby.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/operand.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/unary.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/autofe/vector.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/data_source/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/data_source/data_source_publisher.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/dataset.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/errors.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/lazy_import.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/mdc/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/mdc/context.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/metadata.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/metrics.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/normalizer/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/normalizer/normalize_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/resource_bundle/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/resource_bundle/exceptions.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/resource_bundle/strings.properties +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/resource_bundle/strings_widget.properties +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/sampler/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/sampler/base.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/sampler/random_under_sampler.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/sampler/utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/search_task.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/spinner.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/Roboto-Regular.ttf +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/__init__.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/base_search_key_detector.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/blocked_time_series.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/country_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/custom_loss_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/cv_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/datetime_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/deduplicate_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/display_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/email_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/fallback_progress_bar.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/feature_info.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/features_validator.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/format.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/ip_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/phone_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/postal_code_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/progress_bar.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/sklearn_ext.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/target_utils.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/track_info.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/utils/warning_counter.py +0 -0
- {upgini-1.2.46 → upgini-1.2.48}/src/upgini/version_validator.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = "1.2.48"
|
|
@@ -1486,8 +1486,8 @@ class FeaturesEnricher(TransformerMixin):
|
|
|
1486
1486
|
for c in X_sampled.columns.to_list()
|
|
1487
1487
|
if (
|
|
1488
1488
|
not self.fit_select_features
|
|
1489
|
-
or c in self.feature_names_
|
|
1490
|
-
or (self.fit_columns_renaming
|
|
1489
|
+
or c in set(self.feature_names_).union(self.id_columns)
|
|
1490
|
+
or (self.fit_columns_renaming or {}).get(c, c) in set(self.feature_names_).union(self.id_columns)
|
|
1491
1491
|
)
|
|
1492
1492
|
and c
|
|
1493
1493
|
not in (
|
|
@@ -2191,7 +2191,9 @@ if response.status_code == 200:
|
|
|
2191
2191
|
|
|
2192
2192
|
search_keys = self.search_keys.copy()
|
|
2193
2193
|
if self.id_columns is not None and self.cv is not None and self.cv.is_time_series():
|
|
2194
|
-
self.search_keys.update(
|
|
2194
|
+
self.search_keys.update(
|
|
2195
|
+
{col: SearchKey.CUSTOM_KEY for col in self.id_columns if col not in self.search_keys}
|
|
2196
|
+
)
|
|
2195
2197
|
|
|
2196
2198
|
search_keys = self.__prepare_search_keys(
|
|
2197
2199
|
validated_X, search_keys, is_demo_dataset, is_transform=True, silent_mode=silent_mode
|
|
@@ -2716,8 +2718,12 @@ if response.status_code == 200:
|
|
|
2716
2718
|
if self.id_columns is not None and self.cv is not None and self.cv.is_time_series():
|
|
2717
2719
|
id_columns = self.__get_renamed_id_columns()
|
|
2718
2720
|
if id_columns:
|
|
2719
|
-
self.fit_search_keys.update(
|
|
2720
|
-
|
|
2721
|
+
self.fit_search_keys.update(
|
|
2722
|
+
{col: SearchKey.CUSTOM_KEY for col in id_columns if col not in self.fit_search_keys}
|
|
2723
|
+
)
|
|
2724
|
+
self.search_keys.update(
|
|
2725
|
+
{col: SearchKey.CUSTOM_KEY for col in self.id_columns if col not in self.search_keys}
|
|
2726
|
+
)
|
|
2721
2727
|
self.runtime_parameters.properties["id_columns"] = ",".join(id_columns)
|
|
2722
2728
|
|
|
2723
2729
|
df, fintech_warnings = remove_fintech_duplicates(
|
|
@@ -16,7 +16,7 @@ from typing import Any, Dict, List, Optional, Tuple
|
|
|
16
16
|
from urllib.parse import urljoin
|
|
17
17
|
|
|
18
18
|
import jwt
|
|
19
|
-
import pandas as pd
|
|
19
|
+
# import pandas as pd
|
|
20
20
|
import requests
|
|
21
21
|
from pydantic import BaseModel
|
|
22
22
|
from pythonjsonlogger import jsonlogger
|
|
@@ -422,6 +422,16 @@ class _RestClient:
|
|
|
422
422
|
lambda: self._send_post_file_req_v2(api_path, files, trace_id=trace_id, need_json_response=False)
|
|
423
423
|
)
|
|
424
424
|
|
|
425
|
+
@staticmethod
|
|
426
|
+
def compute_file_digest(filepath: str, algorithm="sha256", chunk_size=4096) -> str:
|
|
427
|
+
hash_func = getattr(hashlib, algorithm)()
|
|
428
|
+
|
|
429
|
+
with open(filepath, "rb") as f:
|
|
430
|
+
for chunk in iter(lambda: f.read(chunk_size), b""):
|
|
431
|
+
hash_func.update(chunk)
|
|
432
|
+
|
|
433
|
+
return hash_func.hexdigest()
|
|
434
|
+
|
|
425
435
|
def initial_search_v2(
|
|
426
436
|
self,
|
|
427
437
|
trace_id: str,
|
|
@@ -442,9 +452,10 @@ class _RestClient:
|
|
|
442
452
|
digest = md5_hash.hexdigest()
|
|
443
453
|
metadata_with_md5 = metadata.copy(update={"checksumMD5": digest})
|
|
444
454
|
|
|
445
|
-
digest_sha256 = hashlib.sha256(
|
|
446
|
-
|
|
447
|
-
).hexdigest()
|
|
455
|
+
# digest_sha256 = hashlib.sha256(
|
|
456
|
+
# pd.util.hash_pandas_object(pd.read_parquet(file_path, engine="fastparquet")).values
|
|
457
|
+
# ).hexdigest()
|
|
458
|
+
digest_sha256 = self.compute_file_digest(file_path)
|
|
448
459
|
metadata_with_md5 = metadata_with_md5.copy(update={"digest": digest_sha256})
|
|
449
460
|
|
|
450
461
|
with open(file_path, "rb") as file:
|
|
@@ -530,9 +541,10 @@ class _RestClient:
|
|
|
530
541
|
digest = md5_hash.hexdigest()
|
|
531
542
|
metadata_with_md5 = metadata.copy(update={"checksumMD5": digest})
|
|
532
543
|
|
|
533
|
-
digest_sha256 = hashlib.sha256(
|
|
534
|
-
|
|
535
|
-
).hexdigest()
|
|
544
|
+
# digest_sha256 = hashlib.sha256(
|
|
545
|
+
# pd.util.hash_pandas_object(pd.read_parquet(file_path, engine="fastparquet")).values
|
|
546
|
+
# ).hexdigest()
|
|
547
|
+
digest_sha256 = self.compute_file_digest(file_path)
|
|
536
548
|
metadata_with_md5 = metadata_with_md5.copy(update={"digest": digest_sha256})
|
|
537
549
|
|
|
538
550
|
with open(file_path, "rb") as file:
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = "1.2.46"
|
|
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
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|