Metadata-Version: 2.1
Name: PoolDB
Version: 0.0.3
Summary: Pool DB package
Home-page: https://github.com/AlitaIcon/PoolDB
Author: alita
Author-email: 1906321518@qq.com
License: MIT
Project-URL: Documentation, https://github.com/AlitaIcon/PoolDB
Platform: UNKNOWN
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: SQLAlchemy (>=1.3.19)
Requires-Dist: gevent (>=21.1.2)
Requires-Dist: loguru (>=0.5.3)
Requires-Dist: pandas (>=1.1.5)

## PoolDB 
#### python数据库连接池管理,支持并发获取sql数据，自动管理数据库连接，支持with语句，支持sql字典访问形式获取数据等

- 原生sql获取数据
```python
db_url = 'postgresql+psycopg2://xxx:xxx@xxx:5433/xxx?utf-8'
pool = PoolDB(db_url=db_url)
conn = pool.connect()
result = conn.execute(text("select * from xx.xx limit :limit"), limit=5)
while 1:
    try:
        r = next(result)
        print(r)
        print(r.xx)
    except:
        break
pool.close(conn)
```

- 并发获取数据库数据
```python
db_url = 'postgresql+psycopg2://xx:xx@xx:xx/xx?utf-8'
pool = PoolDB(db_url=db_url)
sqls = ["select * from xx.xx limit 5", "select * from xx.xx limit 4"]
gv = pool.multi_data(sql=sqls)  # 多条数据并发获取，
for v in gv:
    print(v)
```


- 字典形式访问获取数据库数据, key为sql或sql列表
```python
db_url = 'postgresql+psycopg2://xx:xx@xx:xx/xx?utf-8'
pool = PoolDB(db_url=db_url)
r = pool["select * from manage.substation limit 5"]  
print(r)
sqls = ["select * from xx.xx limit 5", "select * from xx.xx limit 4"]
r_list = pool[sqls]  
print(r_list)
```

