A Well-Encapsulated ClickHouse Database APIs Lib
Project description
chdb: A Well-Encapsulated ClickHouse Database APIs Lib
Quick Start
An example of how to use chdb:
from chdb import ClickHouseDatabase
# To connect your clickhouse database, you need to setup your config, in which the '.env' method is recommmended for security
config = {
"host": os.getenv("DB_HOST", "localhost"),
"port": int(os.getenv("DB_PORT", 9000)),
"user": os.getenv("DB_USER", "default"),
"password": os.getenv("DB_PASSWORD", ""),
"database": os.getenv("DB_DATABASE", "default")
}
# 'terminal' and 'file_log' control the log records. 'True' denotes the corresponding log method will be executed. You can control the logs' file path by the 'log_file' param.
db = ClickHouseDatabase(config=config, terminal=True, file_log=False)
# Fetch data from clickhouse database
sql = "SELECT * FROM stocks.snap ORDER BY date DESC LIMIT 5"
df = db.fetch(sql)
# Execute sql commands
sql = f"""
CREATE TABLE IF NOT EXISTS etf.kline_1m(
`exg` UInt8 NOT NULL COMMENT '交易所标识,沪市为1,深市为0, 北交所为2',
`code` String NOT NULL COMMENT '股票代码',
`date` Date NOT NULL COMMENT '日期',
`date_time` DateTime('Asia/Shanghai') NOT NULL COMMENT '日期时间,最高精度为秒',
`time_int` UInt32 NOT NULL COMMENT '从当日开始至当前时刻的毫秒数',
`open` Float32 NULL COMMENT 'K线开始价格',
`high` Float32 NULL COMMENT 'K线内最高价',
`low` Float32 NULL COMMENT 'K线内最低价',
`close` Float32 NULL COMMENT 'K线结束价格',
`volume` Float32 NULL COMMENT 'K线内成交量',
`amount` Float32 NULL COMMENT 'K线内成交额'
)Engine = ReplacingMergeTree()
ORDER BY (code, date_time);
"""
db.execute(sql)
# Insert dataframe into clickhouse database. Before you insert your dataframe, you need to make sure the corresponding database and table are existed.
db.insert_dataframe(
df=df,
table_name="etf.kline_1m",
columns=["exg", "code", "date_time", "date", "time_int", "open", "high", "low", "close", "volume", "amount"]
)
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
quantchdb-0.1.0.tar.gz
(6.0 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file quantchdb-0.1.0.tar.gz.
File metadata
- Download URL: quantchdb-0.1.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
31856e3971242d4cdcd0f39ff6da92cf897612dbdddc8c6fdd0fcc3893733e5c
|
|
| MD5 |
c41df5154241da13d5325cfddbc17c5a
|
|
| BLAKE2b-256 |
4bee669d3eae6510cd74b0826fcd2ecb0986adc7e64d51f4861f1f9a505010f2
|
File details
Details for the file quantchdb-0.1.0-py3-none-any.whl.
File metadata
- Download URL: quantchdb-0.1.0-py3-none-any.whl
- Upload date:
- Size: 6.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
62a9afe8c9c2790968cc63d7f5e44613a5040dcd4c17ac98bae515608817d0cb
|
|
| MD5 |
bf18e1b9b5fd2b62a2e90d4f82ca380f
|
|
| BLAKE2b-256 |
6b0ae636d47771d4beed52e7cf1e81c677bafe11565041357f95f84b27d62eca
|