ecodev-core 0.0.44__tar.gz → 0.0.45__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 ecodev-core might be problematic. Click here for more details.
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/PKG-INFO +1 -1
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/__init__.py +3 -3
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/db_upsertion.py +7 -4
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/pyproject.toml +1 -1
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/LICENSE.md +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/README.md +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/app_activity.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/app_rights.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/app_user.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/auth_configuration.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/authentication.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/backup.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/check_dependencies.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/custom_equal.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/db_connection.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/db_filters.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/db_insertion.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/db_retrieval.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/deployment.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/email_sender.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/enum_utils.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/es_connection.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/list_utils.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/logger.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/pandas_utils.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/permissions.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/pydantic_utils.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/read_write.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/safe_utils.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/settings.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/sqlmodel_utils.py +0 -0
- {ecodev_core-0.0.44 → ecodev_core-0.0.45}/ecodev_core/version.py +0 -0
|
@@ -44,7 +44,7 @@ from ecodev_core.db_upsertion import field
|
|
|
44
44
|
from ecodev_core.db_upsertion import sfield
|
|
45
45
|
from ecodev_core.db_upsertion import upsert_data
|
|
46
46
|
from ecodev_core.db_upsertion import upsert_deletor
|
|
47
|
-
from ecodev_core.db_upsertion import
|
|
47
|
+
from ecodev_core.db_upsertion import upsert_df_data
|
|
48
48
|
from ecodev_core.db_upsertion import upsert_selector
|
|
49
49
|
from ecodev_core.deployment import Deployment
|
|
50
50
|
from ecodev_core.email_sender import send_email
|
|
@@ -102,5 +102,5 @@ __all__ = [
|
|
|
102
102
|
'get_access_token', 'safe_get_user', 'backup', 'group_by', 'get_excelfile', 'upsert_new_user',
|
|
103
103
|
'datify', 'safe_drop_columns', 'get_value', 'is_null', 'send_email', 'first_func_or_default',
|
|
104
104
|
'sort_by_keys', 'sort_by_values', 'Settings', 'load_yaml_file', 'Deployment', 'Version',
|
|
105
|
-
'sfield', 'field', '
|
|
106
|
-
'db_to_value', '
|
|
105
|
+
'sfield', 'field', 'upsert_df_data', 'upsert_deletor', 'get_row_versions', 'get_versions',
|
|
106
|
+
'db_to_value', 'upsert_data', 'upsert_selector']
|
|
@@ -83,24 +83,27 @@ def upsert_deletor(values: SQLModel, session: Session):
|
|
|
83
83
|
session.commit()
|
|
84
84
|
|
|
85
85
|
|
|
86
|
-
def
|
|
86
|
+
def upsert_df_data(df: Union[pd.DataFrame], db_schema: SQLModelMetaclass, session: Session) -> None:
|
|
87
87
|
"""
|
|
88
88
|
Upsert the passed df into db_schema db.
|
|
89
89
|
"""
|
|
90
|
-
|
|
90
|
+
upsert_data([x.to_dict() for _, x in df.iterrows()], session, raw_db_schema=db_schema)
|
|
91
91
|
|
|
92
92
|
|
|
93
|
-
def
|
|
93
|
+
def upsert_data(data: list[dict | SQLModelMetaclass],
|
|
94
|
+
session: Session,
|
|
95
|
+
raw_db_schema: SQLModelMetaclass | None = None) -> None:
|
|
94
96
|
"""
|
|
95
97
|
Upsert the passed list of dicts (corresponding to db_schema) into db_schema db.
|
|
96
98
|
"""
|
|
99
|
+
db_schema = raw_db_schema or data[0].__class__
|
|
97
100
|
selector = partial(upsert_selector, db_schema=db_schema)
|
|
98
101
|
updator = partial(upsert_updator, db_schema=db_schema)
|
|
99
102
|
batches = [data[i:i + BATCH_SIZE] for i in range(0, len(data), BATCH_SIZE)]
|
|
100
103
|
|
|
101
104
|
for batch in progressbar.progressbar(batches, redirect_stdout=False):
|
|
102
105
|
for row in batch:
|
|
103
|
-
new_object = db_schema(**row)
|
|
106
|
+
new_object = db_schema(**row) if isinstance(row, dict) else row
|
|
104
107
|
if in_db := session.exec(selector(new_object)).first():
|
|
105
108
|
session.exec(updator(new_object, in_db.id, session))
|
|
106
109
|
else:
|
|
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
|