Skip to main content

A Well-Encapsulated ClickHouse Database APIs Lib

Project description

quantchdb: A Well-Encapsulated ClickHouse Database APIs Lib

Quick Start

Install chdb:

pip install quantchdb==0.1.6  -i https://pypi.org/simple

An example of how to use chdb:

from quantchdb 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


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.7.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

quantchdb-0.1.7-py3-none-any.whl (7.0 kB view details)

Uploaded Python 3

File details

Details for the file quantchdb-0.1.7.tar.gz.

File metadata

  • Download URL: quantchdb-0.1.7.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

Hashes for quantchdb-0.1.7.tar.gz
Algorithm Hash digest
SHA256 6a45e0b2168613e8234051542916d2dc84bb2171e43c0bddb7a0b8dbd47f0a69
MD5 f2e298846ba8db622df9899ab56575c1
BLAKE2b-256 4acadb3a7af93dda04b3baf5abc4a2e3f2fa10cbdc0964c9a82714c2cb777345

See more details on using hashes here.

File details

Details for the file quantchdb-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: quantchdb-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 7.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.3

File hashes

Hashes for quantchdb-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 34fa87d4dcc315fce3bfdb6886b27b7291c5457e313f93813f7c371862ad58b0
MD5 cddbdd1fe37c0a71cb164cd41fa40dab
BLAKE2b-256 e562477e1cb3b0f4bfde2cd219a52555b1339197c7fbc115883bad9119c4aa7b

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page