Metadata-Version: 2.4
Name: iatoolkit
Version: 0.95.6
Summary: IAToolkit
Author: Fernando Libedinsky
License-Expression: MIT
Requires-Python: >=3.12
Description-Content-Type: text/markdown
License-File: LICENSE
License-File: LICENSE_COMMUNITY.md
Requires-Dist: bcrypt==4.2.1
Requires-Dist: boto3==1.36.22
Requires-Dist: botocore==1.36.22
Requires-Dist: build==1.2.2.post1
Requires-Dist: click==8.1.8
Requires-Dist: cryptography==44.0.3
Requires-Dist: deepseek==1.0.0
Requires-Dist: Flask==3.1.0
Requires-Dist: Flask-Bcrypt==1.0.1
Requires-Dist: flask-cors==6.0.0
Requires-Dist: Flask-Injector==0.15.0
Requires-Dist: Flask-Session==0.8.0
Requires-Dist: flatbuffers==24.3.25
Requires-Dist: google-ai-generativelanguage==0.6.15
Requires-Dist: google-api-core==2.24.1
Requires-Dist: google-api-python-client==2.161.0
Requires-Dist: google-auth==2.37.0
Requires-Dist: google-auth-httplib2==0.2.0
Requires-Dist: google-auth-oauthlib==1.2.1
Requires-Dist: google-cloud-core==2.4.1
Requires-Dist: google-cloud-storage==3.0.0
Requires-Dist: google-crc32c==1.6.0
Requires-Dist: google-generativeai==0.8.5
Requires-Dist: google-resumable-media==2.7.2
Requires-Dist: googleapis-common-protos==1.66.0
Requires-Dist: gunicorn==23.0.0
Requires-Dist: h11==0.14.0
Requires-Dist: httpcore==1.0.7
Requires-Dist: httplib2==0.22.0
Requires-Dist: httptools==0.6.4
Requires-Dist: httpx==0.28.0
Requires-Dist: httpx-sse==0.4.0
Requires-Dist: huggingface-hub==0.31.4
Requires-Dist: humanfriendly==10.0
Requires-Dist: idna==3.10
Requires-Dist: injector==0.22.0
Requires-Dist: Jinja2==3.1.5
Requires-Dist: langchain==0.3.19
Requires-Dist: langchain-core==0.3.35
Requires-Dist: langchain-text-splitters==0.3.6
Requires-Dist: markdown2==2.5.3
Requires-Dist: openai==2.8.1
Requires-Dist: openpyxl==3.1.5
Requires-Dist: pandas==2.3.1
Requires-Dist: pgvector==0.3.6
Requires-Dist: pillow==11.0.0
Requires-Dist: psutil==7.0.0
Requires-Dist: psycopg2-binary==2.9.10
Requires-Dist: PyJWT==2.10.1
Requires-Dist: PyMuPDF==1.25.0
Requires-Dist: python-dotenv==1.0.1
Requires-Dist: pytest==8.3.4
Requires-Dist: pytest-cov==5.0.0
Requires-Dist: pytest-mock==3.14.0
Requires-Dist: python-dateutil==2.9.0.post0
Requires-Dist: python-docx==1.1.2
Requires-Dist: pytesseract==0.3.13
Requires-Dist: pytz==2025.2
Requires-Dist: PyYAML==6.0.2
Requires-Dist: redis==5.2.1
Requires-Dist: regex==2024.11.6
Requires-Dist: requests==2.32.3
Requires-Dist: requests-oauthlib==2.0.0
Requires-Dist: requests-toolbelt==1.0.0
Requires-Dist: s3transfer==0.11.2
Requires-Dist: sib-api-v3-sdk==7.6.0
Requires-Dist: SQLAlchemy==2.0.36
Requires-Dist: tiktoken==0.8.0
Requires-Dist: tokenizers==0.21.0
Requires-Dist: websocket-client==1.8.0
Requires-Dist: websockets==14.1
Requires-Dist: Werkzeug==3.1.3
Requires-Dist: pyjwt[crypto]>=2.8.0
Dynamic: license-file

# 🧠 IAToolkit — Open-Source Framework for Real-World AI Assistants

Build private, production-grade AI assistants that run entirely inside your environment and speak the language of your business.

IAToolkit is not a demo wrapper or a prompt playground — it is a **full architecture** for implementing intelligent systems that combine LLMs, SQL data, internal documents, tools, workflows, and multi-tenant business logic.

---

## 🚀 Why IAToolkit?

Modern AI development is fragmented: LangChain handles chains, LlamaIndex handles documents, 
your backend handles SQL, your frontend handles chats, and your devs glue everything together.

**IAToolkit brings all of this into one unified, production-ready framework.**

It focuses on:

