Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Clever-Boy/IntelliHybrid

Repository files navigation

🔗 IntelliHybrid — Intelligent On-Premise ↔ AWS Cloud Connector

DOI License: MIT Python 3.9+ AWS AI Powered GitHub Stars Downloads

IntelliHybrid is a production-ready, AI-powered framework that enables secure, seamless bidirectional communication between on-premise infrastructure and AWS cloud — with natural language querying, auto-generated schema documentation, and zero code changes after setup.

Live AI Demo How To Use AI Features


🚀 What This Does

IntelliHybrid bridges the gap between your on-premise data center and AWS cloud by:

  • 🔐 Establishing secure VPN tunnels (Site-to-Site, OpenVPN, or Direct Connect)
  • 🗄️ Connecting on-prem databases (MySQL, PostgreSQL, Oracle, SQL Server) to AWS
  • Auto-provisioning DynamoDB tables with your custom Partition Key (PK) and Sort Key (SK)
  • 🔄 Bidirectional data synchronization — on-prem → cloud and cloud → on-prem
  • 🛡️ Enterprise-grade security — IAM roles, KMS encryption, TLS everywhere
  • 🤖 AI-powered data intelligence — query in plain English, auto-generated column descriptions, instant data dictionaries

🏗️ Architecture

┌─────────────────────────────────┐ ┌──────────────────────────────────┐
│ ON-PREMISE │ │ AWS CLOUD │
│ │ │ │
│ ┌─────────────┐ │◄───────►│ ┌──────────────────┐ │
│ │ Your DB │ │ VPN / │ │ DynamoDB │ │
│ │ MySQL / │ IntelliHybrid│ Direct │ │ Tables (auto- │ │
│ │ Postgres / │◄──────────────►│ Connect │ │ provisioned) │ │
│ │ Oracle │ │ │ └──────────────────┘ │
│ └─────────────┘ │ │ │
│ │ │ ┌──────────────────┐ │
│ ┌─────────────┐ │ │ │ AI Assistant │ │
│ │ App Server │ │ │ │ NL Queries + │ │
│ │ (any lang) │ │ │ │ Schema Intel │ │
│ └─────────────┘ │ │ └──────────────────┘ │
└─────────────────────────────────┘ └──────────────────────────────────┘
 さんかく さんかく
 └──────── IntelliHybrid ───────┘
 config.yaml + Claude AI drives all

🤖 AI Features — Ask Your Data Anything

Experience natural language queries, schema intelligence, and data dictionaries in your browser — no setup needed.

IntelliHybrid includes a full AI layer powered by Claude that understands your DynamoDB tables. No more writing queries — just ask.


💬 Natural Language Queries

Write questions the way you'd say them out loud. IntelliHybrid translates them into the correct DynamoDB operation and returns live data.

from src.ai.assistant import AIAssistant
assistant = AIAssistant(config, anthropic_api_key="sk-ant-...")
result = await assistant.chat("Show me all orders from customer C-001")
result = await assistant.chat("How many products have stock below 10?")
result = await assistant.chat("Find users who signed up this month")
result = await assistant.chat("Add a new user: Jane Doe, email jane@example.com")

Examples of questions that just work:

What you type What runs
"Show me all orders from customer C-001" query with KeyConditionExpression
"How many products are low on stock?" scan with FilterExpression
"Find the 5 most recent signups" scan with Limit + sort
"Get order ORD-8821" get_item with exact key
"Delete expired session sess-99" delete_item

The AI also maintains conversation history, so follow-up questions like "now filter those by electronics" work naturally.


🧠 AI-Generated Column Descriptions

IntelliHybrid reads your table schema and a few sample rows, then generates clear business-friendly descriptions for every attribute — automatically.

from src.ai.schema_intelligence import SchemaIntelligence
intel = SchemaIntelligence(config, anthropic_api_key="sk-ant-...")
description = await intel.describe_table("orders-table")
{
 "table_description": "Stores customer order transactions with fulfillment status tracking",
 "attribute_descriptions": {
 "orderId": "Unique identifier for each order transaction",
 "customerId": "References the placing customer — links to users-table PK",
 "status": "Fulfillment state: processing, shipped, delivered, or cancelled",
 "total": "Order value in USD cents",
 "createdAt": "Unix timestamp when placed, used as sort key for date-range queries"
 },
 "access_patterns": [
 "Query all orders for a specific customer",
 "Get a single order by ID",
 "Filter orders by status for a fulfillment dashboard"
 ],
 "suggestions": [
 "Consider adding a GSI on status+createdAt for pipeline queries"
 ]
}

📖 Auto-Generated Data Dictionary

One call produces a fully formatted markdown data dictionary — ready for wikis, compliance documentation, or technical portfolios.

dictionary = await intel.generate_data_dictionary("orders-table")
print(dictionary)
# Data Dictionary: `orders-table`
**Purpose:** Stores all customer order transactions...
## Attributes
| Attribute | Type | Description |
|--------------------|------|------------------------------------------------------|
| `orderId` 🔑 PK | S | Unique identifier for each order transaction |
| `customerId` 🔑 SK | S | References the customer — links to users-table PK |
| `status` | S | Fulfillment state: processing, shipped, delivered... |
| `total` | N | Order value in USD cents |
| `createdAt` | N | Unix timestamp, used for date-range queries |
## Common Access Patterns
1. Query all orders for a specific customer
2. Get a single order by ID
3. Filter orders by status

🌐 AI REST API

