echoss AI Bigdata Solution - Query Package
Project description
echoss_query
MySQL, MongoDB, Opensearch compatible query access package
Prepare
사용 전 config(인증 정보) 의 유무를 확인한 뒤 사용해야한다. config file example:
mysql:
user : <user_id>
passwd : <pass code>
host : <IP addrress or domain>
port : :<network port number>
db : <schema name>
charset : utf8
mongo:
host : <IP addrress or domain>
port :<network port number>
db : <database name>
elastic:
user : <user_id>
passwd : <pass code>
host : <IP addrress or domain>
port : :<network port number>
index : <index name>
Installaion
To install this package, please use Python 3.8 or higher.
pip install -U echoss-query
Quick Start
Import package and class
from echoss_query import MysqlQuery, MongoQuery, ElasticSearch
mysql = MysqlQuery('CONFIG_FILE_PATH' or dict)
mongo = MongoQuery('CONFIG_FILE_PATH' or dict)
elastic = ElasticSearch('CONFIG_FILE_PATH' or dict)
MySQL
# CREATE
mysql.create('QUERY_STRING')
# DROP
mysql.drop('QUERY_STRING')
# TRUNCATE
mysql.truncate('QUERY_STRING')
# ALTER
mysql.alter('QUERY_STRING')
# SELECT
mysql.select('QUERY_STRING', params=None) -> dataframe
mysql.select_one('QUERY_STRING', params=None) -> dict
mysql.select_list('QUERY_STRING', params=None) -> list(dict)
mysql.faster_select('QUERY_STRING', params=None) -> dataframe
# INSERT without params
mysql.insert('QUERY_STRING', params=None) -> int
# INSERT with tuple
mysql.insert('QUERY_STRING', params) -> int
# INSERT with list[tuple]
mysql.insert('QUERY_STRING', params_list) -> int
# UPDATE
mysql.update('QUERY_STRING', params=None) -> int
# DELETE
mysql.delete('QUERY_STRING', params=None) -> int
# show Database
mysql.databases()
# show Tables
mysql.tables()
# Ping
mysql.ping()
# get connection cursor
mysql.conn_cursor(cursorclass=None)
# Close
# crash process close
mysql.close()
# debug query : default True
mysql.debug_query(False)
MongoDB
# show Database
mongo.databases()
# show Collections
mongo.collections()
# Ping
mongo.ping()
# SELECT
mongo.select('COLLECTION_NAME','QUERY_STRING or DICTIONARY') -> pd.Dataframe
# INSERT
mongo.insert('COLLECTION_NAME','QUERY_STRING or DICTIONARY')
mongo.insert_many('COLLECTION_NAME','QUERY_STRING or DICTIONARY')
# UPDATE
mongo.update('COLLECTION_NAME','FILTER_STRING or DICTIONARY', 'UPDATE_STRING or DICTIONARY')
mongo.update_many('COLLECTION_NAME','FILTER_STRING or DICTIONARY', 'UPDATE_STRING or DICTIONARY')
# DELETE
mongo.delete('COLLECTION_NAME','QUERY_STRING or DICTIONARY')
mongo.delete_many('COLLECTION_NAME','QUERY_STRING or DICTIONARY')
ElasticSearch
# CREATE
elastic.index(index='INDEX_NAME')
# DROP
elastic.delete_index(index='INDEX_NAME')
# SELECT
elastic.search(body=query) -> any
elastic.search_list(body=query, fetch_all=True) -> list
elastic.search_dataframe(body=query, fetch_all=True) -> dataframe
elastic.search_field(field='FIELD_NAME',value='VALUE') -> list
# INSERT
elastic.create(id='ID', body='JSON_BODY')
#UPDATE
elastic.update(id='ID', body='JSON_BODY')
#DELETE
elastic.delete(id='ID')
# Ping
elastic.ping()
# Connection Information
elastic.info()
Code Quality
When creating new functions, please follow the Google style Python docstrings. See example below:
def example_function(param1: int, param2: str) -> bool:
"""Example function that does something.
Args:
param1: The first parameter.
param2: The second parameter.
Returns:
The return value. True for success, False otherwise.
"""
Version history
v0.1.0 initial version v0.1.1 echoss_logger include v0.1.7 mysql support query with params. return cursor.rowcount for insert/update/delete query v1.0.0 mysql support query with list params v1.0.1 elastic search_list fetch_all option, mongo support insert_many, delete_many, update_many method v1.0.2 mysql reuse cursor
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file echoss_query-1.0.3.tar.gz
.
File metadata
- Download URL: echoss_query-1.0.3.tar.gz
- Upload date:
- Size: 11.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1c81a78a9f4e61ea700c8fa72f13b5655d5c6da1d46ef31f2ecd6d8ac6f29959 |
|
MD5 | 3d8b501d75a56bad98a729ab929f17d3 |
|
BLAKE2b-256 | 003fe1db407d4c8595c45a3ffd013f82ac0adab06fbdb10e70d4184c44e3ad99 |
File details
Details for the file echoss_query-1.0.3-py3-none-any.whl
.
File metadata
- Download URL: echoss_query-1.0.3-py3-none-any.whl
- Upload date:
- Size: 11.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.1.1 CPython/3.9.18
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 68ea14461a3ba806146def1f847261e9434d0a23087fdf546369796a869c4ae0 |
|
MD5 | fc3a57a5e7200df25f4b0d46683ec069 |
|
BLAKE2b-256 | 9c6cb88ae4182ece0e79097bd2bdf204b51c296870bda8cc1bdad9763d8b0c2f |