- **real-world data** (SQL + documents)
- **real workflows** (LLM tools + python services)
- **real multi-tenant architecture** (1 company → many companies)
- **real constraints** (security, reproducibility, governance)
- **real deployment** (your servers, your infrastructure)

IAToolkit lets you build the assistant that *your* organization needs — not a generic chatbot.

---

## 🧩 Architecture in a Nutshell

IAToolkit is a structured, layered framework:

Interfaces (Web & API)
        ↓
Intelligence Layer (prompts, tools, SQL orchestration, RAG)
        ↓
Execution Layer (services, workflows, validation)
        ↓
Data Access (SQLAlchemy, connectors)
        ↓
Company Modules (company.yaml + custom tools)

### ✔ Interfaces  
Chat UI, REST API, auth, sessions, JSON/HTML responses.

### ✔ Intelligence Layer  
Core logic: prompt rendering, SQL orchestration, RAG, LLM tool dispatching.

### ✔ Execution Layer  
Python services that implement real workflows: querying data, generating reports, retrieving documents, executing business logic.

### ✔ Data Access  
A clean repository pattern using SQLAlchemy.

### ✔ Company Modules  
Each company has:

- its own `company.yaml`
- its own prompts
- its own tools
- its own services
- its own vector store & SQL context

This modularity allows **true multi-tenancy**.

---

## 🔌 Connect to Anything

IAToolkit integrates naturally with:

- **SQL databases** (PostgreSQL, MySQL, SQL Server, etc.)
- **Document retrieval** (PDF, text, embeddings)
- **External APIs**
- **Internal microservices**
- **Custom Python tools**

It also includes a **production-grade RAG pipeline**, combining:

- embeddings  
- chunking  
- hybrid search  
- SQL queries + document retrieval  
- tool execution  

Everything orchestrated through the Intelligence Layer.

---

## 🏢 Multi-Tenant Architecture

A single installation of IAToolkit can power assistants for multiple companies, departments, or customers.
```text
companies/
    company_a
    company_b
    company_c
```
Each Company is fully isolated:

- prompts  
- tools  
- credentials  
- documents  
- SQL contexts  
- business rules  

This makes IAToolkit ideal for SaaS products, agencies, consultancies, and organizations with multiple business units.

---

## 🆓 Community Edition vs Enterprise Edition

IAToolkit follows a modern **open-core** model:

### 🟦 Community Edition (MIT License)
- Full Open-Source Core  
- SQL + Basic RAG  
- One Company  
- Custom Python tools  
- Self-managed deployment  

Perfect for developers, small teams, single-business use cases, and experimentation.

### 🟥 Enterprise Edition (Commercial License)
- Unlimited Companies (multi-tenant)  
- Payment services integration 
- Enterprise Agent Workflows
- SSO integration
- Priority support & continuous updates  
- Activation via **License Key**  

👉 Licensing information:  
- [Community Edition (MIT)](LICENSE_COMMUNITY.md)  
- [Enterprise License](ENTERPRISE_LICENSE.md)

---

## 🧩 Who Is IAToolkit For?

- Companies building internal “ChatGPT for the business”  
- SaaS products adding AI assistants for multiple customers  
- AI teams that need reproducible prompts and controlled tools  
- Developers who want real workflows, not toy demos  
- Organizations requiring privacy, security, and self-hosting  
- Teams working with SQL-heavy business logic  
- Consultancies deploying AI for multiple clients  

---

## ⭐ Key Differentiators

- prioritizes **architecture-first design**, not chains or wrappers  
- supports **multi-company** out of the box  
- integrates **SQL, RAG, and tools** into a single intelligence layer  
- keeps **business logic isolated** inside Company modules  
- runs entirely **on your own infrastructure**  
- ships with a **full web chat**, and API.  
- is built for **production**, not prototypes  

---

## 📚 Documentation

- 🚀 **[Quickstart](docs/quickstart.md)** – Set up your environment and run the project
- ☁️ **[Deployment Guide](docs/deployment_guide.md)** – Production deployment instructions
- 🏗️ **[Companies & Components](docs/companies_and_components.md)** – how Company modules work
- 🧠 **[Programming Guide](docs/programming_guide.md)** – services, intelligence layer, dispatching
- 🗃️ **[Database Guide](docs/database_guide.md)** – internal schema overview
- 🌱 **[Foundation Article](https://iatoolkit.com/pages/foundation)** – the “Why” behind the architecture
- 📘 **[Mini-Project (3 months)](https://iatoolkit.com/pages/mini_project)** – how to deploy a corporate AI assistant


---

## 🤝 Contributing

IAToolkit is open-source and community-friendly.  
PRs, issues, ideas, and feedback are always welcome.

---

## ⭐ Support the Project

If you find IAToolkit useful, please **star the GitHub repo** — it helps visibility and adoption.
