🚀 ClickHouse AI Agent - Intelligent database analysis and operations
Project description
🚀 Moja - ClickHouse AI Agent
A beautiful, intelligent CLI agent for ClickHouse database analysis and operations.
✨ Features
- 🤖 AI-Powered: Intelligent natural language interface for ClickHouse operations
- 📊 Data Analysis: Comprehensive table analysis with statistics and insights
- 📈 Visualizations: Create beautiful charts and graphs from query results
- 📥 Data Loading: Load CSV, JSON files into ClickHouse with auto-schema detection
- 📤 Data Export: Export query results to various formats (CSV, JSON, Parquet, Excel)
- 🔧 Database Management: Table optimization, system information, and more
- 🎨 Beautiful CLI: Rich, colorful interface with progress bars and tables
🛠️ Installation
Quick Install (Recommended)
Install globally with pipx for the best experience:
pipx install moja-clickhouse-agent
Then run:
moja
This will start the interactive onboarding flow to configure your database and AI provider.
Manual Installation
# Clone the repository
git clone https://github.com/vish/moja.git
cd moja
# Install dependencies
pip install -r requirements.txt
# Set up your configuration
export OPENROUTER_API_KEY="your-api-key"
export CLICKHOUSE_HOST="localhost"
export CLICKHOUSE_PORT="8123"
🚀 Quick Start
Interactive Chat Mode
moja chat
Execute Single Query
moja query "SELECT * FROM my_table LIMIT 10"
Analyze Table
moja analyze my_table --deep
Load Data
moja load-data data.csv my_table
🔧 Configuration
Create a .env file or use environment variables:
# ClickHouse Configuration
CLICKHOUSE_HOST=localhost
CLICKHOUSE_PORT=8123
CLICKHOUSE_USERNAME=default
CLICKHOUSE_PASSWORD=
CLICKHOUSE_DATABASE=default
# OpenRouter Configuration
OPENROUTER_API_KEY=your-api-key-here
OPENROUTER_MODEL=openai/gpt-4o-mini
🤖 AI Capabilities
Moja understands natural language commands like:
- "Show me all tables in the database"
- "Analyze the user_events table and find patterns"
- "Create a bar chart showing sales by month"
- "Load the CSV file into a new table"
- "Export the query results to Excel"
🏗️ Architecture
Built with modern Python tools:
- Typer: Beautiful CLI interface
- Rich: Colorful terminal output
- ClickHouse Connect: Fast database connectivity
- OpenRouter: AI model access
- Plotly: Interactive visualizations
- Pandas: Data manipulation
📖 Examples
Data Analysis
# Interactive session
python main.py chat
> "Analyze my sales_data table and show me the top products"
> "Create a line chart showing revenue trends over time"
> "Find any anomalies in the user behavior data"
Batch Operations
# Load multiple files
python main.py load-data sales_2023.csv sales_data
python main.py load-data users.json user_profiles
# Analyze and export
python main.py analyze sales_data --deep
python main.py query "SELECT * FROM sales_data WHERE revenue > 1000" --format csv --save results.csv
🤝 Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
📄 License
MIT License - see LICENSE file for details.
Built with ❤️ for the ClickHouse community
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
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 moja_clickhouse_agent-1.0.3.tar.gz.
File metadata
- Download URL: moja_clickhouse_agent-1.0.3.tar.gz
- Upload date:
- Size: 40.3 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
13362e8afde9d3557798b5b248fa3e8b0fbcbdd3eed65b3eb3a7eac589b0e877
|
|
| MD5 |
453634bfa6559b4d12213e6fe7401d8c
|
|
| BLAKE2b-256 |
cdce26d4822c9e02e0a7359281eff9eea36ec76bf8b5774d6700f0fa6ee71af4
|
File details
Details for the file moja_clickhouse_agent-1.0.3-py3-none-any.whl.
File metadata
- Download URL: moja_clickhouse_agent-1.0.3-py3-none-any.whl
- Upload date:
- Size: 44.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.5
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f60f43ba9fdb106c49e04115ac0127f653a9005f435b7cb135307ff16c6f8169
|
|
| MD5 |
b26c3dca2c236d7ad94150e8bf058a57
|
|
| BLAKE2b-256 |
e1b164383c013439a92095819f30b1d638d778d4d863c67ffd9fb628f5e0f1f0
|