Expose the entire AI layer over HTTP — connect any frontend, dashboard, or external tool.

pip install "intellihybrid[ai]"
export ANTHROPIC_API_KEY="sk-ant-..."
uvicorn src.ai.server:app --host 0.0.0.0 --port 8080
# Ask your data a question
curl -X POST http://localhost:8080/chat \
 -H "Content-Type: application/json" \
 -d '{"message": "Show me all orders from customer C-001"}'
# AI schema description for a table
curl http://localhost:8080/tables/orders-table
# Full data dictionary (markdown)
curl http://localhost:8080/tables/orders-table/dictionary
# Suggested example queries
curl http://localhost:8080/tables/orders-table/suggestions

Interactive Swagger docs available at http://localhost:8080/docs


🖥️ AI Demo — Viewer Preview

The file docs/ai-demo.html is a fully self-contained interactive demo of the AI Assistant. It runs entirely in the browser with no backend needed.

To view it live, enable GitHub Pages:

  1. Go to Settings → Pages in this repo
  2. Set Source to main branch, /docs folder
  3. Click Save

Your demo will be live at:

https://clever-boy.github.io/IntelliHybrid/ai-demo.html

You can also open it locally — just double-click docs/ai-demo.html in your file browser. It shows:

  • 💬 Chat interface with AI query responses and record cards
  • 🗂️ Sidebar with connected tables and clickable example questions
  • 📋 Query result display with per-row attribute cards
  • 📖 AI-generated schema description view
  • 📚 Auto-generated data dictionary output

⚡ Quick Start (5 Minutes)

1. Install

pip install intellihybrid
# or from source:
git clone https://github.com/Clever-Boy/IntelliHybrid.git
cd IntelliHybrid
pip install -e .

2. Configure

cp config/config.template.yaml config/config.yaml
aws:
 region: us-east-1
 account_id: "123456789012"
 access_key_id: "${AWS_ACCESS_KEY_ID}"
 secret_access_key: "${AWS_SECRET_ACCESS_KEY}"
onprem:
 database:
 type: mysql # mysql | postgres | oracle | mssql
 host: 192.168.1.100
 port: 3306
 name: production_db
 username: "${DB_USER}"
 password: "${DB_PASSWORD}"
 vpn:
 type: site-to-site
 customer_gateway_ip: "203.0.113.10"
dynamodb:
 tables:
 - name: orders-table
 partition_key: { name: orderId, type: S }
 sort_key: { name: customerId, type: S }
 billing_mode: PAY_PER_REQUEST

3. Initialize

intellihybrid init --config config/config.yaml
  • ✅ Validates all credentials
  • ✅ Establishes VPN tunnel
  • ✅ Creates DynamoDB tables with your PK/SK schema
  • ✅ Sets up least-privilege IAM roles
  • ✅ Runs a connectivity health-check

4. Start Syncing

intellihybrid sync --mode bidirectional --interval 60

📦 Core Features

🔐 Security First

  • All secrets via environment variables or AWS Secrets Manager — never in config files
  • KMS-encrypted DynamoDB tables by default
  • TLS 1.3 for all data in transit
  • Least-privilege IAM roles auto-generated per table

🗄️ On-Premise Database Support

Database Version Status
MySQL 5.7, 8.0+ ✅ Full
PostgreSQL 12+ ✅ Full
Oracle 19c+ ✅ Full
SQL Server 2019+ ✅ Full
MongoDB 5.0+ 🔜 Coming

🔄 Sync Modes

intellihybrid sync --mode full # one-time complete sync
intellihybrid sync --mode bidirectional # continuous, recommended
intellihybrid sync --mode push # on-prem → DynamoDB only
intellihybrid sync --mode pull # DynamoDB → on-prem only
intellihybrid sync --interval 30 # custom interval (seconds)

📚 Documentation

Document Description
📖 How-To-Use Booklet Complete step-by-step setup guide
🤖 AI Features Guide Full AI query engine & schema intelligence docs
🔐 Security Guide IAM, KMS, TLS hardening
📦 Zenodo & Release Guide DOI, download metrics, EB-1A
🤝 Contributing How to contribute

🤝 Contributing

Contributions are welcome! Please read CONTRIBUTING.md first.

pytest tests/ -v --cov=src --cov-report=html

Good first issues:

Feature Difficulty
MongoDB connector Medium
Terraform module Medium
CDC real-time streaming Hard
Web UI dashboard Hard

📄 Citation

If you use IntelliHybrid in your research or production systems, please cite:

@software{kadam_intellihybrid_2025,
 author = {Kadam, Shailesh},
 title = {IntelliHybrid: Intelligent On-Premise to AWS Cloud Connector},
 year = {2025},
 publisher = {Zenodo},
 doi = {10.5281/zenodo.19121004},
 url = {https://github.com/Clever-Boy/IntelliHybrid}
}

📝 License

MIT License — see LICENSE for details.


👤 Author

Shailesh Kadam
🌐 GitHub @Clever-Boy
📍 Dallas, Texas
💼 LinkedIn


⭐ Star this repo if IntelliHybrid saves you time! ⭐
Your stars directly support open-source hybrid cloud tooling.

About

Intelligent On-Premise to AWS Cloud Connector — secure bidirectional sync between on-prem databases and DynamoDB

Topics

Resources

License

Contributing

Security policy

Stars

Watchers

Forks

Packages

Contributors

Languages

AltStyle によって変換されたページ (->オリジナル) /