Metadata-Version: 2.4
Name: iatoolkit
Version: 0.7.0
Summary: IAToolkit
Author: Fernando Libedinsky
License-Expression: MIT
Requires-Python: >=3.11
Description-Content-Type: text/markdown
Requires-Dist: aiohappyeyeballs==2.4.4
Requires-Dist: aiohttp==3.11.9
Requires-Dist: aiosignal==1.3.1
Requires-Dist: annotated-types==0.7.0
Requires-Dist: anyio==4.6.2.post1
Requires-Dist: asgiref==3.8.1
Requires-Dist: async-timeout==4.0.3
Requires-Dist: attrs==24.3.0
Requires-Dist: backoff==2.2.1
Requires-Dist: bcrypt==4.2.1
Requires-Dist: beautifulsoup4==4.12.3
Requires-Dist: blinker==1.9.0
Requires-Dist: boto3==1.36.22
Requires-Dist: botocore==1.36.22
Requires-Dist: build==1.2.2.post1
Requires-Dist: cachelib==0.13.0
Requires-Dist: cachetools==5.5.0
Requires-Dist: certifi==2024.12.14
Requires-Dist: cffi==1.17.1
Requires-Dist: charset-normalizer==3.4.0
Requires-Dist: click==8.1.8
Requires-Dist: coloredlogs==15.0.1
Requires-Dist: contourpy==1.3.3
Requires-Dist: coverage==7.6.10
Requires-Dist: cryptography==44.0.3
Requires-Dist: cycler==0.12.1
Requires-Dist: dataclasses-json==0.6.7
Requires-Dist: Deprecated==1.2.15
Requires-Dist: distro==1.9.0
Requires-Dist: durationpy==0.9
Requires-Dist: ecs-logging==2.2.0
Requires-Dist: elastic-apm==6.23.0
Requires-Dist: et_xmlfile==2.0.0
Requires-Dist: exceptiongroup==1.2.2
Requires-Dist: fastapi==0.115.6
Requires-Dist: filelock==3.16.1
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: fonttools==4.59.2
Requires-Dist: frozenlist==1.5.0
Requires-Dist: fsspec==2024.10.0
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: grpcio==1.74.0
Requires-Dist: grpcio-status==1.71.2
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: importlib_metadata==8.5.0
Requires-Dist: importlib_resources==6.4.5
Requires-Dist: iniconfig==2.0.0
Requires-Dist: injector==0.22.0
Requires-Dist: itsdangerous==2.2.0
Requires-Dist: Jinja2==3.1.5
Requires-Dist: jiter==0.8.0
Requires-Dist: jmespath==1.0.1
Requires-Dist: joblib==1.4.2
Requires-Dist: jsonpatch==1.33
Requires-Dist: jsonpointer==3.0.0
Requires-Dist: kiwisolver==1.4.9
Requires-Dist: kubernetes==31.0.0
Requires-Dist: langchain==0.3.19
Requires-Dist: langchain-core==0.3.35
Requires-Dist: langchain-text-splitters==0.3.6
Requires-Dist: langsmith==0.3.8
Requires-Dist: lxml==5.3.0
Requires-Dist: markdown-it-py==3.0.0
Requires-Dist: markdown2==2.5.3
Requires-Dist: MarkupSafe==3.0.2
Requires-Dist: marshmallow==3.23.1
Requires-Dist: matplotlib==3.10.6
Requires-Dist: mdurl==0.1.2
Requires-Dist: mmh3==5.0.1
Requires-Dist: monotonic==1.6
Requires-Dist: mpmath==1.3.0
Requires-Dist: msgspec==0.19.0
Requires-Dist: multidict==6.1.0
Requires-Dist: mypy-extensions==1.0.0
Requires-Dist: narwhals==2.3.0
Requires-Dist: networkx==3.4.2
Requires-Dist: numpy==2.2.3
Requires-Dist: oauth2client==4.1.3
Requires-Dist: oauthlib==3.2.2
Requires-Dist: onnxruntime==1.19.2
Requires-Dist: openai==1.79.0
Requires-Dist: openpyxl==3.1.5
Requires-Dist: opentelemetry-api==1.28.2
Requires-Dist: opentelemetry-exporter-otlp-proto-common==1.28.2
Requires-Dist: opentelemetry-exporter-otlp-proto-grpc==1.28.2
Requires-Dist: opentelemetry-instrumentation==0.49b2
Requires-Dist: opentelemetry-instrumentation-asgi==0.49b2
Requires-Dist: opentelemetry-instrumentation-fastapi==0.49b2
Requires-Dist: opentelemetry-proto==1.28.2
Requires-Dist: opentelemetry-sdk==1.28.2
Requires-Dist: opentelemetry-semantic-conventions==0.49b2
Requires-Dist: opentelemetry-util-http==0.49b2
Requires-Dist: orjson==3.10.12
Requires-Dist: overrides==7.7.0
Requires-Dist: packaging==24.2
Requires-Dist: pandas==2.3.1
Requires-Dist: pgvector==0.3.6
Requires-Dist: pillow==11.0.0
Requires-Dist: plotly==6.3.0
Requires-Dist: pluggy==1.5.0
Requires-Dist: posthog==3.7.4
Requires-Dist: propcache==0.2.1
Requires-Dist: proto-plus==1.26.0
Requires-Dist: protobuf==5.29.1
Requires-Dist: psutil==7.0.0
Requires-Dist: psycopg2-binary==2.9.10
Requires-Dist: pyarrow==21.0.0
Requires-Dist: pyasn1==0.6.1
Requires-Dist: pyasn1_modules==0.4.1
Requires-Dist: pycparser==2.22
Requires-Dist: pydantic==2.10.2
Requires-Dist: pydantic-settings==2.6.1
Requires-Dist: pydantic_core==2.27.1
Requires-Dist: PyDrive==1.3.1
Requires-Dist: Pygments==2.18.0
Requires-Dist: PyJWT==2.10.1
Requires-Dist: PyMuPDF==1.25.0
Requires-Dist: pyparsing==3.2.1
Requires-Dist: pypdf==5.1.0
Requires-Dist: PyPika==0.48.9
Requires-Dist: pyproject_hooks==1.2.0
Requires-Dist: pytesseract==0.3.13
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: python-dotenv==1.0.1
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: rich==13.9.4
Requires-Dist: rsa==4.9
Requires-Dist: s3transfer==0.11.2
Requires-Dist: safetensors==0.5.2
Requires-Dist: scikit-learn==1.7.1
Requires-Dist: scipy==1.15.1
Requires-Dist: seaborn==0.13.2
Requires-Dist: setuptools==75.8.0
Requires-Dist: shellingham==1.5.4
Requires-Dist: sib-api-v3-sdk==7.6.0
Requires-Dist: six==1.17.0
Requires-Dist: sniffio==1.3.1
Requires-Dist: soupsieve==2.6
Requires-Dist: SQLAlchemy==2.0.36
Requires-Dist: starlette==0.41.3
Requires-Dist: sympy==1.13.1
Requires-Dist: tenacity==9.0.0
Requires-Dist: threadpoolctl==3.5.0
Requires-Dist: tiktoken==0.8.0
Requires-Dist: tokenizers==0.21.0
Requires-Dist: tomli==2.2.1
Requires-Dist: tqdm==4.67.1
Requires-Dist: typer==0.15.1
Requires-Dist: typing-inspect==0.9.0
Requires-Dist: typing_extensions==4.12.2
Requires-Dist: tzdata==2025.2
Requires-Dist: uritemplate==4.1.1
Requires-Dist: urllib3==2.3.0
Requires-Dist: uvicorn==0.32.1
Requires-Dist: uvloop==0.21.0
Requires-Dist: watchfiles==1.0.0
Requires-Dist: websocket-client==1.8.0
Requires-Dist: websockets==14.1
Requires-Dist: Werkzeug==3.1.3
Requires-Dist: whitenoise==6.8.2
Requires-Dist: wikipedia==1.4.0
Requires-Dist: wrapt==1.17.0
Requires-Dist: yarl==1.18.3
Requires-Dist: zipp==3.21.0
Requires-Dist: zstandard==0.23.0


