data-manipulation 0.48__tar.gz → 0.49__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.
- {data_manipulation-0.48/data_manipulation.egg-info → data_manipulation-0.49}/PKG-INFO +1 -2
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/_version.py +3 -3
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/sqlalchemy_.py +9 -8
- {data_manipulation-0.48 → data_manipulation-0.49/data_manipulation.egg-info}/PKG-INFO +1 -2
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation.egg-info/requires.txt +0 -1
- {data_manipulation-0.48 → data_manipulation-0.49}/setup.py +0 -1
- {data_manipulation-0.48 → data_manipulation-0.49}/LICENSE +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/MANIFEST.in +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/README.md +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/__init__.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/base.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/beautifulsoup_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/boto3_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/cryptography_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/django_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/flask_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/geopandas_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/kerberos_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/mysql_connector_python_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/openldap_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/pandas_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/postgres_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/prometheus_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/pyspark_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/smtplib_.py +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation.egg-info/SOURCES.txt +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation.egg-info/dependency_links.txt +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation.egg-info/top_level.txt +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/setup.cfg +0 -0
- {data_manipulation-0.48 → data_manipulation-0.49}/versioneer.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: data_manipulation
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.49
|
|
4
4
|
Summary: Powerful data manipulation
|
|
5
5
|
Home-page: https://github.com/shawnngtq/data-manipulation
|
|
6
6
|
Author: Shawn Ng
|
|
@@ -31,7 +31,6 @@ Requires-Dist: mysql-connector-python
|
|
|
31
31
|
Requires-Dist: numpy
|
|
32
32
|
Requires-Dist: pandas
|
|
33
33
|
Requires-Dist: psycopg
|
|
34
|
-
Requires-Dist: psycopg2
|
|
35
34
|
Requires-Dist: pyspark
|
|
36
35
|
Requires-Dist: python-dotenv
|
|
37
36
|
Requires-Dist: sqlalchemy
|
|
@@ -8,11 +8,11 @@ import json
|
|
|
8
8
|
|
|
9
9
|
version_json = '''
|
|
10
10
|
{
|
|
11
|
-
"date": "
|
|
11
|
+
"date": "2025-05-10T14:12:35+0800",
|
|
12
12
|
"dirty": false,
|
|
13
13
|
"error": null,
|
|
14
|
-
"full-revisionid": "
|
|
15
|
-
"version": "0.
|
|
14
|
+
"full-revisionid": "f4c4987760e72ac7789c0b82956155b28ab3fc89",
|
|
15
|
+
"version": "0.49"
|
|
16
16
|
}
|
|
17
17
|
''' # END VERSION_JSON
|
|
18
18
|
|
|
@@ -1,9 +1,10 @@
|
|
|
1
|
+
from typing import Any, Dict, Optional
|
|
2
|
+
|
|
1
3
|
import sqlalchemy
|
|
2
|
-
from
|
|
4
|
+
from loguru import logger
|
|
3
5
|
from sqlalchemy.engine.base import Engine
|
|
6
|
+
from sqlalchemy.engine.url import URL
|
|
4
7
|
from sqlalchemy.exc import SQLAlchemyError
|
|
5
|
-
from typing import Optional, Dict, Any
|
|
6
|
-
from loguru import logger
|
|
7
8
|
|
|
8
9
|
|
|
9
10
|
class DatabaseConnectionError(Exception):
|
|
@@ -27,7 +28,7 @@ def create_sqlalchemy_url(
|
|
|
27
28
|
drivername (str): Database driver name. Supported options include:
|
|
28
29
|
- 'mysql+mysqlconnector'
|
|
29
30
|
- 'mysql+pymysql'
|
|
30
|
-
- 'postgresql+
|
|
31
|
+
- 'postgresql+psycopg'
|
|
31
32
|
- 'mssql+pyodbc'
|
|
32
33
|
- 'oracle+cx_oracle'
|
|
33
34
|
- 'sqlite3'
|
|
@@ -44,7 +45,7 @@ def create_sqlalchemy_url(
|
|
|
44
45
|
|
|
45
46
|
Examples:
|
|
46
47
|
>>> url = create_sqlalchemy_url(
|
|
47
|
-
... drivername='postgresql+
|
|
48
|
+
... drivername='postgresql+psycopg',
|
|
48
49
|
... host='localhost',
|
|
49
50
|
... dbname='mydb',
|
|
50
51
|
... user='admin',
|
|
@@ -52,7 +53,7 @@ def create_sqlalchemy_url(
|
|
|
52
53
|
... port=5432
|
|
53
54
|
... )
|
|
54
55
|
>>> str(url)
|
|
55
|
-
'postgresql+
|
|
56
|
+
'postgresql+psycopg://admin:secret@localhost:5432/mydb'
|
|
56
57
|
"""
|
|
57
58
|
return URL.create(
|
|
58
59
|
drivername=drivername,
|
|
@@ -84,7 +85,7 @@ def create_sqlalchemy_engine(
|
|
|
84
85
|
drivername (str): Database driver name. Supported options include:
|
|
85
86
|
- 'mysql+mysqlconnector'
|
|
86
87
|
- 'mysql+pymysql'
|
|
87
|
-
- 'postgresql+
|
|
88
|
+
- 'postgresql+psycopg'
|
|
88
89
|
- 'mssql+pyodbc'
|
|
89
90
|
- 'oracle+cx_oracle'
|
|
90
91
|
- 'sqlite3'
|
|
@@ -107,7 +108,7 @@ def create_sqlalchemy_engine(
|
|
|
107
108
|
|
|
108
109
|
Examples:
|
|
109
110
|
>>> engine = create_sqlalchemy_engine(
|
|
110
|
-
... drivername='postgresql+
|
|
111
|
+
... drivername='postgresql+psycopg',
|
|
111
112
|
... host='localhost',
|
|
112
113
|
... dbname='mydb',
|
|
113
114
|
... user='admin',
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: data_manipulation
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.49
|
|
4
4
|
Summary: Powerful data manipulation
|
|
5
5
|
Home-page: https://github.com/shawnngtq/data-manipulation
|
|
6
6
|
Author: Shawn Ng
|
|
@@ -31,7 +31,6 @@ Requires-Dist: mysql-connector-python
|
|
|
31
31
|
Requires-Dist: numpy
|
|
32
32
|
Requires-Dist: pandas
|
|
33
33
|
Requires-Dist: psycopg
|
|
34
|
-
Requires-Dist: psycopg2
|
|
35
34
|
Requires-Dist: pyspark
|
|
36
35
|
Requires-Dist: python-dotenv
|
|
37
36
|
Requires-Dist: sqlalchemy
|
|
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
|
{data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation/mysql_connector_python_.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{data_manipulation-0.48 → data_manipulation-0.49}/data_manipulation.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|