lidb 1.1.1__tar.gz → 1.1.3__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 lidb might be problematic. Click here for more details.
- {lidb-1.1.1 → lidb-1.1.3}/PKG-INFO +1 -1
- {lidb-1.1.1 → lidb-1.1.3}/lidb/__init__.py +2 -1
- {lidb-1.1.1 → lidb-1.1.3}/lidb/database.py +10 -2
- {lidb-1.1.1 → lidb-1.1.3}/lidb.egg-info/PKG-INFO +1 -1
- {lidb-1.1.1 → lidb-1.1.3}/pyproject.toml +1 -1
- {lidb-1.1.1 → lidb-1.1.3}/README.md +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/lidb/init.py +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/lidb/parse.py +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/lidb.egg-info/SOURCES.txt +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/lidb.egg-info/dependency_links.txt +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/lidb.egg-info/requires.txt +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/lidb.egg-info/top_level.txt +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/setup.cfg +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/tests/test_conf.py +0 -0
- {lidb-1.1.1 → lidb-1.1.3}/tests/test_parse.py +0 -0
|
@@ -12,6 +12,7 @@ from pathlib import Path
|
|
|
12
12
|
from .parse import extract_table_names_from_sql
|
|
13
13
|
from .init import DB_PATH, logger, get_settings
|
|
14
14
|
import urllib
|
|
15
|
+
import polars as pl
|
|
15
16
|
|
|
16
17
|
# ======================== 本地数据库 catdb ========================
|
|
17
18
|
def tb_path(tb_name: str) -> Path:
|
|
@@ -111,6 +112,13 @@ def sql(query: str, abs_path: bool = False):
|
|
|
111
112
|
new_query = pattern.sub(lambda m: convertor[m.group(0)], query)
|
|
112
113
|
return pl.sql(new_query)
|
|
113
114
|
|
|
115
|
+
def scan(tb: str, abs_path: bool = False) -> pl.LazyFrame:
|
|
116
|
+
"""polars.scan_parquet"""
|
|
117
|
+
|
|
118
|
+
if not abs_path:
|
|
119
|
+
tb = tb_path(tb)
|
|
120
|
+
return pl.scan_parquet(tb)
|
|
121
|
+
|
|
114
122
|
def read_mysql(query: str, db_conf: str = "DATABASES.mysql"):
|
|
115
123
|
"""
|
|
116
124
|
从MySQL数据库中读取数据。
|
|
@@ -127,14 +135,14 @@ def read_mysql(query: str, db_conf: str = "DATABASES.mysql"):
|
|
|
127
135
|
import polars as pl
|
|
128
136
|
try:
|
|
129
137
|
db_setting = get_settings().get(db_conf, {})
|
|
130
|
-
required_keys = ['user', 'password', 'url']
|
|
138
|
+
required_keys = ['user', 'password', 'url', 'db']
|
|
131
139
|
missing_keys = [key for key in required_keys if key not in db_setting]
|
|
132
140
|
if missing_keys:
|
|
133
141
|
raise KeyError(f"Missing required keys in database config: {missing_keys}")
|
|
134
142
|
|
|
135
143
|
user = urllib.parse.quote_plus(db_setting['user'])
|
|
136
144
|
password = urllib.parse.quote_plus(db_setting['password'])
|
|
137
|
-
uri = f"mysql://{user}:{password}@{db_setting['url']}"
|
|
145
|
+
uri = f"mysql://{user}:{password}@{db_setting['url']}/{db_setting['db']}"
|
|
138
146
|
return pl.read_database_uri(query, uri)
|
|
139
147
|
|
|
140
148
|
except KeyError as e:
|
|
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
|