<div align="center">
  <h1>IAToolkit</h1>
  <p><strong>The Open-Source Framework for Building AI Chatbots on Your Private Data.</strong></p>
</div>

IAToolkit is a comprehensive, open-source framework designed for building enterprise-grade 
AI chatbots and conversational applications. 
With IAToolkit, you can build production-ready, context-aware chatbots and agents that 
can query relational databases, perform semantic searches on documents, 
and connect to your internal APIs in minutes.

IAToolkit bridges the gap between powerful LLMs and your company's data. 


## 🚀 Key Features

*   **🔗 Unified Data Connection**:
    *   **Natural Language to SQL**: Let your chatbot query relational databases (PostgreSQL, MySQL, SQLite) using everyday language.
    *   **Semantic Document Search**: Automatically chunk, embed, and search across your private documents (PDFs, Word, etc.) to provide contextually accurate answers.

*   **🏢 Enterprise-Ready Multi-Tenancy**:
    *   Deploy isolated "Company" modules, each with its own data, tools, and context. Perfect for SaaS products or internal departmental agents.

*   **🧠 LLM Agnostic**:
    *   Switch between **OpenAI (GPT-*)** and **Google (Gemini-*)** with a single line change in your configuration. No code refactoring needed.

*   **🛠️ Developer-First Experience**:
    *   Built with a clean, **Dependency Injection** architecture.
    *   High-quality code base with **90%+ test coverage**.
    *   Powerful Flask-based **CLI** for database setup, API key generation, and more.

*   **🔒 Security & Observability Built-In**:
    *   Comes with JWT-based authentication, user management, and secure session handling out of the box.
    *   Full traceability with detailed logging of all queries, function calls, token usage, and costs.

## ⚡ Quick Start: Create a Custom Tool in 30 Seconds

See how easy it is to give your AI a new skill. Just define a method inside your Company class and describe it. 
IAToolkit handles the rest.

## 🤝 Contributing

We welcome contributions! Whether it's adding a new feature, improving documentation, or fixing a bug, 
please feel free to open a pull request.

## 📄 License

IAToolkit is open-source and licensed under the [MIT License](LICENSE).
