Simple ClickHouse SQLAlchemy Dialect
Project description
ClickHouse SQLAlchemy
ClickHouse dialect for SQLAlchemy to ClickHouse database.
Documentation
Documentation is available at https://clickhouse-sqlalchemy.readthedocs.io.
Usage
Supported interfaces:
native [recommended] (TCP) via clickhouse-driver <https://github.com/mymarilyn/clickhouse-driver>
async native (TCP) via asynch <https://github.com/long2ice/asynch>
http via requests
Define table
from sqlalchemy import create_engine, Column, MetaData from clickhouse_sqlalchemy import ( Table, make_session, get_declarative_base, types, engines ) uri = 'clickhouse+native://localhost/default' engine = create_engine(uri) session = make_session(engine) metadata = MetaData(bind=engine) Base = get_declarative_base(metadata=metadata) class Rate(Base): day = Column(types.Date, primary_key=True) value = Column(types.Int32) __table_args__ = ( engines.Memory(), ) Rate.__table__.create()
Insert some data
from datetime import date, timedelta from sqlalchemy import func today = date.today() rates = [ {'day': today - timedelta(i), 'value': 200 - i} for i in range(100) ]
And query inserted data
session.execute(Rate.__table__.insert(), rates) session.query(func.count(Rate.day)) \ .filter(Rate.day > today - timedelta(20)) \ .scalar()
License
ClickHouse SQLAlchemy is distributed under the MIT license.
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
Close
Hashes for clickhouse-sqlalchemy-0.2.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9369c5c94b0462e109240063067be1a496acd6ddf0f1ee6b23b43c4a1d08d3e1 |
|
MD5 | 35923eced303a7e1ff8016dd7917c611 |
|
BLAKE2b-256 | d1bf3314082a75038ded3a7edd32a12458bc7d5402593605bd421ac704c6a5d2 |