Skip to content

AgentOps-AI/clickorm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ClickORM

A Python ORM framework for ClickHouse with Pydantic integration.

Features

  • Seamless integration with Pydantic for data validation and serialization
  • Type-safe query building
  • Automatic schema generation and migration
  • Support for all ClickHouse data types
  • Efficient connection management
  • Comprehensive error handling

Installation

pip install clickorm

Quick Start

from datetime import datetime
from typing import List, Optional
from clickorm import Model, Column, ConnectionManager, types

# Define your model
class User(Model):
    id: int = Column(primary_key=True)
    name: str = Column()
    email: str = Column(index=True)
    created_at: datetime = Column(default=datetime.utcnow)
    
    class Meta:
        table_name = "users"
        engine = "MergeTree()"
        order_by = "id"

# Connect to ClickHouse
conn = ConnectionManager(host="localhost", port=9000, database="default")
conn.set_as_default()

# Create the table
User.create_table()

# Insert a user
user = User(name="John Doe", email="[email protected]")
user.save()

# Query users
users = User.query.filter(User.name.like("John%")).all()
for user in users:
    print(f"User: {user.name}, Email: {user.email}")

# Update a user
user.name = "Jane Doe"
user.save()

# Delete a user
user.delete()

Documentation

For more detailed documentation, see the full documentation.

License

MIT

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages